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. ">" or "out-file" changes the file encoding to an unusual one ("unicode")

    Using the ">" operator or the "out-file" command changes the file encoding from ansi to unicode. No other cmdlet seems to do that. And this is only true in Powershell 5, not 6.

    1 vote
    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      Signed in as (Sign out)

      We’ll send you updates on this idea

      0 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
    • Module Cmdlets missing after Import-Module

      I have started experiencing an issue on multiple machines where modules that once worked fine now stop functioning correctly.

      The issue appears to affect Windows 10 machines that have been in service for some time, but does not affect new Windows 10 installs. This leads me to believe that something like a windows update broke the correct functioning of the module import functionality on these machines at some point in the past.

      The modules in question have been SQLPS (installed with SSMS), SqlServer (from PSGallery), and AWSPowerShell (also from PSGallery). The issue is that after installing the module and importing…

      1 vote
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        Signed in as (Sign out)

        We’ll send you updates on this idea

        1 comment  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
      • Bug: wrongly displayed elements in an array with different types

        This issue is easy to reproduce, just simplely put 2 objects of different types in an array variable, output the variable, and then change the 2 elements' order in the array, output the array variable again, you'll see the difference:
        > only the 1st element will be displayed in its correct format; the subsequent elements are displayed in the full output format.

        More details please refer to the gitlab issue:
        https://github.com/PowerShell/PowerShell/issues/7839#issuecomment-424193334

        1 vote
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          Password icon
          Signed in as (Sign out)

          We’ll send you updates on this idea

          0 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
        • Get-WSManCredssp should return an object

          Microsoft.WSMan.Management\Get-WSManCredssp currently returns a string describing the WSMan state instead of an object with properties that can be used programmatically. Perhaps something like:

          ClientEnabled: $true
          ServerEnabled: $false
          DelegateComputer: [ "wsman/*.contoso.com" ]

          1 vote
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            Signed in as (Sign out)

            We’ll send you updates on this idea

            0 comments  ·  WinRM  ·  Flag idea as inappropriate…  ·  Admin →
          • Enable-ClusterStorageSpacesDirect Needs a -FORCE parameter for consistency

            The Enable-ClusterStorageSpacesDirect cmdlet does not have a -FORCE parameter.

            When you run the cmdlet, you get a pop-up confirmation prompt. To avoid this, the cmdlet should have a -FORCE parameter.

            It's true you can use -CONFIRM:$FALSE - but that is inconsistent with other cmdlets throughout PowerShell.

            For consistency add a -FORCE parameter to this cmdlet that avoids the popup confirmation. OF course, for compatibility, keep the $Confirm:$False.

            2 votes
            Sign in
            Check!
            (thinking…)
            Reset
            or sign in with
            • facebook
            • google
              Password icon
              Signed in as (Sign out)

              We’ll send you updates on this idea

              0 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
            • ¿Pienso?

              Creo, que si los Hispano-Hablantes, pudiesen tener acceso a los comentarios e ideas que la gente detendrían mas de 1000.000.000, si en números, Por favor empecemos por respetar a todos, no solo los Anglo-Sajones, y la gente de sus colonias (coman GUEL ) lo pongo en Español, por dignidad, Creo (estoy, seguro) que pagan lo mismo.

              2 votes
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                Signed in as (Sign out)

                We’ll send you updates on this idea

                1 comment  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
              • Please use your own Naming Conventions for PmemDisk.ps1xml / PmemPhysicalDevice.ps1xml

                M$$ will probably ignore this issue, too:

                All 110 format ps1xml Files use the Naming Convention:
                <Type>.Format.ps1xml

                Once more, it's a shame that the Naming Convention is not validated before a M$$ Product is deployed, those files would fail:

                PmemDisk.ps1xml
                PmemPhysicalDevice.ps1xml

                Such bugs are annoying - and could *very* easily be prevented. If you need help with the basics, please ask.

                1 vote
                Sign in
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  Password icon
                  Signed in as (Sign out)

                  We’ll send you updates on this idea

                  0 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
                • M$ Shame #1427: Invalid XML File: MSFT_NetEventWFPCaptureProvider.format.ps1xml

                  Yes, this will be the ignored issue #1427:

                  This XML File does not pass any XML Validation:
                  c:\Windows\System32\WindowsPowerShell\v1.0\Modules\NetEventPacketCapture\MSFT_NetEventWFPCaptureProvider.format.ps1xml

                  M$$ is really not able to integrate the most basic function tests before Files are distributed to many millions of paying customers?

                  This is really one more issue which must never happen at M$$.
                  A scripting kiddy could make this kind of errors - but usually, they smart enough...

                  1 vote
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    Signed in as (Sign out)

                    We’ll send you updates on this idea

                    0 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
                  • Bug: wrong encoding in some *.format.ps1xml files

                    It's probably useless and a shame that M$$ is usually not fixing this kind of bugs:

                    Some PowerShell xml Files have the wrong encoding, for example this one:
                    c:\Windows\System32\WindowsPowerShell\v1.0\Event.Format.ps1xml

                    It states that it is using:
                    <?xml version="1.0" encoding="utf-8" ?>
                    but in fact, it's utf-16.

                    Test it:
                    $xmldoc = New-Object xml.XmlDocument
                    $xmldoc.Load('c:\Windows\System32\WindowsPowerShell\v1.0\Event.Format.ps1xml')
                    Exception calling "Load" with "1" argument(s): "'.', hexadecimal value 0x00, is an invalid character. Line 2, position 1."

                    Change the header to:
                    <?xml version="1.0" encoding="utf-16" ?>
                    and it will work.

                    M$ still does not have the most basic unit tests to assure that config files must have the right…

                    1 vote
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      Signed in as (Sign out)

                      We’ll send you updates on this idea

                      0 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
                    • Bug: wrong encoding in some *.format.ps1xml files

                      It's probably useless and a shame that M$$ is usually not fixing this kind of bugs:

                      Some PowerShell xml Files have the wrong encoding, for example this one:
                      c:\Windows\System32\WindowsPowerShell\v1.0\Event.Format.ps1xml

                      It states that it is using:
                      <?xml version="1.0" encoding="utf-8" ?>
                      but in fact, it's utf-16.

                      Test it:
                      $xmldoc = New-Object xml.XmlDocument
                      $xmldoc.Load('c:\Windows\System32\WindowsPowerShell\v1.0\Event.Format.ps1xml')
                      Exception calling "Load" with "1" argument(s): "'.', hexadecimal value 0x00, is an invalid character. Line 2, position 1."

                      Change the header to:
                      <?xml version="1.0" encoding="utf-16" ?>
                      and it will work.

                      M$ still does not have the most basic unit tests to assure that config files must have the right…

                      1 vote
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        Signed in as (Sign out)

                        We’ll send you updates on this idea

                        0 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
                      • BUG: Get-DnsServer* cmdlets with -ErrorAction SilentlyContinue mask pipeline exceptions

                        PS > Get-DnsServerZone -ComputerName proper_dns_server -ZoneName existing_dns_zone -ErrorAction SilentlyContinue| % { throw "OOPS!" }

                        # NO ERROR !

                        PS > Get-DnsServerZone -ComputerName proper_dns_server -ZoneName existing_dns_zone | % { throw "OOPS!" }
                        Exception calling "EndProcessing" with "0" argument(s): "OOPS!"
                        At line:354 char:17
                        + $__cmdletization_objectModelWrapper.EndProcessing()
                        + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                        + CategoryInfo : NotSpecified: (:) [], ParentContainsErrorRecordException
                        + FullyQualifiedErrorId : RuntimeException

                        PS >Get-Item . -ErrorAction SilentlyContinue | % { throw "OOPS" }
                        Get-Item : OOPS
                        At line:1 char:1
                        + Get-Item . -ErrorAction SilentlyContinue | % { throw "OOPS" }
                        + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                        + CategoryInfo : OperationStopped: (OOPS:String) [Get-Item], RuntimeException
                        + FullyQualifiedErrorId : OOPS,Microsoft.PowerShell.Commands.GetItemCommand

                        # As expected

                        1 vote
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          Password icon
                          Signed in as (Sign out)

                          We’ll send you updates on this idea

                          0 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
                        • Import-Certificate need example to import into local machine.

                          Import-Certificate need example to import into local machine.

                          1 vote
                          Sign in
                          Check!
                          (thinking…)
                          Reset
                          or sign in with
                          • facebook
                          • google
                            Password icon
                            Signed in as (Sign out)

                            We’ll send you updates on this idea

                            0 comments  ·  Documentation  ·  Flag idea as inappropriate…  ·  Admin →
                          • Windows PowerShell (or pwsh) on Microsoft Store for Windows 10 in S Mode?

                            Would it be possible to get PowerShell into the Microsoft Store for Windows 10 in S Mode, in some sort of container that would allow for connections to exchange online powershell, and other tasks?

                            3 votes
                            Sign in
                            Check!
                            (thinking…)
                            Reset
                            or sign in with
                            • facebook
                            • google
                              Password icon
                              Signed in as (Sign out)

                              We’ll send you updates on this idea

                              0 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
                            • Get-Item / Get-ChildItem returns wrong Target-Property if Item is on a Directory Junction to another drive

                              It's annoying that we have to report Bugs in UserVoices
                              and its a shame that M$$ is fixing BUGS only if there are enough UserVoices.

                              Anyway:

                              Hello

                              If we create this Directory Junction between local Drives:
                              mklink /J C:\Temp D:\Data\Temp\

                              So that accessing: C:\Temp\
                              in fact works here: D:\Data\Temp

                              Now, if we call e.g.
                              (Get-Item C:\Temp\MyFile.txt).Target

                              We get:

                              Wrong: Target : {C:\Data\Temp\MyFile.txt}
                              Should be: Target : {D:\Data\Temp\MyFile.txt}
                              It's a shame that M$ still does not have Unit Tests to validate the most basic situations.
                              (Assuring to return the right Target on different LinkTypes, is the most important reason for this…

                              1 vote
                              Sign in
                              Check!
                              (thinking…)
                              Reset
                              or sign in with
                              • facebook
                              • google
                                Password icon
                                Signed in as (Sign out)

                                We’ll send you updates on this idea

                                0 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
                              • Get-Item / Get-ChildItem returns wrong Target-Property if Item is on a Directory Junction to another drive

                                It's annoying that we have to report Bugs in UserVoices
                                and its a shame that M$$ is fixing BUGS only if there are enough UserVoices.

                                Anyway:

                                Hello

                                If we create this Directory Junction between local Drives:
                                mklink /J C:\Temp D:\Data\Temp\

                                So that accessing: C:\Temp\
                                in fact works here: D:\Data\Temp

                                Now, if we call e.g.
                                (Get-Item C:\Temp\MyFile.txt).Target

                                We get:

                                Wrong: Target : {C:\Data\Temp\MyFile.txt}
                                Should be: Target : {D:\Data\Temp\MyFile.txt}
                                It's a shame that M$ still does not have Unit Tests to validate the most basic situations.
                                (Assuring to return the right Target on different LinkTypes, is the most important reason for this…

                                1 vote
                                Sign in
                                Check!
                                (thinking…)
                                Reset
                                or sign in with
                                • facebook
                                • google
                                  Password icon
                                  Signed in as (Sign out)

                                  We’ll send you updates on this idea

                                  0 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
                                • 1 vote
                                  Sign in
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    Password icon
                                    Signed in as (Sign out)

                                    We’ll send you updates on this idea

                                    1 comment  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
                                  • Fix Get-InsightsCapabilityResult -Name Parameter to accept wild cards

                                    The Get-InsightsCapabiloityResult cmdlet is part of the SystemInsights module in Server 2019.

                                    This cmdlet takes a Name parameter. This parameter specifies which capability results to return. It would be helpful if this parameter accepted a wildcard (* or *cpu*) to return some but possibly not all results.

                                    This would improve the ease of use of this cmdlet in production.

                                    1 vote
                                    Sign in
                                    Check!
                                    (thinking…)
                                    Reset
                                    or sign in with
                                    • facebook
                                    • google
                                      Password icon
                                      Signed in as (Sign out)

                                      We’ll send you updates on this idea

                                      0 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
                                    • Support line-wrapping in the ISE console pane

                                      It would be great if lines would automatically wrap in the console pane of the Integrated Scripting Environment (ISE), just like they do in the Powershell console.

                                      Currently, if the PowerShell ISE console pane is not wide enough, one has to scroll horizontally to see the beginning of the currently edited line.

                                      One workaround is to use the backtick (`) character to split the command in multiple lines but this is not very practical.

                                      Here are some examples of other people wanting to do this:
                                      [2015] https://superuser.com/questions/871178/line-wrapping-in-powershell-ise-console
                                      [2015] https://stackoverflow.com/questions/30710740/powershell-ise-console-window-command-line-word-wrap

                                      1 vote
                                      Sign in
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        Password icon
                                        Signed in as (Sign out)

                                        We’ll send you updates on this idea

                                        0 comments  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
                                      • Allow trailing commas

                                        Trailing commas in lists are incredibly useful in a large number of instances, and there are very few good reasons and no really strong reasons not to.

                                        Not allowing trailing commas is inconvenient in many situations: it frequently turns a one-line commit into two, polluting history (all I did was remove a comma from that line); it can complicate (and often put bugs in) code-generation ("$str += $value + "," doesn't cut it)

                                        1 vote
                                        Sign in
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          Password icon
                                          Signed in as (Sign out)

                                          We’ll send you updates on this idea

                                          0 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Issue with running commands on remote machine

                                          Hi Team,

                                          I am using powershell to trigger commands on remote machine (as this doesn't require anything additional package to install). Recently I am facing issues with running commands on remote machine.

                                          $ComputerName = "***.***.***.***"

                                          Function ExecuteCommand() {
                                          Get-PSDrive
                                          }

                                          Set-Item WSMan:\localhost\Client\Trustedhosts -Value $ComputerName -Concatenate -Force

                                          $Credentials = Import-Clixml $CredentialsFile

                                          Invoke-Command -ComputerName $ComputerName -Credential $Credentials -ScriptBlock ${function:ExecuteCommand} -HideComputerName

                                          I am storing the credentials in the file and using the above script to run commands on remote machine.

                                          1. Get-PSDrive doesn't return mapped network drive details.
                                          2. using net use command to map network path. Network path gets mapped successfully but…

                                          1 vote
                                          Sign in
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            Password icon
                                            Signed in as (Sign out)

                                            We’ll send you updates on this idea

                                            0 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
                                          • Don't see your idea?

                                          Feedback and Knowledge Base