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. No StdOut output on console until second object

    Let me explain. I have a script that is collecting data, and I send it to StdOut by simply piping it into Select (but problem also happens if I add a ForEach loop and simply make [PSCustomObject] objects). Then my script loops to the next server. That output is not displaying on the screen. All is not lost though, when the script loops to the second server and displays both the first and second will now display. When the third server finishes it displays OK, as does the 4th.

    So it looks like it's just the first one. Normally I…

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

    We’ll send you updates on this idea

    3 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  2. INPUTS and OUTPUTS section of get-help not displaying properly

    Problem description

    INPUTS and OUTPUTS section of get-help -Full content shows some unwanted tab and new line characters for almost all cmdlets.

    For e.g.,

    get-help content with INPUTS and OUTPUTS section highlighted where extra new line and tab comes for every cmdlet help content.

    INPUTS

    PSObject OR array of PSObject OR String OR array of String
    
    

    You can pipe one IP address or a list of IP addresses as Strings, or one PSObject or list of PSObjects having
    the iLO details such as IP Address, Hostname, Username and Password to access the iLO.

    OUTPUTS

        PSObject[] is returned. Use Get-Member to
    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  ·  Documentation  ·  Flag idea as inappropriate…  ·  Admin →
  3. Custom cmdlet help is broken in 5.0+

    Custom cmdlet help gets custom help for a provider cmdlet in a provider drive. In 5.0, the provider help, including custom cmdlet help, was missing. It's restored in 5.1, but it's not working.

    Ugh, I can't post a screenshot.

    Here's the repro:

    1) Get-Help Get-ChildItem -Path Cert: -Parameter DnsName
    [Should succeed; fails]

    2) cd Cert:
    PS Cert:> Get-Help Get-ChildItem -Parameter DnsName
    [Should succeed; fails]



    1. Verify that parameter exists

      PS Cert:> (gcm Get-ChildItem).ParameterSets.Parameters | where Name -eq DnsName
      [succeeds]




    2. Verify that content is in help file.

      PS Cert:> [xml]$SecHelp = cat $pshome\en-US\Microsoft.PowerShell.Commands.Security.dll-help.xml



    PS Cert:>($SecHelp.helpItems.providerHelp.CmdletHelpPaths.CmdletHelpPath.command | where {$_.details.Name.Trim() -eq 'Get-ChildItem}).Parameters.Parameter | where…

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

    We’ll send you updates on this idea

    investigating  ·  1 comment  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  4. Please add Management Framework v4 to the Update Catalog website

    Management Framework v5 is already available on the Update Catalog website and can be manually imported into a private WSUS instance for distribution (via WSUS or SCCM.) But v5 requires WMF v4 to be installed first.

    If WMF v4 was available in the Update Catalog then it could be imported into our private WSUS instance - and then we could deploy the WMF v4 as a prereq in the same reliable manner that we will be deploying WMF v5 to enterprise workstations.

    Please add WMF v4 to the Update Catalog website.

    8 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 →
  5. Help for DocumentEncryptionCert dynamic parameter is missing

    There is no help content for the Document EncryptionCert dynamic parameter of Get-ChildItem.

    Because this dynamic parameter is added by the Certificate provider, it should be documented in the <providerHelp>&lt;cmdletHelpPaths> section of Microsoft.PowerShell.Security.dll-help.xml.

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

    We’ll send you updates on this idea

    investigating  ·  1 comment  ·  Documentation  ·  Flag idea as inappropriate…  ·  Admin →
  6. Help for dynamic parameters of Add-Content is broken

    Dynamic parameters of a cmdlet that are added by a provider are documented in the <providerHelp>&lt;cmdletHelpPaths> element of the help XML file.

    The FileSystem provider adds the following parameters to Add-Content:

    PS C:&gt; (Get-Command Add-Content).ParameterSets.Parameters | Where IsDynamic | foreach Name | Sort -Unique
    Encoding
    NoNewline
    Stream

    However, the Encoding and Stream parameters are documented in the primary help file, Microsoft.PowerShell.Commands.Management.dll-help.xml, so they appear in Get-Help even in provider drives where the parameter is not valid.

    PS Function:&gt; (Get-Help Add-Content -Path function:).Parameters.Parameter | where Name -notin $common | foreach Name | Sort -Unique
    Credential
    Encoding # <----
    Exclude
    Filter
    Force …

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

    We’ll send you updates on this idea

    investigating  ·  0 comments  ·  Documentation  ·  Flag idea as inappropriate…  ·  Admin →
  7. Help for FileSystem dynamic parameters of Get-ChildItem are broken

    The FileSystem provider adds the following dynamic parameters to Get-ChildItem:

    PS C:&gt; (Get-Command Get-ChildItem).ParameterSets.Parameters | where IsDynamic | foreach Name | Sort -Unique

    Attributes

    Directory
    File
    Hidden
    ReadOnly
    System

    But, these are all failing in Get-Help in the file system drives.

    PS C:&gt; $dynam | foreach { if (!(Get-Help Get-ChildItem -Parameter $ -ErrorAction SilentlyContinue)) { $ } }
    Attributes
    Directory
    File
    Hidden
    ReadOnly
    System

    Unlike the related bugs I've filed, I can't find the error in the help file. These parameters are (correctly) not documented in the cmdlet help, and they are correctly documented in the provider help.

    PS C:&gt;…

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

    We’ll send you updates on this idea

    investigating  ·  0 comments  ·  Documentation  ·  Flag idea as inappropriate…  ·  Admin →
  8. WinRM "concurrent operations" increase to eventual failure

    Concurrent operations on an open shell always increase (eg, for each command run) even when the Terminate signal message is sent and (apparently) properly processed after each command. This eventually causes the MaxConcurrentOperationsPerUser quota to be hit, requiring a new shell to be created.

    A simple reproduction using pywinrm is available at: https://github.com/diyan/pywinrm/issues/124. I'm guessing there's just something wrong with the way the Terminate signal is being sent by pywinrm, but the server appears to be happy with it.

    To run the repro, ensure python and pip are available, create a file with the repro code (and adjust the…

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

    We’ll send you updates on this idea

    investigating  ·  0 comments  ·  WinRM  ·  Flag idea as inappropriate…  ·  Admin →
  9. WMF5.1(?) Code completion fails to complete a parameter

    In the PowerShell console type

    Export-ModuleMember -a
    

    and press Tab in order to complete the parameter Alias.
    As a result, nothing happens. Take a look at $Error:

    PS&gt; $Error
    
    Exception calling &quot;CompleteInput&quot; with &quot;3&quot; argument(s): &quot;Index was out of range. Must be non-negative and less than the size of the collection.
    Parameter name: index&quot;
    At line:38 char:16
    + ... return [System.Management.Automation.CommandCompletion]::Complet ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : ArgumentOutOfRangeException

    Note that completion of other parameters works.

    2 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. Get-Help should process Alias parameter attribute in MAML help

    A parameter definition in the PowerShell MAML file allows an aliases attribute to be defined. However, when executing Get-Help -Full or Get-Help -Parameter, the table the Help Engine displays does not contain the Aliases row. If I remove reference to the ExternalHelp comment tag in a Cmdlet (within a PSM1), Get-Help will display the Aliases row. Comment-based or MAML help will not display the Aliases row.

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

    We’ll send you updates on this idea

    investigating  ·  1 comment  ·  Documentation  ·  Flag idea as inappropriate…  ·  Admin →
  11. Certain PowerShell ISE windows screws up alt+tabbing

    It looks like certain windows are screwed up in Windows 10 w.r.t. to it's alt+tab handling.


    1. The modal:

    a. Open PowerShell ISE
    b. Go to Tools | Options...

    Now try to alt+tab away from the "Options" window.

    The first alt+tab entry is the "main PowerShell ISE" window which if you alt+tab to that, takes you right back into the "Options" window. So it takes 2 alt+tabs to escape from the "Options" window rather than the expected 1 alt+tab.


    1. The non-modal "Edit | Find in Script..." suffers from the above problem as well.


    2. The modal "Edit | Go To Line..." seems…

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

    We’ll send you updates on this idea

    investigating  ·  0 comments  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
  12. DSC ESENT Database management

    In a recent change, the new database for the on-prem Pullserver is now ESENT. Had a question for clarification.

    As an old Exchange guy, I have fears that immediately pop into mind. The logs files do not appear to be using circular logging (a way of self cleaning and restricting the amount of log files) – Is this true?

    If so, then I’m guess that the log files will continue to grow until the disk is full – which happens to exchange if the log files are not truncated. Is there a way today or in the future we will…

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

    We’ll send you updates on this idea

    investigating  ·  5 comments  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
  13. Bug? Invoke-DscResource and PsDscRunAsCredential in WMF5

    Hi Powershell Team,

    When I try to invoke the get method for a custom DSC resource using PsDscRunAsCredential, I get an error. This does not happen with either the set or test methods.

    The same custom resource works fine in a normal configuration though. I'm not sure if that's because the get method is not called there.

    Setup:
    Windows Server 2012 R2
    WMF5 RTM

    PS C:\Users\username> Invoke-DscResource -Name cWhoAmI -Method get -ModuleName cWhoAmI -Property $props -Verbose
    Invoke-DscResource : The PowerShell DSC resource returned results in a format that is not valid. The results from
    running Get-TargetResource should be in a…

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

    Thanks for the feedback Antonio! We will look into this and create a bug when we reproduce the issue. If we need more information we will request it from you here.

    Regards,

    MarkG

  14. Allow LCM to accomodate module dependencies that get installed by earlier steps in the configuration

    Currently, if you have a configuration that installs a Windows feature then has another step that configures settings using a module that gets installed with that particular feature, the LCM fails its check because that module is not currently present on the node.

    For example, we have a configuration that installs the Web-Server role. There are later steps which use the xWebAdministration resource to configure things like Application Pools and Application Pool defaults. The problem is, when the LCM pulls the configuration and runs it's checks, it fails because the xWebAdministration resource uses cmdlets that are present in the WebAdministration…

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

    We’ll send you updates on this idea

    2 comments  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
    investigating  ·  Mark Gray responded

    Thanks for the feedback! This behavior is not by design and is not something I have ever seen before. We will look into it and get back with an answer or more questions.

  15. Fix the remotedesktop module

    It seems that the RemoteDesktop module for RDS isn't working correctly. When trying to configure constrained endpoints in powershell it seems nearly impossible to restrict the session to only use the RemoteDesktop-module. It appears as if the modules isn't loading in a constrained endpoint due do the use of aliases in the modules.

    https://powershell.org/forums/topic/creating-jea-endpoint-for-remote-desktop-services/

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

    We’ll send you updates on this idea

    investigating  ·  0 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  16. Allow "Invalid" keys in module manifests

    Just ... STOP worrying about keys that you don't care about.

    That way, 10 years from now, when all the old versions are gone, you'll finally be able to add keys to the manifest instead of stuffing more and more things into the module's PrivateData

    6 votes
    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 →
  17. Would be better if the exit command in PowerShell ISE only closed the current tab

    In PowerShell ISE, if you invoke the exit command, it closes the entire application regardless of how many tabs you have open. It would be better if the exit command simply closed the current tab (if you have multiple tabs open) or the entire application if you only have one runspace open. This would prevent accidentally closing runspaces that you wanted to go back to just because you used the all-too-familiar exit command.

    Also, making this change would address this issue within PowerShell ISE: when you invoke exit, the Runspace.StateChanged event is only fired for the current/active runspace (tab), even…

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

    We’ll send you updates on this idea

    2 comments  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
  18. Allow for publishing Profile Paths with Spaces

    when using publish module if a user has a space in their profile it fails to publish the module:
    PS C:&gt; Publish-Module -Tags Twitter -Name Posh-Tweet -NuGetApiKey xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxx -Verbose
    VERBOSE: The specified assembly 'C:\Users\Carlos Perez\AppData\Local\PackageManagement\ProviderAssemblies\nuget-anycpu.exe' is installed at top level directory. However it is recommended that the assemblies should be installed under its ProviderName\Version folder.
    VERBOSE: Skipping previously processed provider 'NuGet'.
    VERBOSE: Repository details, Name = 'PSGallery', Location = 'https://www.powershellgallery.com/api/v2/'; IsTrusted = 'False'; IsRegistered = 'True'.
    VERBOSE: Repository details, Name = 'PSGallery', Location = 'https://www.powershellgallery.com/api/v2/'; IsTrusted = 'False'; IsRegistered = 'True'.
    VERBOSE: Publish Location:'https://www.powershellgallery.com/api/v2/package/'. …

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

    We’ll send you updates on this idea

    investigating  ·  6 comments  ·  PowerShell Gallery  ·  Flag idea as inappropriate…  ·  Admin →
  19. Empty pipeline input has single $null item on slow ring build

    I noticed this a few fast ring builds ago and now see it on the slow ring build #14295. For functions that declare at least one parameter and are marked [CmdletBinding()], $input.count is 1 even when no input is sent either on the pipeline or via param. The one element is $null. So if you had code that checks to see if input is from the pipeline using something like if($input.count) and expect 0 to mean no pipeline input is present, that breaks. Here is an example function:

    function my-test {

    [CmdletBinding()]
    
    param(
    [String]$blah
    )

    write-host $input.count

    }

    Calling my-test…

    2 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 →
  20. Publish-Script - Allow the use of RequiredModules [Bug]

    currently it is not possible to specify RequiredModules for a script published to a repository.
    This is awkward as it is quite likely for simple scripts to have a dependency on a module.

    The goal would be for the module to be installed automatically during install-Script; using the same logic and conditions as the a REQUIREDSCRIPT
    1) Interestingly there appears to be (partial) logic to test for RequiredModules, however this always fails as a .Name addtibute of the module cannot be found.
    and the syntax used in modules :
    .RequiredModules @{ModuleName = 'foo'; GUID = '1234565-2784-48bf-af15-70ba837a64d0'; ModuleVersion = '3.5'; } …

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

    We’ll send you updates on this idea

    investigating  ·  3 comments  ·  Package Management  ·  Flag idea as inappropriate…  ·  Admin →
  • Don't see your idea?

Feedback and Knowledge Base