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: PowerShell SendMail requires To address

    Current specs say -To address is required. This should be changed to "at least one address is required". I consistently, using other SMTP mailers, add all my addresses as BCC, with 'To' and "cc" empty. Everyone then sees only their address in their email. This thwarts a 'Reply All' going somewhere it shouldn't.

    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 →
    • SendMail needs ReplyTo parameter

      This is a standard SMTP option and glaring oversite in PowerShell.

      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 →
      • Change sorting of Get-ChildItem -Recurse, it currently tears content appart

        > Get-ChildItem -Name -Recurse -Directory

        ... currently tears directories appart because it FIRST iterates through a directory and THEN iterates through its childen recursively (I added blank lines to the output here to emphasize the issue):

        a
        b
        c

        a\1
        a\2
        a\3

        a\1\x

        b\a
        b\b
        b\c

        b\b\a
        b\b\b

        b\b\a\x
        b\b\b\1
        b\b\b\2

        c\1
        c\2
        c\3

        I believe this kind of sorting doesn't make much sense.

        I couldn't think of any use case to deal with some parent information item without processing its children and then, after other parent information items have been dealt with (probably even relying on a thorough processing…

        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 →
        • copy-item progress

          Add an optional switch to show the progress of an ongoing copy operation. Could be useful for large operation. Basically replicate as much information as the Explorer does, without the performance graph.

          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  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
          • Env:OS Variable Set for both Windows and Linux versions of powershell

            We have been stumped trying to find a way to be able to to call a Variable that would exist on both Windows and Linux versions so that we can make scripts OS independent between the 2 versions. I have checked a few places but $Env:OS resides on windows and $psverstiontable.OS is where you find it on linux. if you were able to find it in the same location regardless of where you are running powershell, it would be easier to deal with doing the OS check for pathing reasons.

            Issue also submitted on GitHub as I am not sure…

            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 →
            • Bug: PowerShell ISE 'The handle is invalid'

              Bug: PowerShell ISE 'The handle is invalid'

              Custom C# binary module works without issue via Powershell.exe, but when attempting to run the exposed cmdlets via Powershell_ise.exe you immediately get an error 'The handle is invalid' and the execution fails.

              When attaching Visual Studio to the ISE process to attempt debugging, it informs you that the failure occurs outside of the code base (not part of the managed code).

              Have this issue on Windows 10 / Server 2016 with Powershell 5.0 and 5.1.

              Mirrored the Powershell.exe.config to Powershell_ise.exe.config to rule out a configuration issue, and that yields no deltas.

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

                We’ll send you updates on this idea

                0 comments  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
              • BUG: PowerShell stderr redirect to file inserts newlines

                If I run the following command in PowerShell:

                $ .\long_error_message.exe 2>error.txt

                , I get spurious newlines in error.txt. I generated a full repro and extremely clumsy solution at [1]. Can we declare this behavior as a bug? Note that cmd.exe operates exactly as one would expect.

                [1] https://stackoverflow.com/questions/48655624/powershell-stderr-redirect-to-file-inserts-newlines

                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 →
                • [Bug] DSC configuration allows multiple resource instances with duplicate key values

                  Before PowerShell 5.1, compilation of DSC configurations having resource instances with duplicate keys resulted in a compilation error.

                  However, with 5.1, this seems to have changed.

                  Configuration FileDemo
                  {
                  Import-DscResource -ModuleName PSDesiredStateConfiguration -ModuleVersion 1.1

                  Node Localhost
                  {
                  File TestFile1
                  {
                  DestinationPath = 'C:\Scripts\Test.txt'
                  Contents = ''
                  Type = 'File'
                  }

                  File TestFile2
                  {
                  DestinationPath = 'C:\Scripts\Test.txt'
                  Contents = ''
                  Type = 'File'
                  }
                  }
                  }

                  FileDemo

                  This configuration will compile with no errors.

                  PS C:\> $PSVersionTable

                  Name Value
                  ---- -----
                  PSVersion 5.1.14393.1914
                  PSEdition Desktop
                  PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
                  BuildVersion 10.0.14393.1914
                  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

                    1 comment  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
                  • Represent $null values Active Directory fields when exporting to CSV files

                    Using Export-CSV should represent $null values from Active Directory by printing "null" in the column instead of just removing the column for that line.

                    When using the Get-ADUser cmdlet to export properties of User accounts to a CSV file (Export-CSV), $null values are not represented and therefore end up being removed from the CSV. For example, if I am exporting the properties for SAMAccountName, Title, and Manager to my CSV and User A has all three properties but User B has no Title, then User B's Manager is now listed in the Title column of the CSV, which causes data…

                    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 →
                    • Test-NetConnection doesn't fully honor -ErrorAction

                      When I run:
                      > Test-NetConnection my.host.net -port 443 -ErrorAction Ignore

                      An error ends up in $Error like:
                      Resolve-DnsName : my.host.net : DNS record does not exist
                      At C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\NetTCPIP\Test-NetConnection.psm1:314 char:63
                      + ... ecords = @( Resolve-DnsName $ComputerName -LlmnrNetbiosOnly -NoHost ...
                      + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                      + CategoryInfo : ResourceUnavailable: (my.host.net:String) [Resolve-DnsName], Win32Exception
                      + FullyQualifiedErrorId : RECORD_DOES_NOT_EXIST,Microsoft.DnsClient.Commands.ResolveDnsName

                      Looks like Test-NetConnection.psm1 @ lines 313 - 315 has the error preference for the Resolve-DNSName calls hard coded. Specifying -Ignore should not result in anything in $Error.

                      $PSVersionTable

                      Name Value
                      ---- -----
                      PSVersion 5.1.16299.248
                      PSEdition Desktop
                      PSCompatibleVersions {1.0, 2.0, 3.0, 4.0, 5.0, 5.1.16299.248}
                      BuildVersion 10.0.16299.248
                      CLRVersion 4.0.30319.42000
                      WSManStackVersion…

                      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 →
                      • Format-Table: Add ForegroundColor and BackgroundColor to a calculated property

                        When using calculated properties in Format-Table, you can define:
                        - Name/Label (the column heading/calculated property name)
                        - Expression
                        - Width (define column width)
                        - FormatString (to format numbers/strings)
                        - Alignment (alignment in table cell/column

                        What's missing is a way to output a calculated property in a different color. For example, use red for negative number, green for positive number, and additionally, a way to specify the background color (for the table cell). Adding ForegroundColor (to specify text color) and BackgroundColor (for cell color) to calculated properties would resolve 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 →
                        • Bug? Test-Connection forces enumeration of reparse points

                          I've noticed some behavior in PowerShell that I can't explain, but I'm hoping that someone else can.

                          If I want to build a list of file objects from drive C:\, and I want to ignore shortcut folders (reparse points) such as C:\Documents and Settings\. The following command works well:

                          $FileList = @(Get-ChildItem -Path C:\ -Recurse -Force -Attributes !ReparsePoint);
                          $FileList | Where-Object {$_.DirectoryName -like "*Documents and Settings*"};

                          The Where-Object command returns no files as expected, since C:\Documents and Settings\ is a reparse point.

                          However, if I run the Test-Connection command first, then the Get-ChildItem command appears to ignore the -Attributes !ReparsePoint…

                          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 →
                          • 1 vote
                            Sign in
                            Check!
                            (thinking…)
                            Reset
                            or sign in with
                            • facebook
                            • google
                              Password icon
                              Signed in as (Sign out)

                              We’ll send you updates on this idea

                              0 comments  ·  WinRM  ·  Flag idea as inappropriate…  ·  Admin →
                            • Bug: Cannot Update-Help: UnableToConnect

                              PowerShell "Update-Help" Cmdlet fails to download any help files.

                              See here for full details:

                              https://social.technet.microsoft.com/Forums/windowsserver/en-US/ea9deabe-bd96-40e8-a850-24f14d20c006

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

                                We’ll send you updates on this idea

                                0 comments  ·  Documentation  ·  Flag idea as inappropriate…  ·  Admin →
                              • adac

                                https://github.com/PowerShell/PowerShell/issues/3021

                                Unable to use PowerShell Transcription with Active Directory Administrative Console (ADAC)

                                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 →
                                • Issue: Verbosity within ScriptsToProcess upon Importing a Module with Verbose switch

                                  Upon running the Import-Module with the verbose flag my script within "ScriptsToProcess" section contains verbose logging but does not output to the console. I am not sure if this is by design, but I thought by passing in the Verbose option would update the session $VerbosePrefence value and have any verbose logging within the ScriptsToProcess output, but it does not.

                                  Is this by design? If yes, then what is your suggestion to output the verbose logging?

                                  My local env:

                                  Name Value
                                  ---- -----
                                  PSVersion 4.0
                                  WSManStackVersion 3.0
                                  SerializationVersion 1.1.0.1
                                  CLRVersion 4.0.30319.42000
                                  BuildVersion 6.3.9600.18773
                                  PSCompatibleVersions {1.0, 2.0, 3.0, 4.0}
                                  PSRemotingProtocolVersion 2.2

                                  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 →
                                  • Inconsistent behaviour with [System.Environment]::GetFolderPath in Invoke-Command

                                    Invoke-Command somepc.somedomain.net -credential Administrator -Scriptblock {
                                    ([System.Environment]::GetFolderPath("MyDocuments") + "\WindowsPowerShell\Modules")
                                    }

                                    Run on a remote computer as-is this returns the module path for the Administrator user, as expected. However...

                                    Invoke-Command somepc.somedomain.net -credential Administrator -Scriptblock {
                                    Write-Output ([System.Environment]::GetFolderPath("MyDocuments") + "\WindowsPowerShell\Modules")
                                    }

                                    This instead returns the path for MY account, lgulliver, running locally. You get the same result passing this to New-Item and presumably other cmdlets.

                                    Running PS v5, remoting to both v4 and v5.

                                    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 →
                                    • something killed my directories under PackageManagement - need repair (how ?)

                                      Something killed my Directory for all Packages.... How can i repair the Powershell-Installation withing Windows 10 ?
                                      Already tried deactivating / activation of the feature withing windows, sfc /scannow , etc.
                                      but i cannot use my powershell completely anymore...

                                      $PSVersionTable

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

                                      Example of issue:
                                      Method invocation failed because [Microsoft.PowerShell.Commands.MatchInfo] does not contain a method named 'Trimstart'.

                                      so also basics are not even working .....

                                      can anyone help me ?

                                      thanks

                                      Markus

                                      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 →
                                      • Powershell Core on IBM Power-series Hardware

                                        With Powershell Core v6 in GA status, it would be nice to see it scaled to other architecture, including OpenPOWER (This would include IBM's Power8 and the more recent Power9 hardware). This would allow management of OSes on that hardware with Powershell Core.

                                        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 →
                                        • Add support for Conditions on DSC Resources

                                          Currently the only way to apply conditions is using the Script resource. However the Script Resource has limitations especially when dealing with Azure credential objects. Conditions would be very useful, similar to what SCCM uses for it's Configuration Items.
                                          Syntax would be:
                                          Condition = [Boolean PowerShell Expression]

                                          Example #1: Apply a Package Resource only for SQL servers
                                          Example #2: Apply a WindowsFeature Resource only for IIS servers.

                                          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  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
                                          • Don't see your idea?

                                          Feedback and Knowledge Base