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. Problem with external commands when current location is invalid

    If your current location is on a UNC path or network drive that is no longer accessible, and you run an external command, the command is run with the current directory set to c:\windows\system32 or sometimes c:\windows. If the external command is destructive, e.g., robocopy with the /move option, this can make your system unbootable.

    Powershell should behave the same way as cmd.exe, i.e, refuse to run an external command if the current location is no longer valid.

    (PS: the problem does not always occur the first time you run a command after the current location becomes invalid. I believe…

    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  ·  Other PowerShell  ·  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

        0 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
      • Code analysis inside of a try block in a class thinks a variable isn't assigned when it is.

        Import-Module says that $variable2 is not assigned, but there is no way to reach its usage in the Write-Host without the variable having a value.

        Class MyClass {
        DoThing() {
        $variable1 = "var1"
        try {
        $variable2 = "var2"
        } finally {
        Write-Host "Tidying"
        }

        Write-Host $variable1
        Write-Host $variable2
        }
        }

        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 →
        • The VSTS Deploy task Azure PowerShell and Build task - PowerShell are not able to handle secret variables and Azure key vault variables corr

          1.Issue:
          The VSTS Deploy task Azure PowerShell and Build task - PowerShell are not able to handle secret variables and Azure key vault variables correctly while writing their values to console using write-host. This is causing the values of secret variables to the exposed in log files.

          2.Steps to reproduce

          a. Sample script:

          param(
          [Parameter(Mandatory=$true)]
          [string]$Secretvariablewithspecialcharacter,
          [Parameter(Mandatory=$true)]
          [string]$normalVariablewithspecialcharacter,
          [Parameter(Mandatory=$true)]
          [string]$Secretvariablewithnospecialcharacter
          )
          Write-Host "Printing parameters:"
          Write-Host "Secretvariablewithspecialcharacter: $Secretvariablewithspecialcharacter"
          Write-Host "normalVariablewithspecialcharacter: $normalVariablewithspecialcharacter"
          Write-Host "Secretvariablewithnospecialcharacter: $Secretvariablewithnospecialcharacter"

          $notspecialcharacter="1234abcd";
          $specialcharacter ="1234§-¤%#&/=abcd"

          Write-Host "notspecialcharacter: $notspecialcharacter"
          Write-Host "specialcharacter: $specialcharacter"

          if ($Secretvariablewithspecialcharacter -eq $specialcharacter)
          {
          Write-Host "Secretvariablewithspecialcharacter $Secretvariablewithspecialcharacter and $specialcharacter specialcharacter match"
          }

          else
          {
          Write-Host "Secretvariablewithspecialcharacter '$Secretvariablewithspecialcharacter'…

          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 →
          • Start-Process EncodedCommand (RedirectStandardError) v5.1

            The following script demonstrates an issue I'm experiencing after moving from PowerShell v4 to v5.1. I make extensive use of Start-Process redirecting StandardError to a file, if this file contains data after execution I can read the file to see what the issue was.

            However, with v5.1 when the launched PowerShell process starts, it makes use of progress output which is on the error stream, so this is redirected to the error file.

            In previous versions of PowerShell this did not happen.

            The output to the script below is as follows:

            Powershell v4
            ------------------
            WARNING: Standard Error
            WARNING: Standard Out …

            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 →
            • Register-ScheduledTask

              Register-ScheduledTask -password parameter should accept secure string or PScredential. Currently it accept plain text and the password shows up in event log when register

              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  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
              • Timing Invoke-WebRequest Is Slower in Console than ISE

                We are running a home-grown internet speedtest using a PowerShell script. When running the script in ISE on fast network connections (100mbps+), the Invoke-WebRequest commands run fast enough to reflect 100mbps. However, when the script is run through console, the Invoke-WebRequest is restricted and reports speeds of only 25mbps. How can the console be configured to run with the same resources as ISE?

                FYI, this is not an issue for slower networks. Only fast networks seem to expose the console bottleneck.

                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  ·  PowerShell Engine  ·  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

                    0 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
                  • The task "Windows Defender Verification" is producing a restore point every day.

                    The task "Windows Defender Verification" is producing a restore point every day. There should be an additional parameter in "Set-MpPreference" to handle that issue.

                    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 →
                    • Help not updating for Whea module shipped with Windows Server 2016

                      When running Update-Help on Windows Server 2016, failure occurs against the Whea module.

                      Not sure if this is the correct UserVoice to lodge this against, sorry if it's not!

                      PS C:\Windows\system32> update-help -force
                      update-help : Failed to update Help for the module(s) 'Whea' 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

                      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  ·  Documentation  ·  Flag idea as inappropriate…  ·  Admin →
                      • why isn't there a simple command to get the number of open connections to a specific share?

                        get-smbsession lists open share sessions and get-smbshare lists shares but where is the command to get the list who is connected to which share?

                        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 →
                        • cmdlets for Overriding Language not working in buid 1709/1803

                          cmdlets for Overriding Language not working in buid 1709/1803
                          Set-WinDefaultInputMethodOverride -InputTip ***-XXXXXX
                          Set-WinUILanguageOverride -Language XXXXXX

                          Does not change settings and generate no error message in PS

                          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  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
                          • DSC File resource Encoding Property

                            The file resource really needs an encoding property.

                            Need to have some control over this as it makes the resource unusable in a lot of situations, which is a shame.

                            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  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
                            • Bug: -Exclude does not work as -Include does in Get-ChildItem, or as expected

                              Three folders; d1, d2, d3, with files test.txt and test.mp3 in in d1 and d3.

                              '-Include *d1*' includes only content from d1. Would expect '-Exclude *d1*' to include the inverse, but it has no effect, it returns all data.

                              unless it's run after -Include.

                              So '-Include *d1* -Exclude *d1*' returns nothing, as expected.

                              Exclude only works as it applies to a file name, not a path.

                              So '-Exclude *.txt' will exclude all files '*.txt' as expected.

                              The syntax usage in the help file is identical for both parameters.

                              Please fix -Exclude parameter so that it works on the Path consistently,…

                              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  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
                              • powershell GUI interface extension unnormally issues

                                upgrade to RS5 17723->open file explorer->click on "file" which is on the upper left to select "open Windows powershell" and press "Tab" button->the powershell window can extend-retract by itself F/R:100%

                                Steps to repro:
                                -1.install Mach RS4 1.4.0.7;
                                2.upgrade to 17723.1000 by image file;
                                3.open file explorer;
                                4.click on the file which is on the upper left to run powershell;
                                5.press "Tab"or "enter" button.

                                Expected results: the powershell window side is displayed normally

                                Actual results: the powershell window side can extend-retract by itself

                                Repro rate: 5 out of 5 times
                                Environment data
                                ----------------
                                PS C:\> $psversiontable

                                Name Value
                                ---- -----
                                PSVersion…

                                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 Gallery  ·  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

                                    2 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
                                  • format-volume whatif

                                    format-volume with option -whatif not working. It's should "Shows what would happen if the cmdlet runs. The cmdlet is NOT RUN."

                                    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 →
                                    • PowerShell ISE - PackageManagement\Register-PackageSource : The property 'Name' cannot be found on this object.

                                      Facing issue with PowerShell repository registering

                                      PackageManagement\Register-PackageSource : The property 'Name' cannot be found on this object.

                                      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  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
                                      • Support CamelHumps for tab completion

                                        CamelHump tab autocompletion would be nice, e.g., `cd CH<tab>` would expand to `CamelHump` if a directory by that name existed. This would be nice for any directories in CamelCase.

                                        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 →
                                        • BUG: Test-Certificate -AllowUntrustedRoot does not validate expiration

                                          Test-Certificate with the -AllowUntrustedRoot parameter does not fail validation if the certificate has expired. This can be shown by creating a self-signed certificate with New-SelfSignedCertificate -NotAfter (Get-Date).AddMinutes(1) and waiting for expiration. This is contrary to the online documentation for Test-Certificate.

                                          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 →
                                          • Don't see your idea?

                                          Feedback and Knowledge Base