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 in WMF5 with inaccessible network path in PSModulePath environment variable

    In WMF5, if the PSModulePath environment variable has a UNC Path in it that is currently inaccessible, powershell fails to load many built-in modules.

    For instance, if PSModulePath looks like this:

    C:\Users\jmmurrah\Documents\WindowsPowerShell\Modules;C:\Program Files\WindowsPowerShell\Modules;C:\windows\system32\WindowsPowerShell\v1.0\Modules;\\badservername\folder

    When powershell loads and times out trying to access the path, many standard cmdlets are not found; get-host, test-path, format-list, etc.

    Get-member -listavailable reports back the modules, but does not list their path on disk, and many of them have no exported commands. When trying to import one of these modules powershell reports an error that the module path cannot be found.

    This doesn't appear to happen…

    7 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

      2 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
    • PowerShell 5 - bug in GetType() for COM objects IADSUser

      Votes from Connect: 9

      Original Date Submitted: 6/16/2015 3:12:31 AM

      Description:
      ********Contact Information********
      Handle: Ondrej Sevecek
      Site Name: PowerShell
      Feedback ID: 1437366
      ***************************************

      Frequency: PowerShell
      Regression: run the mentioned script on Windows 10.0.10074 in its built-in PowerShell 5.

      Problem Description:
      When I run the following on Windows 10.0.10074 in PowerShell 5, it does not work for user members of the local group:

      $admins = [ADSI] 'WinNT://./Administrators,group'

      foreach ($oneMember in $admins.Members()) {

      $oneMemberName = $oneMember.GetType().InvokeMember('Name', 'GetProperty', $null, $oneMember, $null)
      Write-Host $oneMemberName

      }

      The error is: Error while invoking GetType. Could not find member.

      While the code works fine on any other…

      15 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 →
      • Splatting for class method input parameters

        Votes from Connect: 23

        Original Date Submitted: 5/28/2015 11:09:44 PM

        Description:
        ********Contact Information********
        Handle: Trevor Sullivan [MVP]
        Site Name: PowerShell
        Feedback ID: 1376904
        ***************************************

        Problem Description:
        In the spirit of splatting, a cool feature to have for PowerShell v5 or vNext, would be to be ale to splat method parameters on PowerShell classes.

        Right now, an error message appears: "The splatting operator '@' cannot be used to reference variables in an expression. '@NewPerson' can be used only as an argument to a command. To reference variables in an expression use '$NewPerson'."

        class Person {
        [string] $FirstName;
        [string] $LastName;

        Person ([string]…

        14 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 →
        • Allow whitespace between final newline and quotation mark in here-string

          Votes from Connect: 10

          Original Date Submitted: 12/10/2011 12:21:15 AM

          Description:
          ********Contact Information********
          Handle: JoshGav
          Site Name: PowerShell
          Feedback ID: 712796
          ***************************************

          Frequency: Always Happens
          Regression: Yes, this happens in previous released versions

          Problem Description:
          The final delimiter in a here-string is defined as newline-quotemarks-atsign. This means that the "@ has to be at the beginning of the final line, with no whitespace preceding it. This ruins attempts at tab indentation in scripts and functions. Whitespace should be allowed as part of the ending pattern between the newline and quotemarks so that tab indentation can be cleanly utilized.

          Product Studio…

          13 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 →
          • Duplicate keys error with ConvertFrom-Json

            Votes from Connect: 5

            Original Date Submitted: 9/3/2014 2:35:32 AM

            Description:
            ********Contact Information********
            Handle: bvbutts
            Site Name: PowerShell
            Feedback ID: 962299
            ***************************************

            Frequency: Always Happens
            Regression: I do not know if this issue existed previously

            Problem Description:
            If you try to parse JSON with parameters that differ by case, eg. {"test":"some value","Test":"some other value"}, you get a duplicate keys error. However, case sensitivity among parameters seems to be a supported feature of JSON. Furthermore, jsonlint.com views this as valid JSON.

            Product Studio item created by Connect Synchronizer due to creation of feedback ID 962299 (http://connect.microsoft.com/PowerShell/feedback/ViewFeedback.aspx?FeedbackID=962299).

            Repro Steps:
            $x='{"test":"some…

            9 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

              2 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
            • Provide option to not encode HTML special characters in ConvertTo-Json

              Votes from Connect: 3

              Original Date Submitted: 9/5/2014 12:56:01 AM

              Description:
              ********Contact Information********
              Handle: LogicalDiagram
              Site Name: PowerShell
              Feedback ID: 963913
              ***************************************

              Frequency: Always Happens
              Regression: Yes, this happens in all previous versions

              Problem Description:
              When passing strings through ConverTo-Json, HTML special characters are encoded. It would be valuable if there was an option to preserve the original string.

              Product Studio item created by Connect Synchronizer due to creation of feedback ID 963913 (http://connect.microsoft.com/PowerShell/feedback/ViewFeedback.aspx?FeedbackID=963913).

              Repro Steps:
              PS C:> "bob < jack" | ConvertTo-Json
              "bob \u003c jack"

              Expected Results:
              PS C:> "bob < jack" | ConvertTo-Json -NoEncoding
              "bob <…

              10 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 →
              • Can't use keywords as class member names

                Votes from Connect: 8

                Original Date Submitted: 8/25/2015 10:53:08 AM

                Description:
                ********Contact Information********
                Handle: Joel 'Jaykul' Bennett
                Site Name: PowerShell
                Feedback ID: 1709557
                ***************************************

                Frequency: PowerShell
                Regression: Try to use a keyword as a method:

                class Startup {
                [void] Configuration([OWin.AppBuilder]$app)
                {
                $app.UseNancy()
                }
                }

                class Test {
                [hashtable]$Options
                [void] Switch([string]$option)
                {
                $Options[$option] = !$Options[$option]
                }
                }

                class Test {
                [hashtable]$Options
                [bool] If([string]$option)
                {
                return [bool]$Options[$option]
                }
                }

                Problem Description:
                We currently can't define methods or properties with names that match PowerShell keywords. This is silly, since we CAN define functions with those names -- and because of how you can…

                8 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 →
                • Get-WinEvent - The data is invalid

                  Votes from Connect: 20

                  Original Date Submitted: 9/17/2013 12:31:57 AM

                  Description:
                  ********Contact Information********
                  Handle: ThomasICG
                  Site Name: PowerShell
                  Feedback ID: 800980
                  ***************************************

                  Frequency: Always Happens
                  Regression: No, this is new to the most recent version

                  Problem Description:
                  I cannot use get-WinEvent on any of my Windows 8 computers. I have heard from others from the internet that they are not experiencing the same issue. So i maybe thinking it's releated to the Danish version. Tried changing locale though, no change.

                  Product Studio item created by Connect Synchronizer due to creation of feedback ID 800980 (http://connect.microsoft.com/PowerShell/feedback/ViewFeedback.aspx?FeedbackID=800980).

                  Repro Steps:
                  Start…

                  6 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

                    2 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
                  • Add .pst1 file extentsion to better support Pester Tests

                    Currently there is no way of telling whether a PowerShell Script (.ps1) is full of pester (or perhaps Gherkin) tests or if it is an actual script without adding .tests. in between the file name and the ps1 extension

                    This would make it cleaner in visibility as currently you could have the following

                    Install-MyModule.ps1
                    MyModule.psd1
                    MyModule.psm1
                    MyModule.psm1-help.xml

                    And then the tests files could be the following
                    MyModule.Tests.ps1
                    Import-MyModule.Tests.ps1

                    To combat this I would propose that tests could be formed in a file with a pst1 extension

                    5 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 →
                    • DCR - Get-CimInstance needs -Credential parameter

                      Votes from Connect: 31

                      Original Date Submitted: 8/12/2013 9:35:00 PM

                      Description:
                      ********Contact Information********
                      Handle: Trevor Sullivan
                      Site Name: PowerShell
                      Feedback ID: 797120
                      ***************************************

                      Frequency: Always Happens
                      Regression: Yes, this happens in previous released versions

                      Problem Description:
                      In Windows PowerShell version 3.0, the Get-CimInstance cmdlet does not have a -Credential parameter. This parameter could allow a user to specify alternate credentials to retrieve information from the Windows Remote Management (WinRM) service. Since this parameter does not exist, a significant amount of extra code is required to manually establish a CIM Session, and then later remove it.
                      The Get-WmiObject has a -Credential…

                      4 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-FileHash only accepts single argument for -Algorithm parameter

                        Votes from Connect: 3

                        Original Date Submitted: 7/11/2014 10:53:05 PM

                        Description:
                        ********Contact Information********
                        Handle: Trevor Sullivan
                        Site Name: PowerShell
                        Feedback ID: 918243
                        ***************************************

                        Frequency: Always Happens
                        Regression: No, this is new to the most recent version

                        Problem Description:
                        The Get-FileHash command only accepts a single argument for its Algorithm parameter. If you want to retrieve two different hashes, then the command must be called once for each hashing algorithm. Please enable multiple algorithms to be passed into the Get-FileHash command.

                        Product Studio item created by Connect Synchronizer due to creation of feedback ID 918243 (http://connect.microsoft.com/PowerShell/feedback/ViewFeedback.aspx?FeedbackID=918243).

                        Repro Steps:
                        Run…

                        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 →
                        • Add "Finalize" verb to list of allowed noun-verbs.

                          Votes from Connect: 4

                          Original Date Submitted: 7/23/2014 12:47:50 PM

                          Description:
                          ********Contact Information********
                          Handle: Sh0gun
                          Site Name: PowerShell
                          Feedback ID: 926911
                          ***************************************

                          Frequency: Always Happens
                          Regression: No, this is new to the most recent version

                          Problem Description:
                          I would like to suggest the verb: "Finalize" as the opposite of "Initialize"

                          Product Studio item created by Connect Synchronizer due to creation of feedback ID 926911 (http://connect.microsoft.com/PowerShell/feedback/ViewFeedback.aspx?FeedbackID=926911).

                          Repro Steps:
                          The verb does not exist currently.

                          Expected Results:

                          Internal BugId: 8908

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

                              1 comment  ·  Documentation  ·  Flag idea as inappropriate…  ·  Admin →
                            • Errors that terminate script due to -ErrorAction Stop do not show correct line number

                              PS > type .\error.ps1
                              [Cmdletbinding()]
                              param()

                              "hello"
                              "world"

                              1/0

                              PS > .\error.ps1
                              hello
                              world
                              Attempted to divide by zero.
                              At D:\junk\error.ps1:10 char:5
                              + 1/0
                              + ~~~
                              + CategoryInfo : NotSpecified: (:) [], RuntimeException
                              + FullyQualifiedErrorId : RuntimeException

                              PS > $ErrorActionPreference = "Stop"
                              PS > .\error.ps1
                              hello
                              world
                              D:\junk\error.ps1 : Attempted to divide by zero.
                              At line:1 char:1
                              + .\error.ps1
                              + ~~~~~~~~~~~
                              + CategoryInfo : NotSpecified: (:) [error.ps1], RuntimeException
                              + FullyQualifiedErrorId : RuntimeException,error.ps1

                              Note incorrect line number being reported on second invocation when ErrorActionPreference equals "Stop"

                              This can also be reproduced by putting "$ErrorActionPreference = "Stop" at line 3 of the…

                              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  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
                              • Reset LCM configuration

                                Reset LCM configuration.

                                Hi and sorry for my funny English.
                                When I configure my LCM, it's impossible to reset state.
                                If I want a default configuration, I send a new configuration this default value for all Settings (here, no value, just settings).

                                [DscLocalConfigurationManager()]
                                Configuration ResetLCM {
                                Node MyNode {
                                Settings {
                                ActionAfterReboot =
                                AllowModuleOverwrite =
                                CertificateID =
                                ConfigurationDownloadManagers =
                                ConfigurationID =
                                ConfigurationMode =
                                ConfigurationModeFrequencyMins =
                                DebugMode =
                                MaximumDownloadSizeMB =
                                RebootNodeIfNeeded =
                                RefreshFrequencyMins =
                                RefreshMode =
                                ReportManagers =
                                ResourceModuleManagers =
                                SignatureValidations =
                                StatusRetentionTimeInDays =
                                }}

                                I think it's easier to use command.

                                For example, there is a reset configuration for DSCConfigurationDocument. …

                                8 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  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
                                • Test-DscConfiguration returns a String instead of a Boolean value

                                  Test-DscConfiguration returns a String instead of a Boolean value.

                                  Contrary to what is mentionned in the documentation, the function Test-DscConfiguration does not return a boolean value.

                                  When you do a GetType() of the return value of Test-DscConfiguration you get a string with 'true' or 'false'.

                                  It's impossible to do a simple if (Test-DscConfiguration) because the string 'false' enter inside the if, we are forced to cast the return value of this cmdlet in boolean or to do the comparison with -eq $True, which seems to cast it automatically.

                                  6 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  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
                                  • Escape Char with Powershell ISE

                                    I am attempting to use the `b or `r sequence as per https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_special_characters?view=powershell-6
                                    if I use the example in that page and issue the command write-host “backup`b`b out” in Powershell (non ISE) you get “back out” as the output as per the example however if you do this in ISE you get “backup out” instead.
                                    It would appear that ISE cannot handle these two special characters. From what I can tell all the others such as `t and `n work fine.
                                    This is verified by DoctorDNS in the following issue post
                                    PowerShell/PowerShell-Docs#3151
                                    Thanks
                                    Robert

                                    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  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
                                    • [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 →
                                      • Fix Add-DnsServerResourceRecord TXT Records Limit

                                        When attempting to add a TXT DNS record via the "Add-DnsServerResourceRecord" command, the DescriptiveText property only accepts strings up to 254 characters but should support up to 255 characters. Ideally the command should accept an array for the DescriptiveText so that multiple lines of up to 255 characters can be passed through. Currently it requires using `r`n to insert a line break but over all must still be under 254 characters. This is an issue as we are trying to implement automation around TXT records and DKIM records tend to be well over this 254 character limit and require multiple…

                                        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  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Backport Powershell 6.x to Windows Powershell

                                          To keep Windows Powershell up to date please backport any new features from Powershell 6.x to Windows Powershell.

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

                                          Feedback and Knowledge Base