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. Potential Bug: PowerShell v5 timeout on getting output of remoting session when connected using CredSSP

    When connecting to a remote host using PowerShell Remoting and -Auth CredSSP, output of more than 21 objects will timeout when client is running PowerShell 5.0.

    When connecting to a remote host using:
    Enter-PSSession host.domain.local -Auth CredSSP -Cred domain\username

    any command yielding up to 21 objects will work as expected. However, if there are more than 21 objects, the client console shows no output and will run into timeout. The same seems to be true for the output of Invoke-Command.

    This can easily be reproduced entering the command:
    0..20 # Works as expected
    0..50 # Timeout!
    0..1000|Measure-Object # OK, supposedly…

    3 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 →
  2. Unify non-flag and flag enums

    .NET supports 2 kinds of enums, flagged and non-flagged. So you see the following code in PowerShell:

    -Include [NonFlaggedEnum[]]
    -Include [FlaggedEnum]

    In short, the [NonFlaggedEnum[]] is just emulating a [FlaggedEnum]. It would be nice if we could do something like:

    -Include [Flagged[SomeEnumType]]

    And:


    1. Have a single construct work on both flagged and non-flagged enums.

    2. have PowerShell do the boiler-plate emulation for us instead of every single script author.

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

    We’ll send you updates on this idea

    0 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  3. Windows PowerShell ISE: Implement a Save All files feature and tie it to Ctrl+Shift+S

    Votes from Connect: 18

    Original Date Submitted: 6/20/2013 11:40:16 PM

    Description:
    Contact Information
    Handle: deadlydog
    Site Name: PowerShell
    Feedback ID: 790577


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

    Problem Description:
    It would be great if PS ISE had a "Save All" files feature to save all open, unsaved files. This is considered standard functionality in most IDEs these days, and it is typically bound to the keyboard shortcut Ctrl+Shift+S. Basically the same functionality as Ctrl+S, just iterate over all open, unsaved tabs and do the same.

    Product Studio item created by Connect Synchronizer due to creation…

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

    We’ll send you updates on this idea

    2 comments  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
  4. -New-NetTransportFilter LocalPortEnd<UInt16> has default port 1065

    Either provide explanation why start at 1065 & end at 65535 as defaults or correct the TechNet ?

    1 vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Documentation  ·  Flag idea as inappropriate…  ·  Admin →
  5. Get-Help Certificate -ShowWindow

    Pretty sure this is a bug. When I run

    Get-Help Certificate -ShowWindow

    The window outputs:

    @{CmdletHelpPaths=@{CmdletHelpPath=@{command=System.Management.Automation.PSObject[]; id=Certificate}}; DetailedDescription=System.Management.Automation.PSObject[]; Notes=; Capabilities=System.Management.Automation.PSObject[]; Drives=System.Management.Automation.PSObject[]; Synopsis=Provides access to X.509 certificate stores and certificates in Windows PowerShell.; DynamicParameters=@{DynamicParameter=System.Management.Automation.PSObject[]}; RelatedLinks=@{navigationLink=System.Management.Automation.PSObject[]}; Filters=System.Management.Automation.PSObject[]; Tasks=@{Task=System.Management.Automation.PSObject[]}; Name=Certificate; Category=Provider; Component=; Role=; Functionality=}

    I'm not a programmer (yet!) but I think this shouldn't be happening.

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

    We’ll send you updates on this idea

    0 comments  ·  Documentation  ·  Flag idea as inappropriate…  ·  Admin →
  6. Scope for Environment variables

    To enhance modularity PowerShell needs to allow for scoped environment variables. CMD.exe did this years ago, with the SETLOCAL command, but a more sophisticated approach incorporating concepts like module-scope would be a real boon...

    Global variables are generally regarded as a bad idea, but that's how PowerShell has always treated environment variables. For backward compatibility, that obviously needs to be retained. But it should be possible to do things like

    $local:env:PATH += ";C:\Foo\bin"

    in one function (or module) without impacting other code.

    Obviously when Powershell spawns child processes for native commands, it would need to construct and pass the appropriate…

    1 vote
    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 →
  7. 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=&quot;Test&quot;,Mandatory=$true)][Switch]$TitleCase,
    
    [Parameter(ParameterSetName=&quot;test&quot;,Mandatory=$true)][Switch]$LowerCase,
    [Parameter(ParameterSetName=&quot;TEST&quot;,Mandatory=$true)][Switch]$UpperCase

    )
    $PSCmdlet.ParameterSetName
    }

    Both of these

    15 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. 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 own…

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

    We’ll send you updates on this idea

    1 comment  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  9. Syntax changes when using help like .Synopsis

    When I add a help section to my script, the Get-Help cmdlet displays a different syntax. Here is a MWE:

    Require -Version 4.0

    function global:Test-Syntax {

    &lt;#
    
    .Synopsis
    Cmdlet tests ValidateSet
    #&gt;
    [CmdletBinding()]
    # parameter check
    param (
    [ValidateSet(&quot;one&quot;, &quot;two&quot;, &quot;three&quot;)]
    [string]$testparam
    )
    Write-Verbose &quot;`$testparam: $testparam&quot;

    }

    Get-Help Test-Syntax shows the following in syntax section:

    SYNTAX

    Test-Syntax [[-testparam] &lt;String&gt;] [&lt;CommonParameters&gt;]
    

    After I remove .Synopsis or the whole help section, I receive the following from Get-Help:

    SYNTAX

    Test-Syntax [[-testparam] &lt;string&gt; {one | two | three}]  [&lt;CommonParameters&gt;]
    

    I would like to have the second one, because a user directly get the information…

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

    We’ll send you updates on this idea

    1 comment  ·  Documentation  ·  Flag idea as inappropriate…  ·  Admin →
  10. In the ISE console, allow selection of a command and it's output for easy copying

    In the ISE console, allow selection of a command and it's output for easy copying

    (idea from Jaykul in a Slack conversation)

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

    We’ll send you updates on this idea

    0 comments  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
  11. I wish the output properties of each cmdlet when used with System Center Virtual Machine Manager are somewhere documented.

    I wish the output properties of each powershell cmdlet when used with System Center Virtual Machine Manager are somewhere documented.

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

    We’ll send you updates on this idea

    1 comment  ·  Documentation  ·  Flag idea as inappropriate…  ·  Admin →
  12. ISE: Configurable tab size & convert tabs to spaces

    Votes from Connect: 107

    Original Date Submitted: 9/6/2012 7:43:17 PM

    Description:
    Contact Information
    Handle: HelgeKlein
    Site Name: PowerShell
    Feedback ID: 761424


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

    Problem Description:
    Any code editor really needs these two features:


    • configurable tab size (currently fixed at 4)

    • whether to convert tabs to spaces

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

    Repro Steps:
    Expected Results:

    Internal BugId: 3787

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

    We’ll send you updates on this idea

    1 comment  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  13. Add an ISE command line flag to start a separate instance with a file path

    A user will type this command to load a file into the ISE:

    powershell_ise.exe -File MyFile.ps1

    If there's an existing instance of the ISE running, the file will be opened there. There should be an option (maybe '-NewInstance') which allows the user to specify that they'd like a new ISE window.

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

    We’ll send you updates on this idea

    0 comments  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
  14. 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 the…

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

    We’ll send you updates on this idea

    1 comment  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →

    Thanks for the suggestion. This is something we are investigating, but it requires some complex review to ensure proper operation across a range of Windows actions (eg: applying Windows updates). No decision has been made at this time.

  15. PowerShell ISE Preview: Remoting isn't working (connection takes forever)

    PowerShell ISE Preview: Remoting isn't working (connection takes forever)

    1 vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
  16. In the ISE console, allow deletion of the output of the previous command

    In the ISE console, allow deletion of the output of the previous command, possibly with a key binding like Ctrl+Z.

    This is useful when the user is experimenting in the console and would like to keep a clean history for screenshotting or reference purposes.

    (idea from sifb, ctrlaltwhiskey, bmwinstead in a Slack conversation)

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

    We’ll send you updates on this idea

    0 comments  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
  17. Bug: Syntax highlighting for DSC node block

    Scenario: In a PowerShell DSC configuration block, you create a node block, by specifying a static node name. The node name has a dash in it.

    In this case, the node name is colored blue, like a command, instead of purple, like a parameter value.

    If the node name does not have a dash in it, then it is properly colored purple.

    1 vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
  18. performance of out-null drastically worse then using [void] or assigning result to $null

    Votes from Connect: 4

    Original Date Submitted: 3/28/2015 6:08:31 AM

    Description:
    Contact Information
    Handle: JasonHorner
    Site Name: PowerShell
    Feedback ID: 1208677


    Frequency: PowerShell
    Regression: gci | out-null
    void

    $null = gci

    run the above inside of measure-command the problem gets worse as the number of iteration increase

    Problem Description:
    It seems to me that:

    gci | out-null

    should be the preferred way of expressing: discard output in PowerShell

    However when running timings against alternatives
    some of the the other constructs are much faster:

    void

    $null = gci

    I realize this is likely due to the pipeline overhead. Would it be…

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

    We’ll send you updates on this idea

    2 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  19. Add MaintenanceWindow paramters to PartialConfiguration DSC

    Votes from Connect: 4

    Original Date Submitted: 12/13/2014 2:03:27 AM

    Description:
    Contact Information
    Handle: RobCannon
    Site Name: PowerShell
    Feedback ID: 1053308


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

    Problem Description:
    I would like to a parameter in a PartialConfiguration section to specify a time period.

    Some configurations would always be running and could fix configuration drift. But other configurations (that would cause a service disruption if applied) could be target to only run during a specified maintenance window. The window parameter should allow you to specify a time window and either a day of the week…

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

    We’ll send you updates on this idea

    investigating  ·  0 comments  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
  20. Powershell editor tab/indent size

    Votes from Connect: 12

    Original Date Submitted: 11/7/2014 1:29:30 AM

    Description:
    Contact Information
    Handle: SPGC
    Site Name: PowerShell
    Feedback ID: 1022999


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

    Problem Description:
    PLEASE can we have the option of changing the tab size in the editor as well as the option to replace tabs with spaces etc. as is generally available in most editors!

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

    Repro Steps:
    Expected Results:

    Internal BugId: 13090

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

    We’ll send you updates on this idea

    1 comment  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
  • Don't see your idea?

Feedback and Knowledge Base