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. Fix [DateTime] for proper international use

    Votes from Connect: 21

    Original Date Submitted: 12/22/2014 2:44:28 AM

    Description:
    Contact Information
    Handle: Chris J Warwick
    Site Name: PowerShell
    Feedback ID: 1062130


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

    Problem Description:
    The [DateTime] type accelerator assumes US format dates for short date formats. As a user outside of the US, the date ‘1/2/2014’ would be the 1st February 2014 for me - but I assume not everyone would see it that way. This does not vary depending on your locale.

    I often see people struggling with this and even to this day, date formatting is…

    5 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 →
  2. Split-Path needs more -LiteralPath parameter sets

    Votes from Connect: 3

    Original Date Submitted: 8/26/2014 10:31:51 AM

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


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

    Problem Description:
    Split-Path with -Parent, -IsAbsolute, -Leaf, -NoQualifier, or -Qualifier only works on -Path not -LiteralPath.

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

    Repro Steps:
    Expected Results:

    Internal BugId: 8973

    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  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  3. Import-Module "less discoverable" warning is not shown for functions without verbs

    Votes from Connect: 3

    Original Date Submitted: 8/7/2014 11:44:46 PM

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


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

    Problem Description:
    The warning when importing modules with commands that have unapproved verbs has become something I expect, but I've just realized it doesn't always show up. That is, it doesn't show for all commands without approved verbs, but rather, only for commands with verbs that aren't approved. If the command HAS NO VERB AT ALL, that doesn't cause a warning:

    New-Module -Name Undiscoverable { function…

    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  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  4. Invoke-RestMethod bypasses proxy server for local connections

    Votes from Connect: 3

    Original Date Submitted: 7/25/2014 12:59:37 AM

    Description:
    Contact Information
    Handle: Trevor Sullivan
    Site Name: PowerShell
    Feedback ID: 928132


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

    Problem Description:
    When using Invoke-RestMethod to connect to the local computer, the proxy server specified in the -Proxy parameter, as well as the configured system-wide proxy (eg. when using Fiddler), is bypassed.

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

    Repro Steps:
    1. Install IIS (if necessary)
    2. Open PowerShell ISE
    3. Install/launch Fiddler
    4. Run…

    5 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 →
  5. PowerShell ignores Code Signing on PSD1 Manifests

    Votes from Connect: 16

    Original Date Submitted: 8/13/2013 12:08:13 AM

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


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

    Problem Description:
    Although the Set-AuthenticodeSignature command supports signing .psd1 module manifest files, PowerShell never validates the signature, so they can be modified at will regardless of Execution Policy.

    This means that anyone with file system access can create and alter psd1 files for modules to load whatever content they wish, and PowerShell will not complain (regardless of Execution Policy) unless the files pointed to by the…

    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  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  6. PS3 Length property added to all objects should be PSCount

    Votes from Connect: 14

    Original Date Submitted: 7/12/2013 2:00:15 AM

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


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

    Problem Description:

    In PowerShell v3 the "Length" property was added to ALL objects. This was wrong. It should have been a new PSCount or PSLength property, because the way it is now it gets in the way of all sorts of scenarios where objects are in heterogeneous collections of objects where some have Length and others don't, and you want to use that property.…

    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  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  7. SSH protocol in Windows PowerShell

    Votes from Connect: 39

    Original Date Submitted: 5/6/2013 2:09:18 PM

    Description:
    Contact Information
    Handle: Real McCoy
    Site Name: PowerShell
    Feedback ID: 786397


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

    Problem Description:
    [Redirected from http://social.technet.microsoft.com/Forums/en-US/winserverpowershell/thread/f70168bf-f575-47c7-b889-3c38dd6a776a]
    I guess the lack of out-of-the-box support for the open protocol, such as SSH and SFTP in Windows shells is one the main reason the PHP, Ruby and Python developers don't feel nativity in Windows ecosystem.

    Windows Azure supports SSH, so what's stopping Windows PowerShell and Command Prompt teams to implement these proven and massively adopted protocols in their commands bucket?…

    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  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  8. Explorer 'Pinned Items' on the taskbar opening in PowerShell 7 rather than explorer

    I have pinned folders to my task bar under Explorer.exe. Since installing PowerShell 7 these links open in PowerShell rather than explorer.

    4 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. OpenSource NetTCPIP and put it in a GitHub repo.

    I am extremely annoyed by Test-NetConnection and would like to make it better. Why is there not a skip ICMP flag, or a timeout flag?

    Please, OpenSource this so the community could improve this tooling for all.

    4 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 →
  10. Dynamic param is silently ignored

    Dynamic param is silently ignored, and no errors are thrown when CmdletBinding is not defined.

    [CmdletBinding()]
    Param()

    The following code should either run successfully, or throw an error:

    Function Add-Control() {

    DynamicParam {
    
    $ParamAttribute = New-Object Parameter
    $ParamAttribute.Mandatory = $true
    $ParamAttribute.ParameterSetName = '__AllParameterSets'

    $AttributeCollection = New-Object System.Collections.ObjectModel.Collection[System.Attribute]

    $AttributeCollection.Add($ParamAttribute)

    $controlTypes = @("TextBox", "Label", "DataGrid")

    $AttributeCollection.Add((New-Object ValidateSet($controlTypes)))

    $RuntimeParam = New-Object System.Management.Automation.RuntimeDefinedParameter('Type', [string], $AttributeCollection)

    $RuntimeParamDictionary = New-Object System.Management.Automation.RuntimeDefinedParameterDictionary

    $RuntimeParamDictionary.Add('Type', $RuntimeParam)

    return $RuntimeParamDictionary
    }

    Process {
    Write-Host ($PSBoundParameters['Type'])
    }

    }

    Add-Control -Type "Test"

    $null

    4 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 →
  11. BUG: binary module loading fails silently on Fall Creators update on some machines

    occurs in PS 5.1 on Windows 10, Fall Creators update
    First observed with SqlServer module 21.0.17199
    Also occurs with PsWindowsUpdate v2.0.0.0 , SqlServer 21.0.17224

    Pretty much what it says - with either autoload or Import-Module, the module loads with no complaints but the cmdlets aren't there. The assemblies do get loaded into the appdomain. I found no obvious clues poking around with ProcMon and Trace-Command (obvious to me, anyway). Happens on some machines, not others. Reported by 3 users (that I know of), in each case after updating to the Fall Creators update. If you have any debugging hints, they'd…

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

    We’ll send you updates on this idea

    6 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  12. [Bug] Windows Management Framework 5.1, ExecutionPolicy set via "User Configuration" (Group Policy) does NOT apply to the "UserPolicy" scope

    [Bug] On Windows Management Framework 5.1, ExecutionPolicy set via "User Configuration" (Group Policy) does NOT apply to the "UserPolicy" scope (defaults to "Undefined") on OSs other than Windows 10 and Windows Server 2016

    Affected operating systems:
    Windows Server 2012 (confirmed)
    Windows Server 2008 R2 (confirmed)
    Windows 8.1 (unconfirmed)
    Windows 8 (unconfirmed)
    Windows 7 SP1 (confirmed)

    Explanation:
    I want to set ONLY the UserPolicy ExecutionPolicy scope to be "Restricted" and leave the MachinePolicy ExecutionPolicy scope as "Undefined" so that it isn't overriding the UserPolicy scope. This will allow the "Builtin\System" \ "NT Authority\System" \ "%ComputerName%$" account to run scripts but NOT…

    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  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  13. Inconsistant handling of native command stderr

    I discovered recently that the handling of stderr from native commands isn't being dealt with consistently between Windows PowerShell and Windows PowerShell ISE.

    Steps to reproduce

    powershell
    $errorActionPreference="stop"; try { cmd /c nosuchexe } catch { 'dang!' }

    Actual ISE behavior (expected)

    none
    dang!

    Native commands writing to stderr while $errorActionPreference="stop" generate a catchable NativeCommandError which encapsulates the original error message in a ErrorRecord. It is easy to capture, analyze, and reword error messages in context.

    Actual CLI behavior

    none
    'nosuchexe' is not recognized as an internal or external command,
    operable program or batch file.

    No NativeCommandError is generated,…

    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  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  14. Powershell and collections (in particular, collection of preference variables)

    I've been struggling with exporting and importing preference variables from local to remote sessions. One idea that came to me was the idea of a collection of preference variables. According to a fellow at StackOverflow, Powershell doesn't institute these kinds of collections. If this is true, I would kindly request them to be implemented.

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

    We’ll send you updates on this idea

    3 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →

    What are the environment variables you are interested in exporting? If it’s possible to enumerate them, then you can set them up in multiple locations.
    Take a look at the New-PSSessionConfigurationFile cmd (start with the help for it). It’s designed to enable part of the scenario you are interested in, but not sure if that is enough of what you are asking for.

  15. Workflow: activities in nested workflows invoked from ForEach -Parallel execute on wrong machines

    Consider a workflow which is given a list of servers. The workflow contains a ForEach -Parallel block, which invokes a nested workflow tor each server from the list (using -PSComputerName). In this scenario, activities from some of the nested workflow instances sometimes execute on different servers than they should.

    Repro:
    workflow Reproduce-ForEachParallelRemotingBugChild
    {

    Param ([string] $s)
    
    Write-Verbose "(s=$s) PSComputerName $PSComputerName"
    Write-Verbose "(s=$s) sleeping"
    Start-Sleep -Seconds 1
    Write-Verbose "(s=$s) getting item"
    $x = Get-Item -Path C:\
    Write-Verbose "(s=$s) $($x.Name) $($x.PSComputerName)"
    Write-Verbose "(s=$s) PSComputerName $PSComputerName" # this is OK (PSComputerName does not get corrupted)
    if ($x.PSComputerName -ne $s)
    {
    Write-Error "BUG! This
    4 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    survey  ·  0 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  16. Ensure Windows Management Framework can be upgraded from built-in version without multiple upgrades

    Currently, when installing WMF5 on Windows 7, there is a pre-req of installing WMF4 first.

    Please ensure that all supported operating systems can install the latest version of Windows Management Framework without having to do incremental upgrades. This will significantly reduce the complexity of deployment in production environments and during operating system deployment.

    Thanks!

    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  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  17. Add parameters to Select-String for matching all lines from (StartPattern) to (EndPattern)

    To get blocks of text from a file, e.g. config sections from an opening tag to a closing line. All log lines for a reboot, starting with "System Booting at" and ending with "Boot Finished".

    Example:

    Select-String -Beginning '^FastEthernet' -Ending '^!'

    Output: Multiple arrays of lines taken from a Cisco switch config, each array containing the lines for a FastEthernet interface configuration.

    Example:

    Select-String -Between '^User: .*'

    Output: Arrays of lines from one "User: name" line to the next, to isolate blocks of settings for each user. Probably including the first match and excluding the second match, in the same…

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

    We’ll send you updates on this idea

    survey  ·  0 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  18. A better way to check if a file/item exists or not in PowerShell

    Votes from Connect: 3

    Original Date Submitted: 8/9/2015 2:55:53 AM

    Description:
    Contact Information
    Handle: Omid K. Rad
    Site Name: PowerShell
    Feedback ID: 1643846


    Problem Description:
    Related StackOverflow Q/A: http://stackoverflow.com/a/31888581/450913

    The syntax of Test-Path in conditional statements is just too ugly, an prone to logical errors if parenthesis are not used properly:

    if (Test-Path $path) { ... }
    
    

    if (-not (Test-Path $path)) { ... }
    if (!(Test-Path $path)) { ... }

    I would like to suggest the following aliases to be supported natively in PowerShell:

    function not-exist { -not (Test-Path $args) }
    
    Set-Alias !exist not-exist -Option "Constant, AllScope"
    Set-Alias exist Test-Path
    4 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    2 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  19. Split-Path and PS-providers

    Votes from Connect: 3

    Original Date Submitted: 5/15/2015 7:18:48 PM

    Description:
    Contact Information
    Handle: Juho Lehto
    Site Name: PowerShell
    Feedback ID: 1335123


    Problem Description:
    I've been pulling my hair out long enough, so I decided to finally submit some feedback concerning Split-Path.

    Assuming you want to use Split-Path on UNC paths, such as something like \server\path, you're fine as long as you use FileSystem PS-provider. But if you switch to something different, such as registry or ActiveDirectory providers, Split-Path either spits out an error or produces null.

    Because in the end we have no control over what providers end-users may…

    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  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  20. Copy-Item PowerShell silently continues when source is a network share that does not exist

    Votes from Connect: 5

    Original Date Submitted: 4/9/2015 6:41:07 AM

    Description:
    Contact Information
    Handle: Snooks911
    Site Name: PowerShell
    Feedback ID: 1234831


    Frequency: PowerShell
    Regression: Run the following from any powershell window:
    Copy-Item \server\share\thisdoesnotexist* -Destination c:\temp -ErrorAction Stop;

    where "\server\share\thisdoesnotexist" refers to a network location that does not exist.

    Problem Description:
    I'm seeing a strange behavior with the "Copy-Item" cmdlet. It looks like the cmdlet errors out if the source location is a local location that does not exist, but completely ignores that if the source is a network location that does not exist.

    For e.g.

    Copy-Item \server\share\thisdoesnotexist* -Destination c:\temp -ErrorAction…

    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  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  • Don't see your idea?

Feedback and Knowledge Base