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

    Votes from Connect: 3

    Original Date Submitted: 8/6/2014 2:59:46 AM

    Description:
    Contact Information
    Handle: TheWez
    Site Name: PowerShell
    Feedback ID: 938940


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

    Problem Description:
    When running powershell.exe -windowstyle hidden a powershell prompt is still presented to the user for a short period. This period is long enough that users are able to exit the window and causing failed SCCM deployments.

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

    Repro Steps:
    Run powershell.exe -windowstyle hidden <anyscript> - A powershell prompt will be…

    12 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 →
  2. PowerShell must support calling Async APIs

    Votes from Connect: 57

    Original Date Submitted: 3/24/2014 10:15:46 AM

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


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

    Problem Description:
    Currently PowerShell has it's own systems (based on "Jobs") for doing asynchronous tasks -- while this was admirable in the .Net 2.0 and 3.0 era, in the modern .Net Framework we have new "IAsyncResult" task APIs, and they do not work in PowerShell at all.

    As more and more of the .Net Framework itself and 3rd party APIs begin to depend on Tasks, IAsyncResult,…

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

  4. Copy headers when copying from Out-GridView

    It would be great to copy headers for all the columns when copying data from the Out-GridView table lists.

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

    We’ll send you updates on this idea

    survey  ·  2 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  5. Req: JEA add ability to define parameter as mandatory in psrc

    Currently you can define what parameters are exposes and if needed, you can provide a validateset or validatepattern for the parameter. What I can't do is specify the parameter in question should be mandatory even though the cmdlet or function does not enforce its usage.
    E.g.: I define the following in my psrc
    VisibleCmdlets = @{

    Name = &#39;Get-Process&#39;
    
    Parameters = @{
    Name = &#39;Name&#39;
    ValidateSet = &#39;ZoomIt&#39;
    }

    }

    this does not restrict the user from just typing Get-Service and have every service returned.
    Current workaround is to create a proxy function and expose that instead of the cmdlet. …

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

    We’ll send you updates on this idea

    survey  ·  1 comment  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  6. Bug: Get-ItemPropertyValue does not respect -ErrorAction SilentlyContinue

    Get-ItemPropertyValue throws an exception if the requested property does not exist when -ErrorAction is set to SilentlyContinue

    COMMAND:
    Get-ItemPropertyValue HKLM:\SOFTWARE\TEST -Name 'SomeNonExistentProperty' -ErrorAction SilentlyContinue

    OUTPUT:
    Get-ItemPropertyValue : Property SomeNonExistentProperty does not exist at path HKEYLOCALMACHINE\SOFTWARE\TEST.
    At line:1 char:1
    + Get-ItemPropertyValue HKLM:\SOFTWARE\TEST -Name 'SomeNonExistentProperty' ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : InvalidArgument: (:) [Get-ItemPropertyValue], PSArgumentException
    
    + FullyQualifiedErrorId : Argument,Microsoft.PowerShell.Commands.GetItemPropertyValueCommand

    11 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 →
  7. We need: Get-VpnConnectionRoute

    How do we list routes added with Add-VpnConnectionRoute?
    We need a Get-VpnConnectionRoute!

    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  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  8. Get-Credential does not support Smart Card user name hints

    If you utilize Smart Cards with certificates that are not directly linked to users (no suitable user DN in Subject and no UPNs in SANs), you are able to link a single certificate to multiple accounts dynamically with the caveat that users need to provide explicit user name hints during logon in order to log on.

    User name hints need to be enabled via GPO or registry settings ("X509HintsNeeded"), after which all standard credential dialogs in Windows support them, except PowerShell's Get-Credential. This effectively prevents using PowerShell remoting with such Smart Cards / certificates if different credentials are required.

    In…

    10 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. Need a PowerShell version of tpmvscmgr.exe to manage TPM smart cards

    We need a PowerShell version of tpmvscmgr.exe to manage TPM virtual smart cards.

    The tpmvscmgr.exe tool 1) does not accept PIN, PUK and AdminKey numbers as arguments, these must be entered interactively in powershell.exe only, not ISE or with a pop-up, 2) cannot list currently existing virtual smart card ID strings, and 3) is somewhat crude in how it manages card lockout policies and unlocks.

    This is needed not just for Windows clients, but also because Server 2016 Hyper-V supports virtual smart cards for guest VMs, such as for VDI scenarios.

    We need to be able to pass in PIN,…

    10 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 →
  10. PowerShell version of DEVCON.EXE or Device Manager cmdlets

    DEVCON.EXE can be used to install, uninstall, enable, disable, configure or query devices (as seen in Device Manager) from the command line. Here is the description:

    https://msdn.microsoft.com/en-us/library/windows/hardware/ff544707(v=vs.85).aspx

    To get DEVCON.EXE, you have to download the entire Windows Drivers Kit (WDK), which is 803MB in size, and, as I understand it, DEVCON cannot be legally redistributed or shared separately.

    It would be good to have a PowerShell cmdlet to replace DEVCON that is either installed by default or available in the PSGallery.

    Or just allow DEVCON.EXE to be downloaded separately from the WDK somehow, like through NuGet, PSGallery or anywhere.

    Or…

    10 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 →

    The PnpDevice module contains some of the features available in Devcon.exe. If there are tasks that you cannot perform using it, please let us know what is missing, along with a basic comment of why you would use them.

  11. Get-Help needs to work better in the face of multiple versions of a module

    I understand when Get-Help shows me multiple results for the same command when there are different sources of the same command e.g.:

    4> get-help format-hex

    Name Category Module Synopsis


    Format-Hex Function Microsoft.PowerShell.U... ...
    Format-Hex Cmdlet Pscx PSCX Cmdlet:

    However this doesn't make sense when it is just different versions of the same command:

    8> get-help about_psreadline

    Name Category Module Synopsis


    aboutPSReadline HelpFile
    about
    PSReadline HelpFile

    I think Get-Help needs to be smart about this latter situation and A) only list the version of about_PSReadline that corresponds to the loaded module or B) if the module is not loaded, display…

    10 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 →
  12. Provide option to not encode HTML special characters in ConvertTo-Json

    Votes from Connect: 3

    Original Date Submitted: 9/5/2014 12:56:01 AM

    Description:
    Contact Information
    Handle: LogicalDiagram
    Site Name: PowerShell
    Feedback ID: 963913


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

    Problem Description:
    When passing strings through ConverTo-Json, HTML special characters are encoded. It would be valuable if there was an option to preserve the original string.

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

    Repro Steps:
    PS C:> "bob < jack" | ConvertTo-Json
    "bob \u003c jack"

    Expected Results:
    PS C:> "bob < jack" | ConvertTo-Json -NoEncoding
    "bob < jack"

    10 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. PSRemoting breaks because it used SPN name with class HTTP/ instead of using WSMAN/

    Votes from Connect: 21

    Original Date Submitted: 6/28/2012 9:11:46 PM

    Description:
    Contact Information
    Handle: ito1
    Site Name: PowerShell
    Feedback ID: 751307


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

    Problem Description:
    I'm on Tech-Ed europe and talked to Jeffrey Snover regarding this issue, we aggreed that I een assigned a SPNshould file it here so you could have a look at it.
    We also have a case with PSS regarding this issue case number 212060639374753001.

    The problem is related to the use of SPN names when doing PSRemoting. If connecting from a PowerShell client to a server…

    10 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 →
  14. Group-Object fails with a NullReferenceException for certain objects

    In PowerShell 5.0, Group-Object crashes with a NullReferenceException when one of the objects passed to it contains a NoteProperty of type PSCustomObject and no value (null) and the list of properties for grouping includes that property. Such an object can be produced by Select-Object.

    A simple reproduction (Windows 10 November Update, fully patched as of 2016-05-13):

    PS C:&gt; $PSVersionTable

    Name Value


    PSVersion 5.0.10586.122
    PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
    BuildVersion 10.0.10586.122
    CLRVersion 4.0.30319.42000
    WSManStackVersion 3.0
    PSRemotingProtocolVersion 2.3
    SerializationVersion 1.1.0.1

    PS C:&gt; $x = Get-Item -Path . | Select-Object -Property Name, @{Name = 'X'; Expression = { $null | Sort-Object -Unique }} …

    9 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. [Bug] Update-ModuleManifest fails if TypesToProcess or FormatsToProcess have values

    If a module contains valid values for the TypesToProcess or FormatsToProcess properties, Update-ModuleManifest fails with this error:

    > Update-ModuleManifest -Path .\Carbon\Carbon.psd1 -Tags 'fubar','snafu'
    Update-ModuleManifest : Cannot update the manifest file '.\Carbon\Carbon.psd1' because the manifest is not valid. Verify that the manifest file is valid, and then try again.'The member 'TypesToProcess' in the module manifest is not valid: Cannot find path
    'C:\Users\ajensen\AppData\Local\Temp\810183328\Carbon\Carbon.types.ps1xml' because it does not exist.. Verify that a valid value is specified for this field in the 'C:\Users\ajensen\AppData\Local\Temp\810183328\NewManifest.psd1' file.'
    At line:1 char:1
    + Update-ModuleManifest -Path .\Carbon\Carbon.psd1 -Tags 'fubar','snafu ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : InvalidArgument: (System.Argument...rd errorRecord):ArgumentException) [Update-ModuleManifest], ArgumentException
    
    9 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 →
  16. The ~ shortcut for the home folder should IMPLY the FileSystem.

    Votes from Connect: 22

    Original Date Submitted: 5/13/2015 11:36:18 PM

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


    Problem Description:
    Currently, when I write cd ~ if my current provider location is not in the FileSystem provider I get this error:

    cd : Home location for this provider is not set. To set the home location, call "(get-psprovider
    'Registry').Home = 'path'".

    This is a very frustrating implementation because:
    1. Anyone who knows "~" expects it to be in the FileSystem (the equivalent of $Env:UserProfile)
    2. There are NO OTHER providers which define "Home"

    Please change…

    9 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 →
  17. Duplicate keys error with ConvertFrom-Json

    Votes from Connect: 5

    Original Date Submitted: 9/3/2014 2:35:32 AM

    Description:
    Contact Information
    Handle: bvbutts
    Site Name: PowerShell
    Feedback ID: 962299


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

    Problem Description:
    If you try to parse JSON with parameters that differ by case, eg. {"test":"some value","Test":"some other value"}, you get a duplicate keys error. However, case sensitivity among parameters seems to be a supported feature of JSON. Furthermore, jsonlint.com views this as valid JSON.

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

    Repro Steps:
    $x='{"test":"some value","Test":"some…

    9 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 →
  18. Powershell ConvertTo-Json Error when has string with trailing backslash

    Votes from Connect: 13

    Original Date Submitted: 5/9/2014 3:59:33 AM

    Description:
    Contact Information
    Handle: George Mauer
    Site Name: PowerShell
    Feedback ID: 869768


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

    Problem Description:
    [The following bit of code generates an error](http://stackoverflow.com/questions/23552000/convertto-json-throws-error-when-using-a-string-terminating-in-backslash)

    W:\surge\ogre&gt; @{SolutionDir=&#39;W:\Surge\ogre\&#39;} | ConvertTo-Json
    
    ConvertTo-Json : The converted JSON string is in bad format.
    At line:1 char:35
    + @{SolutionDir=&#39;W:\Surge\ogre\&#39;} | ConvertTo-Json
    + ~~~~~~~~~~~~~~
    + CategoryInfo : InvalidOperation: (System.Collections.Hashtable:PSObject) [ConvertTo-Json], InvalidOperationException
    + FullyQualifiedErrorId : JsonStringInBadFormat,Microsoft.PowerShell.Commands.ConvertToJsonCommand

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

    Repro Steps: …

    9 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 →
  19. Powershell 4 console font issue

    Votes from Connect: 60

    Original Date Submitted: 10/23/2013 4:22:39 PM

    Description:
    Contact Information
    Handle: cwilliams40
    Site Name: PowerShell
    Feedback ID: 806286


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

    Problem Description:
    Since starting to use windows 8.1 with powershell 4 I've been unable to set up the console to look the way I wish. It seems to have a real problem accepting the font as Lucida Console font in size 12 and just defaults back to raster fonts. The behaviour is the same on server 2012 r2. It is not the same on windows 7,8…

    9 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. DCR - Get-CimInstance needs -Credential parameter

    Votes from Connect: 31

    Original Date Submitted: 8/12/2013 9:35:00 PM

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


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

    Problem Description:
    In Windows PowerShell version 3.0, the Get-CimInstance cmdlet does not have a -Credential parameter. This parameter could allow a user to specify alternate credentials to retrieve information from the Windows Remote Management (WinRM) service. Since this parameter does not exist, a significant amount of extra code is required to manually establish a CIM Session, and then later remove it.
    The Get-WmiObject has a -Credential parameter…

    9 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