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-Service should return the user account the services are running under

    The Get-Service cmdlet should return the service account associated to each service.

    We can get this information easily from the Win32_Service WMI class, but to me, it should be returned by Get-Service.

    Checked with PS v5 without luck...

    Thanks!

    135 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

      7 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
    • Version Numbering for All Releases

      Please increment the version number for ALL releases, indicate which ones are supported in production, and provide a Get-PSVersionInfo cmdlet as described in http://powershell.org/wp/?p=33342.

      112 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

        10 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →

        Hi everyone,

        With PowerShell 6.0, we’ve already begun updating our versioning system to be more descriptive. Right now, PSVersion returns 6.0.0-alpha as a System.Management.Automation.SemanticVersion object (with Major, Minor, Patch, and Label properties), and we’ve also added a GitCommitId property to PSVersionTable that matches perfectly with tags on GitHub: https://github.com/powershell/powershell/tags

        Still, we can definitely continue to improve the semantic version implementation. You can track (and contribute to!) the discussion on these improvements here: https://github.com/PowerShell/PowerShell/issues/2354

        Thanks,
        Joey

      • Out-DataTable

        Creates a DataTable based on an objects properties. Useful for converting any Powershell object into a DataTable which then can be bulk imported into a SQL Server table.

        .EXAMPLE
        $dt = Get-PSDrive | Out-DataTable
        This example creates a DataTable from the properties of Get-Alias and assigns output to $dt variable

        This idea comes from Chad Miller's Out-DataTable: https://gallery.technet.microsoft.com/scriptcenter/4208a159-a52e-4b99-83d4-8048468d29dd#content

        84 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

          13 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
        • Add a "Compile" verb

          PowerShell needs a Compile verb, especially in a world of DevOps. Looking at the approved verb list, there are mediocre subtitutes that could be used in its place (Start-Compilation, Invoke-Compile, etc.), but these all use an inappropriate verb with the a variant of the verb in the noun. When the verb is finding its way into the noun, it's time for a new verb. Please add Compile to the list of approved verbs in an upcoming release.

          49 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

            8 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
          • Allow splatting without an intermediate variable.

            instead of
            $splat = @{name = "value"}
            verb-noun @splat

            Allow verb-noun @{name = "value"}

            This would make for a much cleaner and more natural look to parameters. Letting them be in the usual place of after and below the function.

            There is a stackoverflow question relating to this, that should explain it more - http://stackoverflow.com/questions/35188172/why-do-i-need-to-splat-to-a-variable-first

            42 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

              13 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →

              Thank you for your input. Based on its current ranking compared to other feedback items and product schedule, work on this item is pending (and will be driven by) further customer input. If you did not open this issue and are also impacted by it, please vote this item up.

            • PS5: Get-Help -ShowWindow doesn't display help on parameters

              Votes from Connect: 23

              Original Date Submitted: 7/15/2015 10:30:37 PM

              Description:
              ********Contact Information********
              Handle: sba
              Site Name: PowerShell
              Feedback ID: 1549114
              ***************************************

              Frequency: PowerShell
              Regression: Run Get-Help for any command with the -ShowWindow parameter

              Problem Description:
              When I do "Get-Help <command> -ShowWindow", the resulting window doesn't contain the help on parameters, even if "Parameters" is checked under "Settings" (the default)

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

              Repro Steps:
              Run Get-Help for any command with the -ShowWindow parameter

              Expected Results:
              The resulting window should contain full help.

              Internal BugId: 15650

              32 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

                4 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
              • Test-Path needs parameter for finding hidden files

                Votes from Connect: 5

                Original Date Submitted: 8/27/2015 8:45:51 PM

                Description:

                ********Contact Information********
                Handle: Eric Hodges
                Site Name: PowerShell
                Feedback ID: 1719027
                ***************************************

                Problem Description:
                Right now Test-Path has no way of checking for the existence of a hidden file. I would suggest -force to search all files (hidden or not), and/or -hidden to test only for hidden files.

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

                Repro Steps:
                Test-path hidden.txt
                True

                Test-Path h*.txt
                False

                Expected:
                True

                Internal BugId: 15763

                29 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  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
                • PSv4+ New-PSSession with -CertificateThumbprint only works with ADCS generated certificates

                  I am unable to authenticate with a client certificate generated from OpenSSL or New-SelfSignedCertificate from a Windows 10 or 2012R2 powershell remoting client (likely broken in 8.1 but I did not test). I receive the following error:

                  new-PSSession : The WinRM client cannot process the request. If you are using a machine certificate, it must contain a DNS name in the Subject Alternative Name extension or in the Subject Name field, and no UPN name. If you are using a user certificate, the Subject Alternative Name extension must contain a UPN name and must not contain a DNS name. Change…

                  28 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  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
                  • Implement cmdlets for manipulating Timezone on workstations and servers

                    currently Powershell does not provide a native cmdlet to manipulate timezone. this functionality would help enable desktop, server and DSC scenarios. I realize that calling tzutil.exe is a viable workaround. but it seems like an easy thing to expose as a cmdlet

                    23 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  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
                    • Add ability to cancel Intellisense engine results

                      Right now, if an exception occurs in the argument completer, then it immediately returns, and "falls back" to the built-in filesystem / item-based auto-completion. If an exception occurs in my custom argument completers, I'd rather be able to cancel auto-completion altogether, rather than have a bunch of useless results be thrown at the user.

                      22 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  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
                      • Enable users to stop pipeline/making StopUpstreamCommandsException public

                        Votes from Connect: 24

                        Original Date Submitted: 10/25/2012 1:54:42 PM

                        Description:
                        ********Contact Information********
                        Handle: TobiasWeltner
                        Site Name: PowerShell
                        Feedback ID: 768650
                        ***************************************

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

                        Problem Description:
                        In PSv3, the pipeline can be stopped. Select-Object supports this with its -First parameter by raising a (non-public) StopUpstreamCommandsException exception.

                        It is of great value to be able to stop the pipeline if your mission is completed before the emitting cmdlet has provided all results.

                        In fact, the PS pipeline would gain a completely new "feature". Currently, it is a memory throttle and…

                        17 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  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
                        • Enhance Set-PSBreakpoint to allow us to set Exception breakpoints

                          It is annoying when I’m debugging in the ISE and an unhandled exception occurs - the ISE debugger just exits. It gives me no chance to debug the issue that caused the unhandled exception while still debugging. The importance of stopping **in** the debugger, is that I can examine the state of variables throughout the call stack which can be very helpful in tracking down "why" the unhandled exception occurred.

                          So first, I want to set an "unhandled" exception breakpoint that would cause PowerShell to “break into” the debugger on any unhandled exception i.e. put the brakes on just before…

                          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

                            1 comment  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
                          • Add easy column aliasing for Select-Object

                            In SQL, columns can be aliased as simply as this

                            Select GivenName as FirstName, Surname as "Last Name"

                            With PowerShell, I generally refer to a webpage or reference guide for a refresher on the syntax for Select-Object aliasing.

                            Select-Object @{Name="Surname";Expression={$_."Last Name"}}, @{Name="GivenName";Expression={$_."First Name"}}

                            I understand that Expressions are Powerful, but SQL supports similar power as seen in this example

                            Select GivenName AS FirstName, Surname AS 'Last Name' FROM names

                            SELECT NameChange =
                            CASE
                            WHEN Surname = 'LeMaire' THEN 'The Mayor'
                            END
                            FROM names

                            Please add easier column name aliasing for Select-Object.

                            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

                              0 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
                            • #Requires -Module needs RequiredVersion option

                              Votes from Connect: 4

                              Original Date Submitted: 11/14/2015 5:05:21 AM

                              Description:
                              ********Contact Information********
                              Handle: June Blender
                              Site Name: PowerShell
                              Feedback ID: 2014667
                              ***************************************

                              Problem Description:
                              To require the exact version of a module, I need a RequiredVersion option in #Requires.

                              The ModuleVersion key in the #Requires -Module hashtable: @{ModuleName=''; ModuleVersion=''} behaves as a minimum version requirement. Not all versions of all modules are backward-compatible. With the proliferation of versions, including side-by-side in PowerShell 5.0, we need to be able to require a particular version.

                              Also, about_Requires describes the ModuleVersion, but does not mention that it's a minimum (because I didn't…

                              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

                                0 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
                              • ParameterSet names should not be case sensitive

                                Votes from Connect: 130

                                Original Date Submitted: 7/24/2014 11:42:29 PM

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

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

                                Problem Description:
                                Powershell is not a case sensitive language, and yet, ParameterSet names are case sensitive, and mixing up the case of a name can results in multiple sets. This should not be so.

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

                                Repro Steps:
                                function test-case {
                                param(
                                [Parameter(ParameterSetName="Test",Mandatory=$true)][Switch]$TitleCase,
                                [Parameter(ParameterSetName="test",Mandatory=$true)][Switch]$LowerCase,
                                [Parameter(ParameterSetName="TEST",Mandatory=$true)][Switch]$UpperCase
                                )
                                $PSCmdlet.ParameterSetName
                                }

                                # Both…

                                14 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  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
                                • #Requires -Module error is confusing when version fails

                                  When a #Requires -Module version requirement (ModuleVersion, MaximumVersion, RequiredVersion) is not satisfied, the error message says that the module isn't found, not that the *version* of the module isn't found.

                                  This is potentially very confusing.

                                  & : The script 'Module.Help.Tests.ps1' cannot be run because the following modules that are specified by the "#requires" statements of the script are missing: Pester.
                                  At C:\ps-test\Test-PesterScriptParameter.ps1:18 char:3
                                  + & $TestPath -ModuleName PSScriptAnalyzer
                                  + ~~~~~~~~~
                                  + CategoryInfo : ResourceUnavailable: (Module.Help.Tests.ps1:String) [], ScriptRequiresException
                                  + FullyQualifiedErrorId : ScriptRequiresMissingModules

                                  14 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  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
                                  • Software Restriction Policy - Constrained Language Mode

                                    Excerpt from this article ‘Constrained PowerShell’ https://blogs.msdn.microsoft.com/powershell/2015/06/09/powershell-the-blue-team:

                                    "In version 5, Power Shell now reduces its functionality to "Constrained Mode" for both interactive input and user-authored scripts when it detects that Power Shell scripts have an ‘Allow Mode’ policy applied to them. Constrained Power Shell limits the language mode to Constrained Language (as described in about_Language_Modes), a mode first introduced for Windows RT.

                                    Constrained Language doesn’t limit the capability of the core Power Shell language – familiar techniques such as variables, loops, and functions are all supported. It does, however, limit the extended language features that can lead to unverifiable…

                                    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  ·  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]…

                                      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  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
                                      • Allow Environment Variable as default value for function parameter.

                                        When defining a function, I would like to use an environment variable as the default value. If the environment variable exists and has a value that value will be used. For example,

                                        function Get-Info ([Alias("name")] [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)] [string] $projectName = $env:Project_Name)
                                        {
                                        }

                                        Instead of having to passing in the Project Name for each call I would like to store it in an environment variable. When I do it would allow me to call Get-Info with no parameters and the value in the environment variable would be used. If the environment variable does not exist or is empty the user…

                                        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

                                          3 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…

                                          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

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

                                          Feedback and Knowledge Base