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.

Please feel free to provide feedback or file bugs here.

(thinking…)

Enter your idea and we'll search to see if someone has already suggested it.

If a similar idea already exists, you can support and comment on it.

If it doesn't exist, you can post your idea so others can support it.

Enter your idea and we'll search to see if someone has already suggested it.

  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. Kill a specific IIS request

    Sometimes there are single requests which are hanging in IIS.
    It would be good to kill such a single request without killing the whole process because that can cause a lot of time until a big web application is running again.

    1 vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  2. Make Add-Type support .EXE assemblies (works on rename to .DLL)

    Running Add-Type with a .EXE assembly gives, 'Cannot add type. The ".EXE" extension is not supported'. But it works if I rename the assembly to .DLL. I think this limitation is artificial and should be removed.

    2 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  3. New PowerShell Tab should place cursor into console pane input line (Regression)

    After opening "New PowerShell Tab" either using Ctrl+T shortcut or by clicking menu item, tab title gets keyboard focus. Instead, cursor should be placed into input line of console pane.
    This was the way previous versions of ISE worked (before Windows 10).

    See video demo: https://www.youtube.com/watch?v=0fzk1VEQpo0

    (Opening new tab using Ctrl+T, look closely at tab title with dashed line border).

    Windows 10 version 10.0.17763.134
    PowerShell ISE version 5.1.17763.134

    1 vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
  4. SMTPEventConsumer doesnt format message body properly

    I found a bug in PS 4.0 when working with SMTPEventConsumers. The bug I found truncated the string used for the "Message" property of the SMTPEventConsumer. The code truncated anything after the first 16 characters. It didn't matter what I used for an escape sequence, formatted as here string, nothing worked. I ran the exact same code on a PS 5.1 host and the SMTP message was formatted exactly as expected. For more indepth info I have included a link to the thread I started on TechNet for this issue.

    https://social.technet.microsoft.com/Forums/en-US/62c4552b-b5e8-4bf3-ac74-6c5f1668af9f/issues-properly-formatting-smtpeventconsumer-message-body-in-powershell?forum=ITCG

    1 vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  5. DSC File resource Encoding Property

    The file resource really needs an encoding property.

    Need to have some control over this as it makes the resource unusable in a lot of situations, which is a shame.

    5 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
  6. BUG: Get-Help <word> doesn't search content of about_* files unless -Category HelpFiles parameter is specified

    The help text for the -Name parameter of Get-Help says:
    "...If you enter a word that does not match any help topic titles, Get-Help displays a list of topics that include that word in their contents."

    Example:
    PS> Get-Help exit

    Only returned two cmdlets that have the word 'exit' in their name.

    PS> Get-Help exit -Category HelpFile

    Returns about_* topics where the word 'exit' is found.

    1 vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  7. Transfer $DebugPreference and $VerbosePreference to New-PSSession

    I want a PSSessionOption that says to transfer over common applicable session level variables over to the remote session, specifically $DebugPreference and $VerbosePreference.
    $DebugPreference = 'continue'
    $PSSession = New-PSSession -ComputerName 'localhost'
    Write-Debug $DebugPreference # Writes 'continue'
    Invoke-Command -ScriptBlock {Write-Debug $DebugPreference} -Session $PSSession # Writes nothing

    1 vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  8. issue with encrypted mofs on a pull server [partialconfigs]

    i have a pull server with 2 non-encrypted mofs, and 1 encrypted mof. The LCM on the lab node is configured to pull the 3 different configs as partialconfigs. When I run Start-DSCConfiguration, the encrypted mof fails with the following:

    PowerShell DSC resource MSFT_UserResource failed to execute Set-TargetResource functionality with error message: There could be a possible multiple matches exception while trying to use the System.DirectoryServices API's.Exception calling "Save" with "0" argument(s): "The
    password does not meet the password policy requirements. Check the minimum password length, password complexity and password history requirements.
    "
    + CategoryInfo : InvalidOperation: (:) [], CimException …

    1 vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
  9. BUG: Get-RDSessionCollection always generates exception on Windows Server 2019

    Get-RDSessionCollection of the RemoteDesktop module always throws an exception:
    --

    PS C:\windows\system32> Get-RDSessionCollection
    New-Object : Exception calling ".ctor" with "1" argument(s): "Invalid parameter "
    At C:\windows\system32\WindowsPowerShell\v1.0\Modules\RemoteDesktop\SessionDesktopCollection.psm1:520 char:14
    + ... $scope = New-Object System.Management.ManagementScope("\\" + $Conn ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidOperation: (:) [New-Object], MethodInvocationException
    + FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewObjectCommand

    CollectionName Size ResourceType CollectionType CollectionDescription
    -------------- ---- ------------ -------------- ---------------------
    mycollection 0 RemoteApp programs PooledUnmanaged My first collection

    PS C:\windows\system32>

    --

    Changing C:\Windows\System32\WindowsPowerShell\v1.0\Modules\RemoteDesktop\SessionDesktopCollection.psm1 line 520

    $scope = New-Object System.Management.ManagementScope("\\" + $ConnectionBroker + "\" + $wmiNamespace, $connectionOptions)

    into

    $msuri = "\\" + $ConnectionBroker + "\" + $wmiNamespace
    $scope = New-Object System.Management.ManagementScope($msuri, $connectionOptions)

    1 vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  10. Broken or Incorrect Powershell on Windows 10

    So I have Windows 10, in Windows optionalFeatures.exe Powershell is marked as version 2.0 in windows system32 is it version 1.0 and Windows Powershell HOST command says Version 5.1

    Despite the above information, my Powershell does not know how to do any commands such as 'install-module' or 'PSVerstonTable'
    I have a suspicion that my Powershell is somehow corrupted or the incorrect version that was manually installed previously.

    I have turned Windows PowerShell 2.0 OFF in Windows Features but Powershell remains and I can open and access it.

    I have looked for guides and help on how to do a clean…

    1 vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  11. Add-AppxPackage (Chef, WinRM) - Errors - Message: Contact Microsoft Customer Support Services

    Sorry if this is the wrong place, I created an issue https://github.com/chef/chef/issues/7765 but I am not sure its an issue with Chef.
    I have also created an issue https://github.com/PowerShell/PowerShell/issues/8148 .
    I am not very familiar with Powershell sorry, so I am unable to replicate without Chef (If I knew how it would be handy to try and replicate with pure WinRM).

    Steps to reproduce
    ------------------
    In Chef
    ```powershell
    cd C:/Test
    Add-AppxPackage Example_1.0.0.0_x64.appx -DependencyPath "Dependencies\\x64\\A.appx","Dependencies\\x64\\B.appx","Dependencies\\x64\\C.appx"
    ```
    This is trying to install an appx for a standard user. I believe Chef uses WinRM to run the commands.

    Expected behavior
    -----------------
    ```
    App…

    2 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  12. Add a -BreakawayFromJob parameter to the Start-Process cmdlet

    When you create a process with Start-Process, it joins the same Windows Job as the PowerShell session. There are times when you want to create a process that is in a new Windows Job. The CreateProcess API has a CREATE_BREAKAWAY_FROM_JOB process creation flag which does this.

    Please add a -BreakawayFromJob switch parameter to Start-Process which can be used to set this process creation flag.

    1 vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  13. Powershell ISE ability to mark line(s) for review

    Hi All,

    I've searched for this, but I don't believe it's currently possible:

    I'd like the ability to mark a line or lines of code for review later on and an ability to filter my script to show only marked lines and an ability to quick jump to marked lines.

    To give a scenario: We have a number of PS scripts in the 1000+ line region for configuration of various Applications. As we move from one version of said application to another, we review the PS script - modifying it to meet current business requirements or changing work-around scripts to…

    2 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
  14. [Bug]: using module that import a script that import classes have unexpected behavior within a class

    ClassA.psm1
    ------------------
    class ClassA
    {
    [string]Execute()
    {
    return "this is from ClassA"
    }
    }

    ClassB.psm1
    ------------------
    class ClassB
    {
    [string]Execute()
    {
    return "this is from ClassB"
    }
    }

    ImportClasses.ps1
    -------------------------
    using module 'D:\Exemple\Atelier\ClassImportProblem\ClassA.psm1'
    using module 'D:\Exemple\Atelier\ClassImportProblem\ClassB.psm1'

    process_Classes.ps1
    ----------------------------
    using module 'D:\Exemple\Atelier\ClassImportProblem\ImportClasses.ps1'

    $a = [ClassA]::new()
    $b = [ClassB]::new()

    class HustonweHaveAProblem
    {
    [void]HereWeGo(){
    $a = [ClassA]::new()
    $b = [ClassB]::new()
    }
    }

    Observation:

    From that point, instances of ClassA and ClassB are working fine in the process_Classes script. But instances of ClassA and ClassB within the class HustonWeHaveAProblem{} throw errors.

    Actual result:

    At D:\Exemple\Atelier\ClassImportProblem\process_Classes.ps1:9 char:15
    + $a = [ClassA]::new()
    + ~~~~~~
    Unable to…

    1 vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  15. Please make this DNSServer module available on the Linux distribution of Powershell (pwsh)

    If DNSServer module was available on Linux' powershell, Terraform would be able to provide infrastructure configuration for Windows DNS Server. This would benefit enterprises who are now using Terraform to implement infrastructure as code ...

    2 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  PowerShell Gallery  ·  Flag idea as inappropriate…  ·  Admin →
  16. Merge "Windows PowerShell" and "PowerShell Core", make result default on Windows

    When sending code to someone, I don't want to have to qualify the post with "if it doesn't work, try the *other* PowerShell...". I know there will be OS-specific modules/commands, but there should *not* be two code bases for the shell itself, or two product names.

    9 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  17. PowerShell ISE CurrentPowerShellTab AddFile focus not on the editor pane

    When running ISE commands like $psISE.CurrentPowerShellTab.Files.Add(...) to open a new script file in ISE the focus should be in the editor pane.
    However, with the Windows update of Windows 10 Pro (1803) 10.0.17134 when a file is opened using $psISE.CurrentPowerShellTab.Files.Add(…) the focus is not on the editor window of the file but the ISE editor tab. Why has this changed?

    This is extremely annoying since we now have to refocus the cursor on to the editor windows before typing or selecting a command to run.

    1 vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
  18. Support for powershell files with "," in the file name

    It seems like this is the only place to report bugs, is that correct?

    Powershell ISE is not able to open files with "," in their name, if you rightclick, and choose Edit. It seems like the ISE thinks, that it should open multiply files (separated by a comma).
    I can drag'n'drop files, with comma in their names, into the ISE, and that works as expected.

    Steps to reproduce:
    1. Create a .ps1 file with a comma in the name (example: test1,test2.ps1)
    2. Right click on file, and press edit
    3. Note "Unable to load"-error.

    2 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
  19. PS 5.1 Bug: Restart-Computer hangs PowerShell after completion when passing large array of ComputerNames

    when I call:
    Restart-Computer -ComputerName $lotsOfComputers -Force

    where: $lotsOfComputers is 20-150 other computers on the LAN in our AD environment

    This is the sequence of events: First, the command completes quickly, the expected computers reboot, and no errors are displayed. I can then type in the console exactly 1 new line of input and hit enter, after which the PowerShell console hangs for a long period of time (several minutes), possibly in correlation to the size of the array of computers. Once it begins hanging it does not register any new keyboard input onscreen during the hang (but it does…

    1 vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  20. Get-DnsServerZone does not cater for secondary zones that allow zone transfers

    If you have a secondary zone which in turn is configured to allow a zone transfer to another DNS server hosting the zone as a secondary, the Get-DnsServerZone cmdlet does not display that information.

    Run: Get-DnsServerZone -Name zone.name | where-object {$_.zonetype -eq "secondary"} | select-object ZoneName, SecondaryServers
    Result: Display zone name and secondary servers.
    Actual Result: Displays just the zone name, no secondary servers are displayed even though they are setup.

    The data is however available via WMI.

    Get-WmiObject -Namespace root/microsoftdns -Class microsoftdns_zone | where-object {$_.containername -eq "zone.name"} | select-object containername, secondaryservers

    1 vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  • Don't see your idea?

Feedback and Knowledge Base