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. [BUG] Start-Process might not return Handle/ExitCode

    Issue:
    In order to obtain the Exit Code from a Process we are executing the Start-Process cmdlet with the following parameters:
    -PassThru -Wait -WindowStyle Hidden
    or
    -PassThru -Wait -NoNewWindow

    In rare cases, this leads to the following exception:
    System.Management.Automation.CmdletInvocationException: Cannot process request because the process (<ProcessIdHere>) has exited. ---> System.InvalidOperationException: Cannot process request because the process (<ProcessIdHere>) has exited.
    at System.Diagnostics.Process.GetProcessHandle(Int32 access, Boolean throwIfExited)
    at System.Diagnostics.Process.OpenProcessHandle(Int32 access)
    at System.Diagnostics.Process.get_Handle()

    After the Exception occurred, the returned Object does not contain a Handle nor Exit Code but the executable itself executed without issue.

    We also tried to remove the “-Wait” Parameter and…

    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 →
    • A replacement for New-WebServiceProxy for SOAP calls

      Add the ability to make SOAP calls which originally was done using New-WebServiceProxy.

      SOAP services are still common in both small companies and large enterprise where some products only have this method of integration. Many legacy systems both purchased and built in house use SOAP and will continue to for a significant time as the cost of upgrading is either too great, does not make commercial sense or simply impossible.

      I have only just started to look at PowerShell 6 and this is a complete road block for using it at this time. If there are alternative options without having…

      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 →
      • New-SmbShare -Whatif not working

        New-SmbShare with -Whatif switch NOT working, it runs the command instead of showing the whatif massage

        Test with vscode insider

        Name Value
        ---- -----
        PSVersion 5.1.17134.228
        PSEdition Desktop
        PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
        BuildVersion 10.0.17134.228
        CLRVersion 4.0.30319.42000
        WSManStackVersion 3.0
        PSRemotingProtocolVersion 2.3
        SerializationVersion 1.1.0.1

        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  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
        • List which module contains which CmdLets.

          I am trying to figure out which module contains Get-PcsvDevice. I am running PS 5.1 on Server2012 R2.

          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 →
          • Case-Sensitive option for Test-Path

            An option to force Test-Path to be case-sensitive would be extremely helpful, especially given a script could be run on either a case-sensitive filesystem or a case-insensitive one and produce different output. At the moment, this requires a fair amount of manual work for a common goal. An option to force case-insensitivity may also be desitable, given PowerShell can encounter case-sensitive filesystems.

            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 →
            • Error attempting to create a RAP/CAP policy containing parenthesis characters

              In module "RemoteDesktopServices"

              Run powershell as administrator, execute next:

              Import-Module RemoteDesktopServices
              New-Item -Path "RDS:\GatewayServer\RAP" -Name "Test_RAP_1 (test)" -UserGroups "Remote Users@DomainName" -ComputerGroupType 1 -ComputerGroup "RDS_group@DomainName"

              Get error:
              New-Item : The path contains characters that are not valid.
              At line:1 char:1
              + New-Item -Path "RDS:\GatewayServer\RAP" -Name "Test_RAP_1 (test 123)" ...
              + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
              + CategoryInfo : InvalidArgument: (RDS:\GatewaySer...AP_1 (test 123):String) [New-Item], ArgumentException
              + FullyQualifiedErrorId : IllegalCharacters,Microsoft.PowerShell.Commands.NewItemCommand

              but if execute without parenthesis characters, its will executed with success

              New-Item -Path "RDS:\GatewayServer\RAP" -Name "Test_RAP_1 test" -UserGroups "Remote Users@DomainName" -ComputerGroupType 1 -ComputerGroup "RDS_group@DomainName"

              Moreover, if you create a policy through a graphical interface, then there are…

              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 →
              • 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 →
                • 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 →
                          • 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 →
                              • 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 →
                                • 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 →
                                    • 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 →
                                      • 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 →
                                        • 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 →
                                          ← Previous 1 3 4 5 9 10
                                          • Don't see your idea?

                                          Feedback and Knowledge Base