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. Get-Certificate is misleading

    This cmdlet, rather than listing all certificates on the machine, which is how a Get-Cmdlet tents to work, instead Requests a new certificate from a Certificate Authority.

    This is NOT the way that Get-* cmdlets are supposed to work. And we already have a perfectly good Request-* verb sitting out there, which would be the right verb for this cmdlet.

    This would consitute a breaking change, but I think it's frankly broken today, so I'd call it a 'restorative change' instead.

    30 votes
    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)

      We’ll send you updates on this idea

      5 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
    • PSScriptRoot in ps1 script in PSv3 is empty in ISE

      Votes from Connect: 13

      Original Date Submitted: 11/1/2012 3:56:26 AM

      Description:
      ********Contact Information********
      Handle: J Stangroome
      Site Name: PowerShell
      Feedback ID: 769359
      ***************************************

      Frequency: Always Happens
      Regression: I don't know if this issue existed previously

      Problem Description:
      In the PSv3 documentation, $PSScriptRoot is now an automatic variable that is populated for both modules and ps1 scripts. It works from PowerShell.exe but not from the ISE

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

      Repro Steps:
      1. Create a new script (eg c:\test.ps1) with the contents: gv PSScriptRoot
      2. From PowerShell.exe, execute…

      16 votes
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        I agree to the terms of service
        Signed in as (Sign out)

        We’ll send you updates on this idea

        5 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
      • Implement the && and || operators that bash has

        Votes from Connect: 22

        Original Date Submitted: 2/8/2013 8:32:38 AM

        Description:
        ********Contact Information********
        Handle: antize
        Site Name: PowerShell
        Feedback ID: 778798
        ***************************************

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

        Problem Description:
        Discussion about this at stackoverflow - http://stackoverflow.com/questions/563600/can-i-get-to-work-in-powershell

        Jeffery Snover said to request it here so here I am :D

        Here is a description of what they do -- http://www.gnu.org/software/bash/manual/bashref.html#Lists

        An AND list has the form
        command1 && command2

        command2 is executed if, and only if, command1 returns an exit status of zero.

        An OR list has the form
        command1 || command2

        command2 is executed if,…

        15 votes
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          Password icon
          I agree to the terms of service
          Signed in as (Sign out)

          We’ll send you updates on this idea

          2 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
        • Create a SendTo-SysLog cmdlet and include it by default

          Please include by default a SendTo-Syslog cmdlet to send log messages to UNIX, Linux and SIEMs.

          If you were to add a syslog service role to send or accept syslog messages in a scalable way which integrated with the Windows event logs, that would be great too, but a cmdlet to just send UDP packets is easy enough to include in PoSh 5.1 right now.

          Thanks!

          15 votes
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            I agree to the terms of service
            Signed in as (Sign out)

            We’ll send you updates on this idea

            6 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
          • Windows Management Framework and PowerShell: Need consistent, supported way to detect version from the Operating System

            Votes from Connect: 8

            Original Date Submitted: 9/5/2014 9:43:02 PM

            Description:
            ********Contact Information********
            Handle: NPherson
            Site Name: PowerShell
            Feedback ID: 964601
            ***************************************

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

            Problem Description:
            With the WMF, there is no good consistent way to detect what version is installed. You can query for installed KB's, but that only works if the version of the WMF wasn't already baked into the operating system.

            With PowerShell, you can find out what version you have from within PowerShell with $psversiontable, but that information is not available in the OS itself through WMI…

            13 votes
            Sign in
            Check!
            (thinking…)
            Reset
            or sign in with
            • facebook
            • google
              Password icon
              I agree to the terms of service
              Signed in as (Sign out)

              We’ll send you updates on this idea

              3 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
            • PowerShell Should Ship all its Modules through a NuGet-like service

              Votes from Connect: 63

              Original Date Submitted: 11/29/2012 12:00:27 AM

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

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

              Problem Description:
              The PowerShell team should ship it's modules via a Module Repository (like NuGet), and add commands for retrieving and installing modules to the Core module.

              They should use that mechanism to further separate releases from the Windows Server ship schedule. In fact, I suggest that you should externalize *all* of the non-core modules (everything which is currently loaded on-demand) to separate them from…

              12 votes
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                I agree to the terms of service
                Signed in as (Sign out)

                We’ll send you updates on this idea

                1 comment  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
              • Package PowerShell Classes in a Module

                Object Oriented Programming seems to be supported now in PowerShell, but custom classes defined in modules don't seem to behave the way they should.

                There only seem to be two consistent ways to make these work when importing a module that has classes defined:
                1. Import the module, then run "using module ..." to make the classes available in the session. Alternatively, you can import the module with the using statement, but this isn't ideal (no versioning).
                2. Add the class definition file(s) to the ScriptsToProcess attribute of the module. This isn't ideal either as it runs the scripts in…

                11 votes
                Sign in
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  Password icon
                  I agree to the terms of service
                  Signed in as (Sign out)

                  We’ll send you updates on this idea

                  1 comment  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
                • Missing trigger options in New-ScheduledTaskTrigger

                  Votes from Connect: 3

                  Original Date Submitted: 10/30/2014 5:41:25 PM

                  Description:
                  ********Contact Information********
                  Handle: ulrichb
                  Site Name: PowerShell
                  Feedback ID: 1015225
                  ***************************************

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

                  Problem Description:
                  New-ScheduledTaskTrigger offers just a subset of the trigger options. Things like "On an (event log) event", or "On workstation (un)lock" are missing.

                  We just found ugly workarounds to add these (e.g. event log) triggers by using "schtasks.exe /create /xml" or using the COM "TaskScheduler" class.

                  New-ScheduledTaskTrigger should allow specifying all options the Task Scheduler UI offers. As there already exists an XML representation of these…

                  11 votes
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    I agree to the terms of service
                    Signed in as (Sign out)

                    We’ll send you updates on this idea

                    0 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
                  • ConvertFrom-JSON doesn't allow you to modify the maxJSONLength value

                    Votes from Connect: 26

                    Original Date Submitted: 9/18/2013 10:01:50 PM

                    Description:
                    ********Contact Information********
                    Handle: Mark E. Schill
                    Site Name: PowerShell
                    Feedback ID: 801353
                    ***************************************

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

                    Problem Description:
                    ConvertFrom-JSON doesn't allow you to modify the maxJSONLength value. By default it is set to 2MB so if you have a JSON string that is longer it will error out trying to convert to a PowerShell object.

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

                    Repro Steps:
                    Use ConvertFrom-JSON on any string…

                    10 votes
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      I agree to the terms of service
                      Signed in as (Sign out)

                      We’ll send you updates on this idea

                      0 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
                    • UTF-8 without BOM [Missing Encoding Option]

                      Votes from Connect: 4

                      Original Date Submitted: 10/6/2014 10:15:42 AM

                      Description:
                      ********Contact Information********
                      Handle: DScripter
                      Site Name: PowerShell
                      Feedback ID: 993163
                      ***************************************

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

                      Problem Description:
                      I had an issue recently with generating JSON files that needed to be encoded in 'UTF-8 without BOM.' Cmdlets with the -Encoding parameter do not have this format as a possible encoding option.

                      It looks like the Unicode standard recommends not using the BOM, either, as mentioned in this conversation:
                      http://stackoverflow.com/questions/2223882/whats-different-between-utf-8-and-utf-8-without-bom

                      Here is the Standard documentation:
                      http://www.unicode.org/versions/Unicode5.0.0/ch02.pdf
                      Quote given from Page 30:
                      "... Use of…

                      10 votes
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        I agree to the terms of service
                        Signed in as (Sign out)

                        We’ll send you updates on this idea

                        0 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
                      • Bug: Console output appears out of order

                        In 5.0, objects returned from a script will appear in the console only after the script has completely finished if no formatting data is defined for that object type.

                        Example:

                        Write-Warning "Before"
                        Get-Service E* | select Status, Name, DisplayName
                        Write-Warning "After"

                        Output:

                        WARNING: Before

                        WARNING: After
                        Status Name DisplayName
                        ------ ---- -----------
                        Stopped EapHost Extensible Authentication Protocol
                        Running EFS Encrypting File System (EFS)
                        Running eventlog Windows Event Log
                        Running EventSystem COM+ Event System

                        Details
                        - This did not happen before PowerShell 5.0
                        - This happens both in the PowerShell console and ISE
                        - The issue affects all objects that have…

                        10 votes
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          Password icon
                          I agree to the terms of service
                          Signed in as (Sign out)

                          We’ll send you updates on this idea

                          survey  ·  3 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
                        • Get-Help needs to work better in the face of multiple versions of a module

                          I understand when Get-Help shows me multiple results for the same command when there are different sources of the same command e.g.:

                          4> get-help format-hex

                          Name Category Module Synopsis
                          ---- -------- ------ --------
                          Format-Hex Function Microsoft.PowerShell.U... ...
                          Format-Hex Cmdlet Pscx PSCX Cmdlet:

                          However this doesn't make sense when it is just different versions of the same command:

                          8> get-help about_psreadline

                          Name Category Module Synopsis
                          ---- -------- ------ --------
                          about_PSReadline HelpFile
                          about_PSReadline HelpFile

                          I think Get-Help needs to be smart about this latter situation and A) only list the version of about_PSReadline that corresponds to the loaded module or B) if…

                          10 votes
                          Sign in
                          Check!
                          (thinking…)
                          Reset
                          or sign in with
                          • facebook
                          • google
                            Password icon
                            I agree to the terms of service
                            Signed in as (Sign out)

                            We’ll send you updates on this idea

                            survey  ·  0 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
                          • PowerShell should support .Net extension methods

                            Votes from Connect: 35

                            Original Date Submitted: 9/22/2010 9:56:58 PM

                            Description:
                            ********Contact Information********
                            Handle: Joel "Jaykul" Bennett
                            Site Name: PowerShell
                            Feedback ID: 603415
                            ***************************************

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

                            Problem Description:
                            Currently PowerShell has it's own system (based on type.ps1xml files) for creating extension methods -- while this would have been admirable in the .Net 1.1 or 2.0 era, in the modern .Net Framework we already have Extension methods, and they do not work in PowerShell.

                            As more and more of the .Net Framework itself and 3rd Party APIs begins to depend on extension…

                            10 votes
                            Sign in
                            Check!
                            (thinking…)
                            Reset
                            or sign in with
                            • facebook
                            • google
                              Password icon
                              I agree to the terms of service
                              Signed in as (Sign out)

                              We’ll send you updates on this idea

                              0 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
                            • Group-Object fails with a NullReferenceException for certain objects

                              In PowerShell 5.0, Group-Object crashes with a NullReferenceException when one of the objects passed to it contains a NoteProperty of type PSCustomObject and no value (null) and the list of properties for grouping includes that property. Such an object can be produced by Select-Object.

                              A simple reproduction (Windows 10 November Update, fully patched as of 2016-05-13):

                              PS C:\> $PSVersionTable

                              Name Value
                              ---- -----
                              PSVersion 5.0.10586.122
                              PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
                              BuildVersion 10.0.10586.122
                              CLRVersion 4.0.30319.42000
                              WSManStackVersion 3.0
                              PSRemotingProtocolVersion 2.3
                              SerializationVersion 1.1.0.1

                              PS C:\> $x = Get-Item -Path . | Select-Object -Property Name, @{Name = 'X'; Expression = { $null | Sort-Object…

                              9 votes
                              Sign in
                              Check!
                              (thinking…)
                              Reset
                              or sign in with
                              • facebook
                              • google
                                Password icon
                                I agree to the terms of service
                                Signed in as (Sign out)

                                We’ll send you updates on this idea

                                0 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
                              • [Bug] Update-ModuleManifest fails if TypesToProcess or FormatsToProcess have values

                                If a module contains valid values for the TypesToProcess or FormatsToProcess properties, Update-ModuleManifest fails with this error:

                                > Update-ModuleManifest -Path .\Carbon\Carbon.psd1 -Tags 'fubar','snafu'
                                Update-ModuleManifest : Cannot update the manifest file '.\Carbon\Carbon.psd1' because the manifest is not valid. Verify that the manifest file is valid, and then try again.'The member 'TypesToProcess' in the module manifest is not valid: Cannot find path
                                'C:\Users\ajensen\AppData\Local\Temp\810183328\Carbon\Carbon.types.ps1xml' because it does not exist.. Verify that a valid value is specified for this field in the 'C:\Users\ajensen\AppData\Local\Temp\810183328\NewManifest.psd1' file.'
                                At line:1 char:1
                                + Update-ModuleManifest -Path .\Carbon\Carbon.psd1 -Tags 'fubar','snafu ...
                                + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                + CategoryInfo : InvalidArgument: (System.Argument...rd errorRecord):ArgumentException) [Update-ModuleManifest], ArgumentException …

                                9 votes
                                Sign in
                                Check!
                                (thinking…)
                                Reset
                                or sign in with
                                • facebook
                                • google
                                  Password icon
                                  I agree to the terms of service
                                  Signed in as (Sign out)

                                  We’ll send you updates on this idea

                                  2 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
                                • PowerShell must support calling Async APIs

                                  Votes from Connect: 57

                                  Original Date Submitted: 3/24/2014 10:15:46 AM

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

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

                                  Problem Description:
                                  Currently PowerShell has it's own systems (based on "Jobs") for doing asynchronous tasks -- while this was admirable in the .Net 2.0 and 3.0 era, in the modern .Net Framework we have new "IAsyncResult" task APIs, and they do not work in PowerShell at all.

                                  As more and more of the .Net Framework itself and 3rd party APIs begin to depend on Tasks,…

                                  9 votes
                                  Sign in
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    Password icon
                                    I agree to the terms of service
                                    Signed in as (Sign out)

                                    We’ll send you updates on this idea

                                    0 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
                                  • The ~ shortcut for the home folder should IMPLY the FileSystem.

                                    Votes from Connect: 22

                                    Original Date Submitted: 5/13/2015 11:36:18 PM

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

                                    Problem Description:
                                    Currently, when I write `cd ~` if my current provider location is not in the FileSystem provider I get this error:

                                    cd : Home location for this provider is not set. To set the home location, call "(get-psprovider
                                    'Registry').Home = 'path'".

                                    This is a very frustrating implementation because:
                                    1. Anyone who knows "~" expects it to be in the FileSystem (the equivalent of $Env:UserProfile)
                                    2. There are NO OTHER providers which define "Home"

                                    Please…

                                    9 votes
                                    Sign in
                                    Check!
                                    (thinking…)
                                    Reset
                                    or sign in with
                                    • facebook
                                    • google
                                      Password icon
                                      I agree to the terms of service
                                      Signed in as (Sign out)

                                      We’ll send you updates on this idea

                                      1 comment  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
                                    • The last thing PowerShell needs to have full parity with BASH is a Sudo Equivalent

                                      Votes from Connect: 26

                                      Original Date Submitted: 4/5/2014 3:29:10 AM

                                      Description:
                                      ********Contact Information********
                                      Handle: Stephen Owen
                                      Site Name: PowerShell
                                      Feedback ID: 846658
                                      ***************************************

                                      Frequency: Always Happens
                                      Regression: I don't know if this issue existed previously

                                      Problem Description:
                                      Hi all,

                                      With this awesome new addition of official Chocolatey (I cannot spell this word) support, we at The Scripting Guys group on FB realized that the only thing missing to have full feature parity with BASH is Sudo!

                                      Sudo has become equivalent with nerdy coolness and now that PowerShell is growing in support and fandom at such a pace, we need our…

                                      9 votes
                                      Sign in
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        Password icon
                                        I agree to the terms of service
                                        Signed in as (Sign out)

                                        We’ll send you updates on this idea

                                        0 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
                                      • Req: JEA add ability to define parameter as mandatory in psrc

                                        Currently you can define what parameters are exposes and if needed, you can provide a validateset or validatepattern for the parameter. What I can't do is specify the parameter in question should be mandatory even though the cmdlet or function does not enforce its usage.
                                        E.g.: I define the following in my psrc
                                        VisibleCmdlets = @{
                                        Name = 'Get-Process'
                                        Parameters = @{
                                        Name = 'Name'
                                        ValidateSet = 'ZoomIt'
                                        }
                                        }

                                        this does not restrict the user from just typing Get-Service and have every service returned.
                                        Current workaround is to create a proxy function and expose that instead of the cmdlet. …

                                        9 votes
                                        Sign in
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          Password icon
                                          I agree to the terms of service
                                          Signed in as (Sign out)

                                          We’ll send you updates on this idea

                                          survey  ·  1 comment  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
                                        • -windowstyle hidden

                                          Votes from Connect: 3

                                          Original Date Submitted: 8/6/2014 2:59:46 AM

                                          Description:
                                          ********Contact Information********
                                          Handle: TheWez
                                          Site Name: PowerShell
                                          Feedback ID: 938940
                                          ***************************************

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

                                          Problem Description:
                                          When running powershell.exe -windowstyle hidden a powershell prompt is still presented to the user for a short period. This period is long enough that users are able to exit the window and causing failed SCCM deployments.

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

                                          Repro Steps:
                                          Run powershell.exe -windowstyle hidden <anyscript> - A powershell prompt will…

                                          8 votes
                                          Sign in
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            Password icon
                                            I agree to the terms of service
                                            Signed in as (Sign out)

                                            We’ll send you updates on this idea

                                            3 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
                                          ← Previous 1 3 4 5 15 16
                                          • Don't see your idea?

                                          Feedback and Knowledge Base