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.
  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. 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

    200 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

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

    After much discussion with Aaron Nelson and Chrissy LeMaire, and thanks to the enormous amount of support for this item, we’ve recognized that this is something we need to accomplish, one way or another.

    We don’t want to offer an ETA on this as the work is not well understood by our team yet, and no one currently has immediate bandwidth on starting that investigation. But I want to stress the fact that is an important ask that we’re taking seriously as a priority.

    In the meantime, it would be immensely useful if someone with expertise in the DataTable space could submit an RFC (basically a brief spec) to our PowerShell-RFC repository on GitHub. That way, we can have a discussion about what the design of a ConvertTo-DataTable cmdlet might look like before we dive in on an implementation. The process for doing so is located here: https://github.com/PowerShell/PowerShell-RFC/blob/master/RFC0000-RFC-Process.md#draft

    I…

  2. 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!

    177 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    7 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  3. 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.

    119 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    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

  4. Out of the box support for YAML like csv / xml / json

    Votes from Connect: 25

    Original Date Submitted: 4/16/2015 7:34:07 PM

    Description:
    ********Contact Information********
    Handle: ducke
    Site Name: PowerShell
    Feedback ID: 1252364
    ***************************************

    Problem Description:
    In the "DevOps" world, YAML is a first class citizien in products like Kitchen CI, Elasticsearch, Appveyor, Travis CI, rubocop etc.
    It would be great to have commands similar to https://github.com/dfinke/PowerYaml native without the need to import a module.

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

    Repro Steps:

    Internal BugId: 14385

    116 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    2 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  5. 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.

    55 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    8 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
    survey  ·  Zachary Alexander responded

    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.

  6. 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

    50 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    16 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
    survey  ·  Zachary Alexander responded

    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.

  7. 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

    38 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  8. "Using module" statement does not reload module after changes are made

    Problem Description
    ------------------
    If you are using the `using module` statement, it will load the module without any issues. However, if you make a change to the module and run the `using module` statement again without restarting your PowerShell session, it will not load the new modified module into memory, and instead will continue to use the old existing module that was loaded. This makes doing development with `using module` statements very tedious as you must continually reload your PowerShell session whenever you make changes to the module.

    Ideally we would just use `Import-Module -Name [module name] -Force` to avoid…

    35 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    3 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  9. 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
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    4 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  10. 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…

    30 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  11. We need a proper set of built-in, easy-to-use, dedicated registry cmdlets

    Managing registry keys and values on local and remote systems with PowerShell is a pain.

    Reviewing the articles, forums and blogs on the Internet clearly shows that new PowerShell users struggle to understand how to use registry provider drives and the cmdlets like New-Item, Get-ItemProperty, New-ItemProperty, and so on. This has prompted the creation of a variety of home-brew modules and functions to deal with the problem, like this one, which is extremely useful, but is not built into PowerShell by default of course:

    https://gallery.technet.microsoft.com/RegistryLibrarypsm1-b38a81ba

    PowerShell needs a proper set of built-in, dedicated registry cmdlets that 1) are easy to…

    28 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    4 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  12. 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

    26 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  13. 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…

    23 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    6 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  14. 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
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  15. 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.

    21 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  16. 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…

    20 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  17. 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…

    19 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    2 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  18. Allow whitespace between final newline and quotation mark in here-string

    Votes from Connect: 10

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

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

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

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

    Product Studio…

    18 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  19. 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…

    17 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    3 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  20. #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…

    17 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    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 22 23
  • Don't see your idea?

Feedback and Knowledge Base