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. $PSDefaultParameterValues should be automatically cleared in module scope (for all module types: script, manifest, and binary)

    Votes from Connect: 4

    Original Date Submitted: 4/6/2015 10:06:18 AM

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


    Problem Description:
    While the $PSDefaultParameterValues variable offers many convenient use cases to control how individual or groups of commands behave, it should be automatically cleared in a module scope. Otherwise state configuration that a user sets up in the current runspace may break functionality in modules that are used in that runspace.

    For example, June sent out a tweet suggesting you should consider forcing Get-Help to always show help in a window, like this:
    $PSDefaultParameterValues['Get-Help:ShowWindow'] = $true

    That…

    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. Receive-Job Example 4 is wrong

    Votes from Connect: 3

    Original Date Submitted: 2/10/2015 9:29:49 AM

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


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

    Problem Description:
    Example 4 of Receive-Job (the one with the $Using scope modifier) fails because the local variable ($j) holds a deserialized job object that Receive-Job can't convert.

    Please change the example to:

    $s = New-PSSession -ComputerName 'MyRemoteServer'
    $j = Invoke-Command -Session $s -ScriptBlock {Start-Job -ScriptBlock {Get-Eventlog -LogName System}}
    $iid = $j.InstanceID
    $results = Invoke-Command -Session $s -ScriptBlock {Receive-Job -InstanceID $Using:iid}

    Thanks (and sorry about the error), …

    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 →
  3. -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 regardless…

    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 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 *-Object commands

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

    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 →
  6. 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 →
  7. 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 of…

    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 →
  8. Allow Move-Item/Copy-Item Commands to work Across Compatible Providers

    Votes from Connect: 22

    Original Date Submitted: 12/27/2013 7:41:19 AM

    Description:
    Contact Information
    Handle: Mark Michaelis
    Site Name: PowerShell
    Feedback ID: 812361


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

    Problem Description:
    Hi,

    I have created several providers that work for files (e.g. Skydrive, Dropbox, photo sights, etc.). I would like to be able to copy files from the file system up to these providers and vice-versa. Please provide some means so that the provider copy-item and move-item operations will work across providers. Without this feature the following error is returned:

     &quot;Source and destination did not resolve
    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 →
  9. Mandatory parameter prompts should accept variable input

    Votes from Connect: 10

    Original Date Submitted: 12/6/2012 12:15:54 AM

    Description:

    Contact Information
    Handle: Trevor Sullivan
    Site Name: PowerShell
    Feedback ID: 773554


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

    Problem Description:
    When writing a PowerShell function, script, or ScriptBlock that accepts named parameters, it is sometimes desirable to have the end user prompted for input. PowerShell input prompts work great for strings and integers, but fails with other data types (eg. bool, object).

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

    Repro Steps:
    function Test-Parameter {

    [CmdletBinding()]
    
    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. Make it easier for module authors to store user configuration data in the right location

    Votes from Connect: 10

    Original Date Submitted: 5/9/2012 10:46:55 PM

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


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

    Problem Description:
    This is a request for v.Next (post v3). More and more admins have been asking how they can store modules in a central repository so that they can centrally manage them while making them available to all systems where they use PowerShell. This is easy to do, however they need to be careful because some modules are designed to store configuration/state information in their own…

    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 →
  11. save-help failure - "Unable to connect to help content" error while Connected to internet via corporate proxy server

    Votes from Connect: 40

    Original Date Submitted: 3/10/2012 1:56:58 PM

    Description:

    Contact Information
    Handle: ramseyg [MVP]
    Site Name: PowerShell
    Feedback ID: 730195


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

    Problem Description:
    We have a user-authenticated proxy server on our corporate network. All systems/users must authenticate to access the internet. It is seamless from an internet browser perspective. We have an autoconfiguration script, or we can just enter the proxy information into internet explorer settings, and can browse to the web without any challenge/password.

    I can even run commands like get-help get-command -online successfully. But I…

    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. Allow the .. Operator to Accept a Step Value and a Keyword to Signify the Array's length

    Votes from Connect: 10

    Original Date Submitted: 3/8/2012 8:34:09 AM

    Description:
    Contact Information
    Handle: Nektar
    Site Name: PowerShell
    Feedback ID: 729570


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

    Problem Description:
    In other scripting languages such as Python and MatLab, you can create say a list of all numbers from 0 to 100 stepping by 5 each time by typing something like 0:5:100. Also, you can splice an array from a point to the end by typing 0:end or in Python the last item is -1. In Powershell the .. operator can only accept a starting and…

    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 →
  13. Remote Registry should "just work" (no WinRM dependency)

    Votes from Connect: 13

    Original Date Submitted: 9/21/2011 11:21:52 AM

    Description:
    Contact Information
    Handle: Matthew Reynolds [MSFT]
    Site Name: PowerShell
    Feedback ID: 689864


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

    Problem Description:
    Remote registry is a core feature of Windows since before I can remember. IT Pros shouldn't have to resort to external exes, WMI, WinRM or .Net methods to use remote regsitry from powershell. They should be able to script naturally against remote registry.

    Providers/cmdlets which interact with registry (e.g., set-item, get-item, etc) should be updated to use remote registry just like they can use…

    1 vote
    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 →
  14. Implement support for remote file transfers (think scp)

    Votes from Connect: 10

    Original Date Submitted: 9/19/2011 2:51:47 PM

    Description:
    Contact Information
    Handle: PeterMoberg
    Site Name: PowerShell
    Feedback ID: 689422


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

    Problem Description:
    I would like to see file remote file transfers, like the SSH scp, implemented in PowerShell.

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

    Repro Steps:
    Expected Results:

    Internal BugId: 3022

    1 vote
    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. Get-ChildItem and 'Filter' parameter misissue

    Votes from Connect: 14

    Original Date Submitted: 6/14/2011 7:44:51 PM

    Description:
    Contact Information
    Handle: Vadims Podans
    Site Name: PowerShell
    Feedback ID: 675309


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

    Problem Description:
    '-Filter' parameter tries to bind filter pattern to a both general name and a name in the 8.3 notation (MS-DOS format). This causes that in the 'Get-ChildItem -Filter' output appears unexpected items. For details see repro section.

    Also this may cause catstrophic results if Get-ChildItem output is passed to Remove-Item cmdlet. Administrator will not expect that Program Files folders will match this pattern. Also PowerShell…

    1 vote
    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 →
  16. PowerShell Should do Globbing for Cmdlets - at least for FileSystem Paths

    Votes from Connect: 15

    Original Date Submitted: 10/21/2010 7:25:53 AM

    Description:
    Contact Information
    Handle: rkeithhill
    Site Name: PowerShell
    Feedback ID: 615447


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

    Problem Description:
    It would be nice if you could decorate an advanced function parameter with an “AcceptsWildcard” attribute like this and have the parameter parsing code actually do the wildcard expansion for you. Of course the doc comment help should use the presence of this attribute to indicate correctly whether or not the parameter accepts wildcards. Perhaps the attribute would take an option to specify simple…

    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 →
  17. PowerShell async Invoke with only one explicit statement never report completion.

    If you have PowerShell object with only one statement and you explicitly called AddStatement at the end, then async invocation (BeginInvoke/EndInvoke) of that PowerShell object will never report completion.

    PowerShell version: 5.0.10586.0

    Reproduce:
    $PowerShell=[PowerShell]::Create().AddScript{}.AddStatement()
    $PowerShell.EndInvoke($PowerShell.BeginInvoke())

    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 →
  18. get-childitem does not work correctly if -recurse and -literalpath are both specified

    Votes from Connect: 4

    Original Date Submitted: 8/24/2015 10:15:01 PM

    Description:
    Contact Information
    Handle: herzbube
    Site Name: PowerShell
    Feedback ID: 1707779


    Frequency: PowerShell
    Regression: 1. Create a folder C:[foo]
    2. Add a file "bar" to the folder
    3. Run the following commands in PowerShell:

    $path = &#39;C:\[foo]&#39;
    
    get-childitem -literalpath $path -recurse

    Problem Description:
    Let's say I have this file:

    C:\[foo]\bar
    

    I then run these PowerShell commands:

    $path = &#39;C:\[foo]&#39;
    
    get-childitem -literalpath $path

    Everything works fine, get-childitem shows me the file bar, then returns immediately.

    Now I add the -recurse option:

    $path = &#39;C:\[foo]&#39;
    
    get-childitem -literalpath $path -recurse

    get-childitem no…

    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 →
  19. Event logging memory hoard when processing a large number of pipeline objects

    Votes from Connect: 8

    Original Date Submitted: 7/28/2015 10:16:32 AM

    Description:
    Contact Information
    Handle: Keith Hill MVP
    Site Name: PowerShell
    Feedback ID: 1599091


    Frequency: PowerShell
    Regression: Run this script:

    function Get-DummyData() {

    for ($i = 0; $i -lt 10000000; $i++) {
    
    &quot;This is freaking huge!! I&#39;m a ninja! More words, yay!&quot;
    }

    }
    Get-DummyData | Out-Null

    BTW here's another example:

    1..1000000 | foreach {if ($ % 100000 -eq 0) {[GC]::Collect(2,'Forced',$true); $}}

    Problem Description:
    It appears that for every pipeline object, bound to a pipeline parameter, a string like this is stuffed into a collection - where it waits to…

    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 →
  20. PowerShell host process crash on recursive class method invocation

    Votes from Connect: 7

    Original Date Submitted: 7/15/2015 6:52:19 AM

    Description:
    Contact Information
    Handle: Trevor Sullivan [MVP]
    Site Name: PowerShell
    Feedback ID: 1546571


    Frequency: PowerShell
    Regression: class CrashMe {

    [void] BreakMe([bool] $ShouldIBreak) {
    
    $this.BreakMe($ShouldIBreak);
    }

    }

    $MyCrashMe = [CrashMe]::new();
    $MyCrashMe.BreakMe($true);

    Problem Description:
    class CrashMe {

    [void] BreakMe([bool] $ShouldIBreak) {
    
    $this.BreakMe($ShouldIBreak);
    }

    }

    $MyCrashMe = [CrashMe]::new();
    $MyCrashMe.BreakMe($true);

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

    Repro Steps:
    class CrashMe {

    [void] BreakMe([bool] $ShouldIBreak) {
    
    $this.BreakMe($ShouldIBreak);
    }

    }

    $MyCrashMe = [CrashMe]::new();
    $MyCrashMe.BreakMe($true);

    Expected Results:

    Internal BugId: 15649

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

Feedback and Knowledge Base