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. 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 →
    • 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 →
      • 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 →
        • 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 →
          • 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 →
              • 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 →
                • provide switches for toggles

                  admit it, PS is ugly. with the multitudes of loops we have to jump thru to get a desired result, it would be better if you could provide command line switches for common tasks.

                  for example, in a select statement, how do you prevent the header from appearing in the output? would be nice if could just do "select -NoHeader …." but you can't.

                  that is just one example where I spent 30 minutes looking for a way to display only without headers in a "select" statement. a lot of our searches involves either an object has or has not…

                  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 →
                  • Order is wrong in subsequent execution of loops

                    Let's take this simple loop:

                    PS C:\temp> for ($a=0; $a -lt 2; $a++ ) {
                    >> get-date;
                    >> Write-Host "Hello world!";
                    >> Get-ChildItem | ft -a;
                    >> sleep 1
                    >> }

                    18 juillet 2018 14:54:47
                    Hello world!

                    Directory: C:\temp

                    Mode LastWriteTime Length Name
                    ---- ------------- ------ ----
                    -a---- 2018-07-18 14:49 3698 test.txt

                    Hello world!
                    18 juillet 2018 14:54:48

                    Directory: C:\temp

                    Mode LastWriteTime Length Name
                    ---- ------------- ------ ----
                    -a---- 2018-07-18 14:49 3698 test.txt

                    As you can see, "Get-Date" and "Hello world!" gets inverted.

                    If we remove "ft -a" everything is executed as it should.

                    Using While ($true) { ... }…

                    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 →
                    • Terminating error in if statement script block generates duplicate errorvariable entries

                      Consider the following 2 functions (contrived to illustrate the issue).

                      function 1error { [CmdletBinding()] Param(); throw "This produces 1" }
                      function 2error { [CmdletBinding()] Param(); if($true) {throw "This produces 2"} }

                      If you call the function 1error with an error variable, the error variable will act as expected.

                      1error -ErrorVariable +1var
                      $1var.count #results in 1

                      If you call function 2error with an error variable, the error variable will have 2 identical errors.

                      2error -ErrorVariable +2var
                      $2var.count # results in 2

                      PSVersion is 5.1.14393.2189

                      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  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
                      • Inconsistent Array Initialization Behaviour

                        Creating an array of arrays as below works well:

                        $myArray = @(
                        @(1,2,3),
                        @(4,5,6)
                        )
                        $myArray[0] #outputs 1, 2, 3
                        $myArray[1] #outputs 4, 5, 6

                        $myBuggyArray = @(
                        @(1,2,3)
                        ,@(4,5,6)
                        )
                        $myBuggyArray[0] #outputs 1
                        $myBuggyArray[3] #outputs 4, 5, 6

                        I wouldn't expect the order of line break & comma to impact the behaviour of the command / can't find any documentation stating that it should.

                        PSVersion: 5.1.14409.1012

                        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

                          3 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
                        • Powershell not interpreting spaces correctly

                          I am running a powershell script in the Post-Build event in Visual Studio (VS). Here is a simplified version of the command command

                          powershell -ExecutionPolicy remotesigned -File "%SampleDir%\update.ps1" "$(ProjectDir)" "$(TargetName)" "$(TargetExt)" "$(Configuration)"

                          I want you to understand that I have no control of these macro's $(ProjectDir) ... VS will fill these in.

                          To simplify things I've eliminated VS. Here is a script that simply echo's the input given to it. This will show the problem copy the below script to a file called echo-args.ps1
                          #===================================
                          "The number of parameters passed in is $($Args.Count)"
                          $i = 0
                          foreach ($arg in $Args)…

                          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 →
                          • Windows 10 Build 17677 - Windows PowerShell lost cursor

                            Windows 10 Build 17677 latest in Windows PowerShell it lost cursor

                            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 →
                            • write-host -NoNewline parameter is ignored with powershell 5.1

                              Starting with WMF 5.0 and WMF 5.1 the -NoNewLine option for Write-Host is essentially ignored.

                              Simple example:
                              PS C:\> Write-Host "no newline test " -NoNewline

                              Current Behaviour:
                              no newline test
                              PS C:\>

                              Expected Behavior
                              no newline test PS C:\>

                              PS version Table is as follows.

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

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

                                Switch should allow for implied breaks.

                                I think it would be useful, if it doesn’t exist to have an additional option, e.g.

                                switch -ImplyBreak ($variable) {
                                ‘red’ { ‘r’ }
                                ‘green’ { ‘g’ }
                                }

                                Where -ImplyBreak would make the code above equivalent to:

                                switch ($variable) {
                                ‘red’ { ‘r’; break }
                                ‘green’ { ‘g’; break }
                                }

                                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 →
                                • Please modify clause ($var -in 1..3)

                                  Please modify clause ($var -in 1..3) not to use a list in memory.

                                  The code becomes unusable when using long ranges like 1..20000000

                                  Thanks

                                  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 write-progress memory leak in remote sessions

                                    Hello, I have noticed some strange behavior with Powershell when run in a remote session, it seems as if there is a memory leak with write-progress when run in a remote session.

                                    Take the following code for example:

                                    $MaxVal = 10000000

                                    for ($x=1;$x -le $MaxVal;$x++)
                                    {
                                    Write-Progress -Activity "Writing a progress event" -PercentComplete ($x / $MaxVal * 100) -Status "$($x / $MaxVal * 100)% complete"
                                    }

                                    If I run this locally, powershell.exe runs normally and does not take up much memory.

                                    However, if I run it on the same computer from a remote session (as in, I do an enter-psesssion…

                                    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 →
                                    • Merge "Windows PowerShell" and "PowerShell Core", make result default on Windows

                                      When sending code to someone, I don't want to have to qualify the post with "if it doesn't work, try the *other* PowerShell...". I know there will be OS-specific modules/commands, but there should *not* be two code bases for the shell itself, or two product names.

                                      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 →
                                      • Allow custom message when using the confirm parameter

                                        Although PowerShell creates a message describing the action about to take place when using the confirm parameter, it would be helpful to have the ability to create a custom message in order to make the dialog more user friendly or provide more detail about what action is about to take place.

                                        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: The certificate for the WMF 5.1 setup has expired WMF 5.1 cannot be installed

                                          The certificate for Win7AndW2K8R2-KB3191566-x64.msu has expire and installing WMF 5.1 fails with the following error in Event Log/Windows Logs/Setup

                                          Windows update "Update for Windows (KB3191566)" could not be installed because of error 2148204801 "A required certificate is not within its validity period when verifying against the current system clock or the timestamp in the signed file." (Command line: ""C:\Windows\system32\wusa.exe" "C:\Users\username\Downloads\Win7AndW2K8R2-KB3191566-x64\Win7AndW2K8R2-KB3191566-x64.msu" ")

                                          Is WMF 5.1 still supported?

                                          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

                                            4 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
                                          ← Previous 1 3 4 5 19 20
                                          • Don't see your idea?

                                          Feedback and Knowledge Base