PowerShell

The PowerShell forum accepts bug reports as well as feedback and suggestions. For more information, check out the PowerShell Homepage

The following is a list of the states we use to track items.

status meaning
survey We saw this and we are considering it. Please upvote if it’s important to you.
needs more information We don’t understand the issue and need additional details.
investigating We are looking at this internally to understand things like: scenario, reproduction of issue, costing, or other technical details.
in queue The issue is understood and in our unprioritized backlog. Your votes will be used to drive prioritization of this work.

Please feel free to provide feedback or file bugs here.

(thinking…)

Enter your idea and we'll search to see if someone has already suggested it.

If a similar idea already exists, you can support and comment on it.

If it doesn't exist, you can post your idea so others can support it.

Enter your idea and we'll search to see if someone has already suggested it.

  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. update-help : Failed to update Help for the module(s) 'Provisioning'

    I receive the following error when running Update-Help in PowerShell.

    PS C:\WINDOWS\System32\WindowsPowerShell\v1.0\Modules\Provisioning> update-help
    update-help : Failed to update Help for the module(s) 'Provisioning' with UI culture(s) {en-US} : Unable to retrieve
    the HelpInfo XML file for UI culture en-US. Make sure the HelpInfoUri property in the module manifest is valid or
    check your network connection and then try the command again.
    At line:1 char:1
    + update-help -force
    + ~~~~~~~~~~~~~~~~~~
    + CategoryInfo : ResourceUnavailable: (:) [Update-Help], Exception
    + FullyQualifiedErrorId : UnableToRetrieveHelpInfoXml,Microsoft.PowerShell.Commands.UpdateHelpCommand

    PowerShell info:
    PS C:\> $PSVersionTable.PSVersion

    Major Minor Build Revision
    ----- ----- ----- --------
    5 1 15063 138

    26 votes
    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)

      We’ll send you updates on this idea

      8 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
    • Double DependsOn in mof when using foreach loops

      When using a foreach loop to create a set of resources and trying to set the previous item key as the dependsOn resource, it adds it twice in the mof file.

      Configuration example:
      configuration Test-DependsOnWithLoop {
      param([string[]]$Directories)
      Import-DscResource -ModuleName PSDesiredStateConfiguration
      node localhost {
      $dependsOn = $null
      $dirs.ForEach({
      $res = $_ -replace '\\|:', '_'
      File $res {
      Ensure = 'Present'
      DestinationPath = $_
      DependsOn = $dependsOn
      Type = 'Directory'
      }
      $dependsOn = "[File]$res"
      })
      }
      }

      $dirs = 1..10 | % { "C:\Temp\_$_" }
      Test-DependsOnWithLoop -Directories $dirs

      And if you look at the localhost.mof you'll see:
      DependsOn = { "[File]C__Temp__1", "[File]C__Temp__1"};

      2 votes
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        I agree to the terms of service
        Signed in as (Sign out)

        We’ll send you updates on this idea

        In Queue  ·  0 comments  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
      • BUG: GetMetaConfiguration should validate property values against allowed values of MSFT_DSCMetaConfiguration CIM Properties

        Once a node meta configuration is enacted, it is easy for an administrator or process (with malicious intent) to modify the MetaConfig.mof file in C:\Windows\System32\Configuration directory. The GetMetaConfiguration method in MSFT_DscMetaConfiguration class does not validate the property values against the allowed values of the CIM properties.

        Steps to reproduce this behavior:
        - Enact a simple meta configuration and enact it.
        - Open the MetaConfig.MOF file in your favorite editor and change the value of ConfigurationMode to some random text.
        - Save the file and close it.
        - Run Get-DscLocalConfigurationManager.
        - You will see the random value assigned to ConfigurationMode in…

        1 vote
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          Password icon
          I agree to the terms of service
          Signed in as (Sign out)

          We’ll send you updates on this idea

          1 comment  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
          In Queue  ·  Mark Gray responded

          Ravikanth,

          We have validated this issue and created two bugs for it.

          1. We will validate the MOF when it is passed in as part of our API (i.e. Set-DscLocalConfigurationManager) and error if the values are not valid.
          2. We will write a warning when Get-DscLocalConfigurationManager reads a MOF that has invalid values and at LCM startup. The resultant behavior will behave like it does today where invalid values will be read as the default value by the LCM.

          Please let us know if this meets your expectations.

          Regards,

          MarkG

        • Powershell on Raspberry pi

          add Powershell support for Raspberry Pi devices running Raspbian OS

          13 votes
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            I agree to the terms of service
            Signed in as (Sign out)

            We’ll send you updates on this idea

            2 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
          • Error in topic about_Pipelines under INVESTIGATING PIPELINE ERRORS

            The example command given under "INVESTIGATING PIPELINE ERRORS" in the about_Pipelines help topic is incorrrect. the example situation is moving a registry entry from one key to another, in the example it's trying to move the entry "product" from the hklm:\software\mycompany\design registry key to the hklm:\software\mycompany\sales key. The second ("fixed") command at the end:

            get-item -path hklm:\software\mycompany\design |
            move-itemproperty -dest hklm:\software\mycompany\design -name product

            should be:

            get-item -path hklm:\software\mycompany\design |
            move-itemproperty -dest hklm:\software\mycompany\sales -name product

            I also think the source and destination seem switched or misplaced throughout that section of the topic, unrelated to the example error given for the purpose…

            1 vote
            Sign in
            Check!
            (thinking…)
            Reset
            or sign in with
            • facebook
            • google
              Password icon
              I agree to the terms of service
              Signed in as (Sign out)

              We’ll send you updates on this idea

              0 comments  ·  Documentation  ·  Flag idea as inappropriate…  ·  Admin →
            • BUG: Get-Help Get-Service

              In the help file it states that wildcards are not permitted. But it accepts a value with a wildcard on the heads or tails and it also accepts just a wildcard with no other characters.

              -Name <String[]>
              Specifies the service names of services to be retrieved. Wildcards are permitted. By default, this cmdlet gets all of the services on the computer.

              Required? false
              Position? 0
              Default value None
              Accept pipeline input? True (ByPropertyName, ByValue)
              Accept wildcard characters? false

              3 votes
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                I agree to the terms of service
                Signed in as (Sign out)

                We’ll send you updates on this idea

                4 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
              • The description attached to the parameters -Delimiter -Encoding -Raw -Stream -Wait (This parameter is not supported by any providers that ar

                This comment pertains to the help entry for Get-Content (https://msdn.microsoft.com/en-us/powershell/reference/5.0/microsoft.powershell.management/get-content) I Tried to enter the feedback into the actual page but my browser reloaded the page and lost the floating feedback link. Perhaps it was already submitted.

                The description attached to the parameters
                -Delimiter
                -Encoding
                -Raw
                -Stream
                -Wait
                (This parameter is not supported by any providers that are installed with Windows Powershell.)
                is both incorrect and useless.

                It is incorrect because the parameters are supported by the FileSystem provider (at least).

                It is useless because it gives no information about the reason for the existence of the parameter.…

                1 vote
                Sign in
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  Password icon
                  I agree to the terms of service
                  Signed in as (Sign out)

                  We’ll send you updates on this idea

                  0 comments  ·  Documentation  ·  Flag idea as inappropriate…  ·  Admin →
                • Get-Service throws wrong exception if remote host is offline

                  Get-Service returns exception as "Cannot find any service with service name" even if we give an offline/not existing host as argument for -ComputerName parameter

                  4 votes
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    I agree to the terms of service
                    Signed in as (Sign out)

                    We’ll send you updates on this idea

                    1 comment  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
                  • ActiveDirectory PSDrive problem with PSReadline in Windows 10

                    I am experiencing an issue with Windows 10 and the PSReadline module. Apparently when the PSReadline module is in memory, the default behavior for tab completion is to append a trailing backslash to the relative path. This is not too much of a problem with the file provider and the registry providers but it appears to wreak havoc on the Active Directory PS Provider.

                    This may be reproduced by navigating to the AD: drive and they trying to use tab completion for the Set-Location or Get-ChildItem cmdlets. You will receive the error Cannot find path because it does not exist.

                    2 votes
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      I agree to the terms of service
                      Signed in as (Sign out)

                      We’ll send you updates on this idea

                      0 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →

                      Hi Robert,

                      Thanks for the report! I went ahead and opened an issue in the PSReadline GitHub repo to track this: https://github.com/lzybkr/PSReadLine/issues/473

                      I propose that it might be worth it to simply special case PSReadline to not append a trailing backslash while in the AD provider, but I think you should probably also file something on the AD team’s UserVoice to support trailing backslashes (though this work might be more difficult): https://windowsserver.uservoice.com/forums/304621-active-directory

                      Thanks,
                      Joey

                    • Format-* incorrectly format warning objects

                      # Given this:

                      <#PS#> $a = Write-Warning test 3>&1

                      # PowerShell will incorrectly prepend "WARNING: " to:

                      <#PS#> $a | ft * -f

                      WriteWarningStream FullyQualifiedWarningId Message InvocationInfo PipelineIterationInfo
                      ------------------ ----------------------- ------- -------------- ---------------------
                      WARNING: True test System.Management.Automation.InvocationInfo {0, 0, 0}

                      <#PS#> $a | fl * -f

                      WARNING: WriteWarningStream : True
                      WARNING: FullyQualifiedWarningId :
                      WARNING: Message : test
                      WARNING: InvocationInfo : System.Management.Automation.InvocationInfo
                      WARNING: PipelineIterationInfo : {0, 0, 0}
                      WARNING:

                      1 vote
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        I agree to the terms of service
                        Signed in as (Sign out)

                        We’ll send you updates on this idea

                        0 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
                      • Out-DataTable

                        Creates a DataTable based on an objects properties. Useful for converting any Powershell object into a DataTable which then can be bulk imported into a SQL Server table.

                        .EXAMPLE
                        $dt = Get-PSDrive | Out-DataTable
                        This example creates a DataTable from the properties of Get-Alias and assigns output to $dt variable

                        This idea comes from Chad Miller's Out-DataTable: https://gallery.technet.microsoft.com/scriptcenter/4208a159-a52e-4b99-83d4-8048468d29dd#content

                        183 votes
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          Password icon
                          I agree to the terms of service
                          Signed in as (Sign out)

                          We’ll send you updates on this idea

                          19 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →

                          After much discussion with Aaron Nelson and Chrissy LeMaire, and thanks to the enormous amount of support for this item, we’ve recognized that this is something we need to accomplish, one way or another.

                          We don’t want to offer an ETA on this as the work is not well understood by our team yet, and no one currently has immediate bandwidth on starting that investigation. But I want to stress the fact that is an important ask that we’re taking seriously as a priority.

                          In the meantime, it would be immensely useful if someone with expertise in the DataTable space could submit an RFC (basically a brief spec) to our PowerShell-RFC repository on GitHub. That way, we can have a discussion about what the design of a ConvertTo-DataTable cmdlet might look like before we dive in on an implementation. The process for doing so is located here: https://github.com/PowerShell/PowerShell-RFC/blob/master/RFC0000-RFC-Process.md#draft

                          I…

                        • JEA is difficult for delegates to use without tab completion

                          By default tab completion is disabled in JEA endpoints- and there is no guidance on how (or if) it can be enabled safely.
                          Without tab completion it is
                          1. Harder to discover available commands (no Get-<tab>)
                          2. Harder to execute available commands with correct parameter name spelling etc.
                          3. Harder to populate correct values (e.g., no help with ValidateSet scenarios)
                          This all works against the applicability of JEA for delegation scenarios where a less expert sub-admin has to blindly type out a potentially complex and unfamiliar command.
                          Please make some basic level of tab completion work by default, and please…

                          4 votes
                          Sign in
                          Check!
                          (thinking…)
                          Reset
                          or sign in with
                          • facebook
                          • google
                            Password icon
                            I agree to the terms of service
                            Signed in as (Sign out)

                            We’ll send you updates on this idea

                            In Queue  ·  4 comments  ·  WinRM  ·  Flag idea as inappropriate…  ·  Admin →
                          • Documentation Bug: Wrong Language + Wrong Locale + Wrong HelpInfoUri

                            Documentation Bug: Wrong Language + Wrong Country + Wrong HelpInfoUri

                            "Update-Help -Verbose -Force" gives:
                            =============================
                            Update-Help : Failed to update Help for the module(s)
                            'Microsoft.PowerShell.Operation.Validation' with UI culture(s) {en-US} : The value of the
                            HelpInfoUri key in the module manifest must resolve to a container or root URL on a website
                            where the help files are stored. The HelpInfoUri 'https://www.msn.com/de-de/?ocid=NEFLS000';
                            does not resolve to a container.
                            At line:1 char:1
                            + Update-Help -Verbose -Force
                            + ~~~~~~~~~~~~~~~~~~~~~~~~~~~
                            + CategoryInfo : InvalidOperation: (:) [Update-Help], Exception
                            + FullyQualifiedErrorId : InvalidHelpInfoUri,Microsoft.PowerShell.Commands.UpdateHelpCommand
                            ============================================

                            But this is the current configuration:

                            PS C:\WINDOWS\system32> $PSCulture
                            en-US
                            PS…

                            2 votes
                            Sign in
                            Check!
                            (thinking…)
                            Reset
                            or sign in with
                            • facebook
                            • google
                              Password icon
                              I agree to the terms of service
                              Signed in as (Sign out)

                              We’ll send you updates on this idea

                              1 comment  ·  Documentation  ·  Flag idea as inappropriate…  ·  Admin →
                            • Ensure Windows Management Framework can be upgraded from built-in version without multiple upgrades

                              Currently, when installing WMF5 on Windows 7, there is a pre-req of installing WMF4 first.

                              Please ensure that all supported operating systems can install the latest version of Windows Management Framework without having to do incremental upgrades. This will significantly reduce the complexity of deployment in production environments and during operating system deployment.

                              Thanks!

                              4 votes
                              Sign in
                              Check!
                              (thinking…)
                              Reset
                              or sign in with
                              • facebook
                              • google
                                Password icon
                                I agree to the terms of service
                                Signed in as (Sign out)

                                We’ll send you updates on this idea

                                0 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
                              • #Requires -Module error is confusing when version fails

                                When a #Requires -Module version requirement (ModuleVersion, MaximumVersion, RequiredVersion) is not satisfied, the error message says that the module isn't found, not that the *version* of the module isn't found.

                                This is potentially very confusing.

                                & : The script 'Module.Help.Tests.ps1' cannot be run because the following modules that are specified by the "#requires" statements of the script are missing: Pester.
                                At C:\ps-test\Test-PesterScriptParameter.ps1:18 char:3
                                + & $TestPath -ModuleName PSScriptAnalyzer
                                + ~~~~~~~~~
                                + CategoryInfo : ResourceUnavailable: (Module.Help.Tests.ps1:String) [], ScriptRequiresException
                                + FullyQualifiedErrorId : ScriptRequiresMissingModules

                                14 votes
                                Sign in
                                Check!
                                (thinking…)
                                Reset
                                or sign in with
                                • facebook
                                • google
                                  Password icon
                                  I agree to the terms of service
                                  Signed in as (Sign out)

                                  We’ll send you updates on this idea

                                  1 comment  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
                                • Drag and Drop to upload files to PowerShell ScriptAnalyzer Preview service portal

                                  Drag and drop to upload a zip file with all the powershell scripts (Eg. *.ps1, *.psd1 and *.psm1 files) just like OneDrive uploading of files.

                                  It will be great if it is possible to drag and drop all the powershell scripts (Eg. *.ps1, *.psd1 and *.psm1 files) without compressing it to a zip file. The upload will automatically detect multiple PowerShell scripts uploaded and either smart enough to know all the uploaded multiple files are considered as one functional module or zip it up at the server end for processing it as it is functioning now.

                                  1 vote
                                  Sign in
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    Password icon
                                    I agree to the terms of service
                                    Signed in as (Sign out)

                                    We’ll send you updates on this idea

                                    In Queue  ·  1 comment  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
                                  • $url = 'http://www.bloomberg.com/professional/downloads/'

                                    I believe I have a bug with Invoke-Webrequest.

                                    $url = 'http://www.bloomberg.com/professional/downloads/';

                                    Invoke-WebRequest -UseBasicParsing -Uri $url "

                                    Or

                                    Invoke-WebRequest $url "

                                    Using invoke-webREquest on that URL Hangs /restarts ISE for me.

                                    I am using powershell 4.0 on windows 7 Sp1 64 bit.

                                    Name : Windows PowerShell ISE Host
                                    Version : 4.0

                                    8 votes
                                    Sign in
                                    Check!
                                    (thinking…)
                                    Reset
                                    or sign in with
                                    • facebook
                                    • google
                                      Password icon
                                      I agree to the terms of service
                                      Signed in as (Sign out)

                                      We’ll send you updates on this idea

                                      3 comments  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
                                    • Improve UX for module / script listing status

                                      Right now, the UX for enabling / disabling the listing status for PowerShell modules and scripts is a bit challenging, if you have many versions. Could we improve upon this somehow, to enable batch enable / disable of module / script versions?

                                      3 votes
                                      Sign in
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        Password icon
                                        I agree to the terms of service
                                        Signed in as (Sign out)

                                        We’ll send you updates on this idea

                                        0 comments  ·  PowerShell Gallery  ·  Flag idea as inappropriate…  ·  Admin →
                                      • Get-Service should return the user account the services are running under

                                        The Get-Service cmdlet should return the service account associated to each service.

                                        We can get this information easily from the Win32_Service WMI class, but to me, it should be returned by Get-Service.

                                        Checked with PS v5 without luck...

                                        Thanks!

                                        153 votes
                                        Sign in
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          Password icon
                                          I agree to the terms of service
                                          Signed in as (Sign out)

                                          We’ll send you updates on this idea

                                          7 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Get-Service Name parameter allows Null value

                                          Get-Service -Name $Null returns all services. Expected behavior would be for Name to have ValidateNotNullOrEmpty attribute assigned.

                                          4 votes
                                          Sign in
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            Password icon
                                            I agree to the terms of service
                                            Signed in as (Sign out)

                                            We’ll send you updates on this idea

                                            3 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
                                          ← Previous 1
                                          • Don't see your idea?

                                          Feedback and Knowledge Base