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. -match, -notmatch, -replace, and -split operators have inconsistent case-sensitivity behavior

    Votes from Connect: 5

    Original Date Submitted: 2/4/2015 1:35:58 PM

    Description:
    ********Contact Information********
    Handle: David Wyatt
    Site Name: PowerShell
    Feedback ID: 1114651
    ***************************************

    Frequency: Always Happens
    Regression: I do not know if this issue existed previously

    Problem Description:
    One would expect -imatch to always be case-insensitive, and -cmatch to always be case sensitive. However, this is only true if you pass something other than a [regex] object on the right of the operator. Under those conditions, PowerShell builds a new regex object with the proper case sensitive setting. If you pass in a [regex] object, it just uses that object…

    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  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  2. Add ForEach-Object and Where-Object to the built-in ISE snippets

    Votes from Connect: 3

    Original Date Submitted: 11/23/2014 8:12:21 PM

    Description:
    ********Contact Information********
    Handle: Martin Schvartzman
    Site Name: PowerShell
    Feedback ID: 1037606
    ***************************************

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

    Problem Description:
    The snippets (CTRL+J) are very helpful for beginners, but the basic ForEach-Object and Where-Object snippets are missing.
    It would be great to have these added to the built-in snippets.

    As a workaround, they can be created using the New-IseSnippet cmdlet:
    New-IseSnippet -Title ForEach-Object -Description 'This snippet inserts the ForEach-Object syntax' -Text 'ForEach-Object { $_ }' -CaretOffset 19 -Force
    New-IseSnippet -Title Where-Object -Description 'This snippet…

    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  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
  3. Add support for calculated properties to Measure-Object

    Votes from Connect: 4

    Original Date Submitted: 11/20/2014 5:43:42 AM

    Description:
    ********Contact Information********
    Handle: Tom Nolan [MSFT]
    Site Name: PowerShell
    Feedback ID: 1033948
    ***************************************

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

    Problem Description:
    Most of the *-Object commands support the use of calculated properties, but Measure-Object doesn't. This would be a useful piece of functionality and would also put it in line with the other cmdlets.

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

    Repro Steps:
    # The following code is a simple example showing the various…

    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  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  4. Add bandwidth switch to invoke-webrequest

    Votes from Connect: 3

    Original Date Submitted: 11/15/2014 1:29:53 AM

    Description:
    ********Contact Information********
    Handle: Gantcho Radoslavov
    Site Name: PowerShell
    Feedback ID: 1029839
    ***************************************

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

    Problem Description:
    Invoke-webrequest is proving quite helpful. It would be nice however to be able to control the bandwidth used by the cmdlet. Is it possible to add the feature to throttle the bandwidth used by the command?

    Thank you

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

    Repro Steps:
    using invoke-webrequest to fetch files…

    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  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  5. Need cmdlets to configure user rights and privileges

    Votes from Connect: 5

    Original Date Submitted: 10/29/2014 8:02:24 PM

    Description:
    ********Contact Information********
    Handle: BigBadJogr
    Site Name: PowerShell
    Feedback ID: 1014489
    ***************************************

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

    Problem Description:
    Configuring user/group rights and privileges from PowerShell is too complex.
    There are a number of solutions that imply using 3rd party dlls, C#, ntrights.exe or secedit.exe, but I think this is a scenario that should be supported natively by PowerShell.
    e.g.
    Set-UserRight -userName localhost\MyUser -Right SeInteractiveLogonRight -Allow

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

    Repro…

    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 →
  6. Pressing Tab ought to complete keywords like "return"

    Votes from Connect: 3

    Original Date Submitted: 10/28/2014 3:33:07 AM

    Description:
    ********Contact Information********
    Handle: Doug Finke
    Site Name: PowerShell
    Feedback ID: 1012967
    ***************************************

    Frequency: Always Happens
    Regression: I do not know if this issue existed previously

    Problem Description:
    Type re<TAB>does not complete to the keyword return

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

    Repro Steps:
    Type re<TAB>does not complete to the keyword return

    Expected Results:
    Typing re<TAB>should expand to the keyword return

    Internal BugId: 13070

    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 →
  7. DSC configuration fails if WinRM service restarts while the enact is in process

    Votes from Connect: 7

    Original Date Submitted: 10/20/2014 11:07:16 PM

    Description:
    ********Contact Information********
    Handle: Ravikanth.Chaganti
    Site Name: PowerShell
    Feedback ID: 1006559
    ***************************************

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

    Problem Description:
    When DSC configuration enact process is in progress (either push or pull), any interruption in WinRM service disconnects the CIM session and leads to failure of configuration. The inability to recover from wsman disconnection is an issue within a data center. There are many reasons why such a disconnection may happen and this needs to be fixed.

    Product Studio item created by Connect Synchronizer due…

    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  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
  8. Add -Splat common parameter

    Votes from Connect: 21

    Original Date Submitted: 9/26/2014 11:22:14 PM

    Description:
    ********Contact Information********
    Handle: Kirk Munro
    Site Name: PowerShell
    Feedback ID: 982475
    ***************************************

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

    Problem Description:
    Splatting is incredibly useful, but the syntax required does not support several use cases that should be supported, such as:
    1. Splatting a hashtable of parameter/value pairs that is not stored in a variable.
    2. Splatting a hashtable that is in a nested parameter.
    3. Splatting a hashtable that is returned from a method call.

    In all of these scenarios, you need to store…

    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 →
  9. Caught exceptions still appear in global $Error list

    Votes from Connect: 3

    Original Date Submitted: 9/16/2014 12:15:09 AM

    Description:
    ********Contact Information********
    Handle: Aaron Jensen
    Site Name: PowerShell
    Feedback ID: 972566
    ***************************************

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

    Problem Description:
    When you catch exceptions, those exception still appear in the global $Error list. I expect that caught exceptions shouldn't appear there because I'm catching and handling them. We have build pipelines that fail builds if there are any errors in the global $Error variable, and this causes false failures in situations where we are handling the exceptions.

    $Error.Clear()
    try
    {
    throw 'Blarg!'
    }
    catch …

    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  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  10. Set-StrictMode -Version latest doesn't error in some contexts

    Votes from Connect: 3

    Original Date Submitted: 9/13/2014 5:51:52 AM

    Description:
    ********Contact Information********
    Handle: Derp McDerp
    Site Name: PowerShell
    Feedback ID: 970514
    ***************************************

    Frequency: Always Happens
    Regression: I do not know if this issue existed previously

    Problem Description:
    Set-StrictMode -Version latest

    ${env:with-paths-that-dont-exist}
    ${function:with-paths-that-dont-exist}
    ${drives:with-paths-that-dont-exist}
    # I expect these to error but they don't

    "asdf" > $null
    $a = $null ; "asdf" > $a
    "asdf" > ''
    # I expect these to error but they don't
    (though honestly, > $var should be a syntax error, users should be required to use Out-File)

    Product Studio item created by Connect Synchronizer due to…

    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 →
  11. Dynamic switches before positional parameters may not work as expected

    Votes from Connect: 4

    Original Date Submitted: 8/31/2014 12:30:14 PM

    Description:
    ********Contact Information********
    Handle: Roman Kuzmin
    Site Name: PowerShell
    Feedback ID: 960194
    ***************************************

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

    Problem Description:
    StackOverflow question:
    http://stackoverflow.com/questions/25560038/dynamic-switches-before-positional-parameters-may-not-work-as-expected

    Here is the code that demonstrates the problem. The cmdlet Set-Location has the
    dynamic switch ReadOnly if the provider is FileSystem.

    ------8<--------

    # provider that does not have the dynamic ReadOnly
    Set-Location env:

    # case 1: works because we explicitly specify FileSystem
    Get-ChildItem C:\ -ReadOnly

    # case 2: fails even though we explicitly specify FileSystem
    Get-ChildItem -ReadOnly C:\

    ------8<--------

    Normally position…

    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  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  12. Various parameter annoyances / inconsistencies with builtin cmdlets

    Votes from Connect: 4

    Original Date Submitted: 8/23/2014 7:08:24 AM

    Description:

    ********Contact Information********
    Handle: Derp McDerp
    Site Name: PowerShell
    Feedback ID: 953115
    ***************************************

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

    Problem Description:
    I wrote 2 functions (Find-ParamClash and Find-Param) to explore parameters in cmdlets (see the attatchments for source code). They found some problems/annoyances with the stock cmdlets in PowerShell v4:

    (Note: the lists below aren't comprehensive because Find-ParamClash and Find-Param uses the data returned by Get-Command. The fields needed are mostly empty because PowerShell lazy loads modules but gives you no way to see the…

    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 →
  13. Hashtables seem to use different comparers on setting a value and creating the hashtable

    Votes from Connect: 4

    Original Date Submitted: 8/18/2014 1:14:35 PM

    Description:
    ********Contact Information********
    Handle: Hypftier
    Site Name: PowerShell
    Feedback ID: 948988
    ***************************************

    Frequency: Always Happens
    Regression: I do not know if this issue existed previously

    Problem Description:
    Apparently all keys are coerced to strings, or at least treated the same:

    PS> $x = @{1 = 5; '1' = 7}
    At line:1 char:15
    + $x = @{1 = 5; '1' = 7}
    + ~~~
    Duplicate keys '1' are not allowed in hash literals.
    + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : DuplicateKeyInHashLiteral

    However, when retrieving or setting values this…

    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 →
  14. "Windows Security Warning" dialog box cannot be dismissed

    Votes from Connect: 7

    Original Date Submitted: 7/17/2014 5:22:27 PM

    Description:
    ********Contact Information********
    Handle: Invoke-Alex
    Site Name: PowerShell
    Feedback ID: 922384
    ***************************************

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

    Problem Description:
    Certain sites will cause a dialog box with the title "Windows Security Warning" and contents "To allow this website to provide information personalized for you, will you allow it to put a small file (called a cookie) on your computer?" to open.

    If the Invoke-WebRequest command is done manually, I can dismiss the dialog box. However, if the Invoke-WebRequest is called from a script via…

    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 →
  15. PowerShell doesn't allow elided `N on nested generic types

    Votes from Connect: 3

    Original Date Submitted: 7/12/2014 5:52:23 AM

    Description:
    ********Contact Information********
    Handle: Derp McDerp
    Site Name: PowerShell
    Feedback ID: 918471
    ***************************************

    Frequency: Always Happens
    Regression: I do not know if this issue existed previously

    Problem Description:
    PowerShell allows you to elide the `N on generic types, e.g.:

    [tuple[int,float]]

    instead of:

    [tuple`2[int,float]]

    But it doesn't work on nested generics, see the reproduction steps for an example. I can't tell if this is a bug or is intentional but it feels like a bug to me.

    Product Studio item created by Connect Synchronizer due to creation of feedback ID 918471…

    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 →
  16. Add formatting to Get-Help's output

    Votes from Connect: 6

    Original Date Submitted: 7/10/2014 9:26:39 PM

    Description:

    ********Contact Information********
    Handle: sba
    Site Name: PowerShell
    Feedback ID: 917423
    ***************************************

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

    Problem Description:
    As of PS4, the output from Get-Help looks very much like a Unix manpage in the 1970s: no colors, no underline, no bold (only some with -ShowWindow)...

    In 2014, I would expect formatted output -- see attached files to get... the picture ;-)

    The ability to have Get-Help output to a browser window, from where one would be able to print, would also be nice…

    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 →
  17. [System.Management.Automation.Internal.AutomationNull]::Value shouldn't be [psobject] or [pscustomobject]

    Votes from Connect: 3

    Original Date Submitted: 6/24/2014 2:10:27 PM

    Description:
    ********Contact Information********
    Handle: Derp McDerp
    Site Name: PowerShell
    Feedback ID: 904177
    ***************************************

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

    Problem Description:
    <# The following is behaving as expected: #>

    $null -eq [System.Management.Automation.Internal.AutomationNull]::Value
    # True
    [System.Management.Automation.Internal.AutomationNull]::Value -eq $null
    # True

    $null -is [object]
    # False
    [System.Management.Automation.Internal.AutomationNull]::Value -is [object]
    # False

    <# Now it starts getting weird: #>

    $null -is [psobject]
    # False
    [System.Management.Automation.Internal.AutomationNull]::Value -is [psobject]
    # True

    $null -is [pscustomobject]
    # False
    [System.Management.Automation.Internal.AutomationNull]::Value -is [pscustomobject]
    # True

    [AutomationNull] should be $false for those two just like…

    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 →
  18. Scripts loaded via a ScriptsToProcess attribute in a module manifest appear as if they are loaded modules

    Votes from Connect: 8

    Original Date Submitted: 6/23/2014 9:36:52 PM

    Description:
    ********Contact Information********
    Handle: Kirk Munro
    Site Name: PowerShell
    Feedback ID: 903654
    ***************************************

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

    Problem Description:
    If you load a module that has one or more scripts in the ScriptsToProcess attribute of the module manifest, each of those scripts will appear as if they are modules after the module you loaded has finished loading. This should be fixed, because these scripts are just scripts, not modules.

    Product Studio item created by Connect Synchronizer due to creation of feedback ID 903654…

    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 →
  19. Provide expected Comparison handling for DBNull

    Votes from Connect: 15

    Original Date Submitted: 3/9/2014 12:24:59 AM

    Description:
    ********Contact Information********
    Handle: Cookie.Monster
    Site Name: PowerShell
    Feedback ID: 830412
    ***************************************

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

    Problem Description:
    Greetings,

    First, my apologies. I have little development experience and thus may use improper terminology. My suggestion is to have PowerShell provide handling of System.DBNull values as one might logically expect.

    Current situation:
    if([System.DBNull]::Value){"I would not expect this to display"} #The text displays.

    Expected situation:
    if([System.DBNull]::Value){"I would not expect this to display"} #The text does not display

    How this affects users:
    When I run Invoke-SQLCMD,…

    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 →
  20. Add #requires –runasadministrator ability to Module Manifest

    Votes from Connect: 10

    Original Date Submitted: 2/10/2014 11:05:45 PM

    Description:
    ********Contact Information********
    Handle: Jonathan Medd
    Site Name: PowerShell
    Feedback ID: 817081
    ***************************************

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

    Problem Description:
    PowerShell v4 adds the below new statement:

    #requires –runasadministrator

    It would be useful to have this same ability available in a Module Manifest, e.g.

    # Requires Run As Administrator
    # RunAsAdministrator = $true

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

    Repro Steps:
    Add the below to your Module Manifest:

    # Requires Run…

    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 →
  • Don't see your idea?

Feedback and Knowledge Base