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. PowerShell SDK is missing XML comment files

    It's really awesome that there are SDK assemblies in NuGet for PowerShell now, but...

    We need xml documentation. It's traditional to include the XML file for each assembly you ship in NuGet, and none of them were included in any of the packages...

    P.S. Did you really mean to release those under MIT?

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

    We’ll send you updates on this idea

    survey  ·  0 comments  ·  Documentation  ·  Flag idea as inappropriate…  ·  Admin →
  2. ise color bug:inlinescript

    【Cause of the bug】
    "inlinescript" is a keyword, but color wrong in ise,color as same as a command.

    【bug with powershell version】
    ise in win7 + powershell 2.0: not support PSWorkflow.
    ise in win7 + powershell 5.0: yes have this bug,tested.
    ise in win8 + powershell 3.0: unknown
    ise in win8.1 + powershell 4.0: yes have this bug,tested.
    ise in win10 10586:yes have this bug,tested.
    ise in win2016 tp5 :yes have this bug,tested.

    【test code】
    at first let font bigest,then test.
    workflow aaa
    {

    inlinescript #<----color wrong
    
    {
    "bbb"
    }

    }

    【how to fix】
    unknown

    【reporter】
    By the chinese powershell…

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

    We’ll send you updates on this idea

    survey  ·  1 comment  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
  3. Invoke-DscResource String to Boolean conversion Failure

    Invoking command:

    Invoke-DscResource -Name cDtc -Method Test -Property @{'Name'='Local';'Ensure'='Present';'AuthenticationLevel'='NoAuth';'Status'='Started';'InboundTransactionsEnabled'='True';'OutboundTransactionsEnabled'='True';'RemoteClientAccessEnabled'='True';'RemoteAdministrationAccessEnabled'='False';'XATransactionsEnabled'='True';'LUTransactionsEnabled'='False'} -ModuleName cDtcResource

    Cause PowerShell to fail.

    Convert property 'OutboundTransactionsEnabled' value from type 'STRING' to type 'BOOLEAN' failed
    At line:17, char:2
    Buffer:
    essEnabled = "False";
    };^

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

    We’ll send you updates on this idea

    survey  ·  0 comments  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
  4. New Cmdlet(s) for AG Lease Events

    MSSQL Tiger Team gave a great presentation today about new extended events and properties for troubleshooting AoAG. These improvements rely on AG Lease & X-events. It would be great to have a set of Cmdlets added to the AG modules to return information captured by AG-Lease a few examples:

    Get-AGDiagnosticEvent
    Get-AGLeaseExpired
    Get-AGLeaseSystemComponent

    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  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →

    We will forward the request, but this is really something you want to send to the SQL Server team. They develop the PowerShell cmdlets for SQL. I would recommend that you send this request to the people who gave the presentation, as feedback from the presentation.

  5. Treat string/integer literals to enum conversion as constants


    1. PowerShell should treat integer/string constants converted to an enum type as if it were an enum constant, e.g.:

    & { param([ValidateSet([System.Text.RegularExpressions.RegexOptions]::Multiline)]$a) } Multiline

    currently works

    & { param([ValidateSet([System.Text.RegularExpressions.RegexOptions]'Multiline')]$a) } Multiline

    should work but doesn't

    & { param([ValidateSet([System.Text.RegularExpressions.RegexOptions]2)]$a) } Multiline

    should work but doesn't


    1. PowerShell should make integer/string constant to enum conversions all the same speed, e.g.:

    Measure-Command { foreach ($null in 0..100000) { [System.Text.RegularExpressions.RegexOptions]::Multiline } }

    takes 20 ms on my machine

    Measure-Command { foreach ($null in 0..100000) { [System.Text.RegularExpressions.RegexOptions]2 } }

    takes 90 ms on my machine

    Measure-Command { foreach ($null in 0..100000) { [System.Text.RegularExpressions.RegexOptions]'Multiline' } }

    takes 130

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

    We’ll send you updates on this idea

    survey  ·  0 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  6. some unicode display none

    ps 5.0 bug:some unicode display none

    【Cause of the bug】
    unknown

    【bug with powershell version】
    powershell 2.0: no this bug
    powershell 3.0: no this bug
    powershell 4.0: no this bug
    powershell 5.0: have this bug
    ise in win10 10586:no this bug

    【test code】
    write-host 'a♦♣♥♠b'

    【how to fix】
    unknown

    【reporter】
    By the chinese powershell study & research group. QQ group No. is 183173532

    【date】
    2016-06-04

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

    We’ll send you updates on this idea

    survey  ·  3 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  7. The parameters grammar allows too many strange things


    1. PowerShell should modify the parameter-list grammar to disallow nonsensical stuff like specifying the scope and/or strange variable names:

    param($:foo)
    param($variable:foo)
    param($local:foo)
    param($env:foo)
    param($script:foo)
    param($private:foo)
    param($using:foo)
    param($global:foo)

    scopes should be disallowed

    param($$)
    param($^)
    param($0thefirstcharactercantbea_number)
    param(${-})
    param(${.30})
    param(${a<b})
    param(${a<#b})
    param(${foo`nasdf})

    funny character names should be disallowed

    Basically, if you can't do:

    cmdlet -foo

    then param($foo) should be treated as a syntax error.


    1. The parameter grammar in the PowerShell language specification is way too permissive, e.g. it allows for crazy things like:

    foo -a#b -a$b -x>b -a=3 -a<3 -a-3 -a*>> -a+3 -a<<3 -a<#3 -a`

    The grammar should…

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

    We’ll send you updates on this idea

    survey  ·  0 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  8. ISE Preview, the ISE Alias, and the PsEdit Function

    In the PowerShell ISE Preview, the "ise" alias should not launch a new instance of the old powershell_ise.exe, it should open the script given to it as an argument in a new tab in the currently-running host ISE process (just the like psEdit function does).

    Personally, I prefer to open scripts into new tabs using "ise" instead of "psedit" because it is shorter (and also a habit burned in from years of use). When the new PowerShell ISE is released later this year, please make "ise" an alias for the psEdit function, or a function in its own right, or…

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

    We’ll send you updates on this idea

    survey  ·  0 comments  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
  9. I'd like to rename my variables and functions like in Visual Studio (.refactor.rename)

    implemented either in ISE and/or in VS with Posh Extension

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

    We’ll send you updates on this idea

    3 comments  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →

    Understand the difference now based on the comments about replace-all versus rename.refactor. Marking as Survey.

  10. Remove Dependency on TLS 1.0 for HTTPS Pull Server

    After disabling TLS 1.0 on our Pull Server and nodes, the nodes are unable to re-register with the Pull Server. This is keeping us from making changes to the LCM on nodes.

    I have posted on PowerShell.org forum about this:
    http://powershell.org/wp/forums/topic/tls-1-0-required-for-https-pull-server/

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

    We’ll send you updates on this idea

    survey  ·  1 comment  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
  11. Get-DSCResource -Syntax for WindowsFeatureSet incorrect

    Get-DscResource for WindowsFeatureSet showing "ensure" parameter as being optional, while it's actually required

    <PRE>

    PS C:\windows\system32> get-dscresource windowsfeatureset -Syntax
    WindowsFeatureSet [String] #ResourceName
    {

    [DependsOn = [String[]]]
    
    Name = [String[]]
    [Ensure = [String]]
    [Source = [String]]
    [IncludeAllSubFeature = [Boolean]]
    [Credential = [PSCredential]]
    [LogPath = [String]]

    }
    </PRE>

    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  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
    survey  ·  Mark Gray responded

    Thanks for the feedback, Gregory! This certainly is a bug albeit a little different that what you have described. The Ensure property should be optional but it should default to ‘Present’ if it is not provided just like the underlying resource does. I have opened a bug for this.

    MarkG

  12. DynamicParam should promote regular functions to advanced functions

    PowerShell promotes functions with [Parameter()] attributes to advanced functions, e.g.:

    function foo {

    param([Parameter()]$a)
    

    }

    gcm foo |% CmdletBinding

    True

    PowerShell should do a similar thing for functions with DynamicParam blocks since that construct only makes sense on cmdlets/advanced functions:

    function foo {

    dynamicparam { }
    

    }

    gcm foo |% CmdletBinding

    False, should be True

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

    We’ll send you updates on this idea

    survey  ·  0 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  13. Find should remember more than only the last searched string

    LIke done in Excel/VBA, and in Notepad++.
    Hitting down arrow in the search box should show the previous strings

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

    We’ll send you updates on this idea

    survey  ·  0 comments  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
  14. Start-Transcript Does Not Generate an Error on an Invalid Path

    On Windows Server 2012 R2, PSVersion 4.0, passing an invalid path to the Start-Transcript command does not generate an error. The cmdlet behaves as if the path exists, even producing the "Transcript started, output file is C:\fake\notreal.log" notification, while not actually generating any transcript file. Additionally, in my experience, performance slows considerably after this situation is encountered.

    On a Windows 7 system, Start-Transcript -path C:\notreal\no.log generates an error. On a Windows 10 system with PSV5 the nonexistant file will actually be created. Both of these are reasonable behaviors. Is there something I'm missing with PSV4 on WS2012R2 to get it…

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

    We’ll send you updates on this idea

    survey  ·  0 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  15. why can't I use a http-based "Path" in the Archive Resource ?

    When I use the Archive Resource it appeares to be restricted to SMB or UNC Path's.

    I would like to configure a http based sourcepath.

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

    We’ll send you updates on this idea

    survey  ·  0 comments  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
  16. Add PowerShell accelerator for SuppressMessageAttribute

    Filed by rkeithhill on GitHub: https://github.com/PowerShell/PSScriptAnalyzer/issues/514

    "It is well within the norm for PowerShell to define accelerators for common types to make it easier for PowerShell scripters to specify an attribute like ValidateSet or ValidateNotNull and not have to remember the full typename System.Management.Automation.ValidateSetAttribute.

    Ditto for System.Diagnostics.CodeAnalysis.SuppressMessageAttribute. Please consider asking the PowerShell team to add the accelerator SuppressMessage for this type. It will make PowerShell scripts that need to use this attribute easier to write and read."

    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 →

    From the GitHub Issue:

    “I agree that it might be useful super forward-looking, but today this will only help in the case where:

    You’re running PS 5.1+, the module you’re running is using a SuppressMessageAttribute, and you don’t have Script Analyzer installed
    Given all that, this is firmly within the realm of “nice to have” for me, and I’m not sure anything nice to have can make it in PS 5.1 right now. I’m going to place it on UserVoice, though, as something we might want to do in the future for PowerShell."

  17. Change the way ConfigurationNames works to accomodate easy management and software provisioning

    TL&DR - Make ConfigurationNames accept multiple values and Accept changes to the values of ConfigurationNames in a Live manner and not just for the initital regisration of the node.

    Today ConfiguratioNames is used on the initial regsitration of the node. Althugh it can accept an array, it wont work with more then one value and issue errors. That value is basically the name of the mof file on the pull server. This allows for friendly names of mof files while still maintaining uniqness of the nodes for reporting purposes that wasnt available in ps v4 using the same GUID.

    Everytime…

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

    We’ll send you updates on this idea

    survey  ·  0 comments  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
  18. Absent Or Stopped for Service DSC Resource

    I am in an environment where sometimes things might get pushed on some machines from other sources. I would like to have a base composite resource that ensures a Service is not running on a machine whether the service is present or not. The service is either Absent or if it is Present it is stopped. Currently, if I just configure "State = 'Stopped'" and do not specify Ensure, then Ensure defaults to present and the configuration fails on machines where the service is absent. In this case, I do not want ensure that it is present or absent just…

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

    We’ll send you updates on this idea

    survey  ·  0 comments  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
  19. Add tar.gz support to Package DSC resource

    It would nice to be able to expand tar.gz packages using DSC

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

    We’ll send you updates on this idea

    survey  ·  1 comment  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
  20. configuration keyword does not work when function drive missing

    Remove-PSDrive function
    configuration c{}

    This produce following error:
    set-item : Cannot find drive. A drive with the name 'function' does not exist.

    It should use provider qualified path 'function::' to work correctly in that case.

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

    We’ll send you updates on this idea

    survey  ·  1 comment  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  • Don't see your idea?

Feedback and Knowledge Base