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. >> defaults to unicode no matter what the encoding of the original file is

    echo 'hi there' >> file.txt

    Even if file.txt is ansi encoding, this will append a line of unicode or utf-16 little endian text to the bottom of the file. I assume >> is an alias for "out-file -append".

    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 →
  2. "Test-NetConnection" add timeout

    please add timeout to "Test-NetConnection" see https://superuser.com/q/805621/216033

    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  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  3. We need: Get-VpnConnectionRoute

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

    2 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. Windows server 2019 failoverclusters module vs 2008R2 Clusters

    we have found some issues using the failoverclusters module builtin Windows Server 2019 when using it against a 2008R2 cluster in the domain. For example, we get this error while trying to Pause a node on a 2008R2 cluster: from a Windows server 2019 box

    Suspend-ClusterNode -Cluster cluster1 -Name cluster1node1
    Suspend-ClusterNode : An error occurred pausing node 'cluster1node1'.
    The procedure number is out of range
    At line:1 char:1
    + Suspend-ClusterNode -Cluster cluster1 -Name cluster1node1
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [Suspend-ClusterNode], ClusterCmdletException
    + FullyQualifiedErrorId : Suspend-
    ClusterNode,Microsoft.FailoverClusters.PowerShell.SuspendClusterNodeCommand

    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 →
  5. Get-Acl and Set-Acl with LiteralPath parameter and Registry Provider

    Using the LiteralPath parameter for Get-Acl and Set-Acl does not work for registry keys unless your location is set to the root directory of the registry key in question.

    Steps to reproduce:

    input:
    --------------------------------------------------------------------
    PS C:\WINDOWS\system32> Get-Acl -LiteralPath
    output (error):
    -------------------------------------------------------------------'HKCU:\Environment'
    Get-Acl : Cannot find path 'HKEY_CURRENT_USER\Environment' because it does not exist.
    At line:1 char:1
    + Get-Acl -LiteralPath 'HKCU:\Environment'
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : ObjectNotFound: (:) [Get-Acl], ItemNotFoundException
    + FullyQualifiedErrorId : GetAcl_PathNotFound,Microsoft.PowerShell.Commands.GetAclCommand

    input:
    ------------------------------------------------------------------------
    PS C:\WINDOWS\system32> Set-Location -LiteralPath 'HKCU:\Environment\'
    PS HKCU:\Environment\> Get-Acl -LiteralPath 'HKCU:\Environment'

    output (error)
    ------------------------------------------------------------------------
    Get-Acl : Cannot find path 'HKEY_CURRENT_USER\Environment' because it does not exist.
    At line:1…

    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 →
  6. How to import Contacts(CSV File) in to Public Folder - Exchange Online?

    Is there a way to import Contacts from CSV file to Public Folders in Exchange online?

    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 →
  7. get-computerinfo typo in CsPhyicallyInstalledMemory (should be Phy[s]ically)

    get-computerinfo typo in CsPhyicallyInstalledMemory (should be Phy[s]ically)

    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  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  8. Allow expansion of columns in output

    For example, I type in Get-PrinterPort and press return. It shows me the output for all printers. However, I have one printer with a port (defined by Windows) as a really really long text string. The output in Powershell truncates it which renders the output utterly useless. I need a way to have output non-truncated

    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 →
  9. Warum gibt es keine Links zu den betroffenen Objekten in docs.microsoft.com z.B. get-clustergroup ->Objekt clustergroup?

    Warum gibt es keine Links zu den betroffenen Objekten in docs.microsoft.com z.B. get-clustergroup ->Objekt clustergroup?

    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  ·  Documentation  ·  Flag idea as inappropriate…  ·  Admin →
  10. Missing newer computer account in Get-LocalUser on a DC

    in PowerShell 5.1.14393.2608 when I run Get-LocalUser * on a Windows Server 2016 Domain Controller I should get a list of all domain user and computer. But the newest Domain joined computer is missing.
    Please fix this.
    Also when I run Get-LocalUser MyComputer$ and MyComputer is the last domain joined computer I get ObjectNotFound

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

    Register-ScheduledTask : The task XML is malformed.
    (1,2)::ERROR: incorrect document syntax

    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  ·  Documentation  ·  Flag idea as inappropriate…  ·  Admin →
  12. powershell get-childitem works unexpected differently

    Hi there

    Im working with WindowsPE and have to identify my USB-Drive.

    So I´m looking for the drive and assign a variable:

    $usb_drive = (Get-WmiObject -class Win32_LogicalDisk -filter DriveType=2 | Foreach {Get-ChildItem -Filter *.wim -r -d 1 $_.DeviceID} 2>$null | Where {$_.name -eq "boot.wim"}).PsDrive.Root

    With Powershell 5.1.14393.2791 its working as expected. With 5.1.18361.1 not.

    The reason is this part:

    Get-WmiObject -class Win32_LogicalDisk -filter DriveType=2 | Foreach {Get-ChildItem -Filter *.wim -r -d 1 $_.DeviceID}

    The Reason is handling of $_.Deviceid. On both versions the Result is c:

    On both versions Get-Childitem C: gets the entries of the local directory (which makes…

    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 →
  13. 'Using module' does not work when having multiple levels of inheritance

    When having more than one level of inheritance, 'Using module' does not work as expected.

    Example:

    Class A is defined in module A.
    Class B is defined in module B.
    Class C is defined in module C.

    A.psm1
    class A {}

    B.psm1
    Using module 'A'

    class B : A {}

    C.psm1
    Using module 'B'

    class C : B {}

    With the above example class C only inherits the properties and methods from B class and not from A class.

    The reason for separating the classes in different modules is to allow their reuse in other modules.

    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 →
  14. Bug: Ps1 script file with extra extension gets deleted when called from CMD

    When calling PowerShell from CMD and specifying a script file that contains an extra "extension" (extra dot) in the base name, the script is not run but the file is mysteriously deleted:

    Example (run in CMD):

    powershell -file c:\temp\script.txt.ps1

    The same issue when called like this:

    powershell -command "& c:\temp\script.txt.ps1"

    This has been reproduced by me and others on different machines with different paths.

    The same issue exists when called from inside PowerShell like this:

    . "powershell.exe" -file c:\temp\script.txt.ps1
    Start-Process "powershell" -Arg "-file, "c:\temp\script.txt.ps1"

    Note that these will work just fine:

    powershell -command "& 'c:\temp\script.txt.ps1'"
    powershell -command ";& c:\temp\script.txt.ps1"
    powershell…

    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  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  15. Write-Information does not show in a file transcribed by Start-Transcript

    Write-Information does not show in a file transcribed by Start-Transcript unless you set $InformationPreference to 'SilentlyContinue'... which then means it does not display in the console.

    I believe this is a bug in Windows PowerShell (as of v5.1.17134.590) that has been fixed in PowerShell Core? If we cannot go to Core I have to do some workarounds (like using Write-Host or creating a function that combines 2 Write-Information calls with different preferences).

    There looks like a better formatted thread here on this issue:
    https://stackoverflow.com/questions/55191548/write-information-does-not-show-in-a-file-transcribed-by-start-transcript

    Here's $PSVersionTable:
    ---------------------------------------------------------------------------
    PSVersion 5.1.17763.316
    PSEdition Desktop
    PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
    BuildVersion 10.0.17763.316
    CLRVersion 4.0.30319.42000 …

    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 →
  16. Mount-DiskImage fails with: "Access is denied" 0x5 occurred while reading the console output buffer

    After upgrade from Windows 1803 to Windows 1809 `Mount-DiskImage $iso_path` starts failing with the following error:

    ```
    Exception calling "EndProcessing" with "0" argument(s): "Win32 internal error "Access is denied" 0x5 occurred while reading the console output buffer. Contact Microsoft Customer Support Services."
    At line:352 char:17
    + $__cmdletization_objectModelWrapper.EndProcessing()
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : HostException

    ```

    The powershell command is executed under Administrator user in packer. It actually mounts specified image path, but throws this exception on attempt to interact with stdout.

    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  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  17. SeServiceLogonRight is not getting cleaned up after exiting JEA session

    I have an issue with Just Enough Administration and Windows 2012 R2, where when I have the 'Run As Virtual account' set to true, it does not clean up after itself. The temporary virtual account is left in 'Logon as a service'. this can be viewed from the local security policy.

    https://github.com/PowerShell/PowerShell/issues/5296

    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  ·  WinRM  ·  Flag idea as inappropriate…  ·  Admin →
  18. The lock-bitlocker command help is wrong

    The cmdlet documentation for "Lock-Bitlocker" is wrong. First, the example contains the command Lock-Volume, that doesn't exists, and when issuing such command it doesn't recognize the mount point argument, stating it doesn't exists. This seem just an alias for manage-bde -lock "mountpoint" -forcedismount - that one works and should be cited in the documentation.

    https://docs.microsoft.com/en-us/powershell/module/bitlocker/lock-bitlocker?view=win10-ps

    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  ·  Documentation  ·  Flag idea as inappropriate…  ·  Admin →
  19. Powershell Ghost Error Messages

    How can I get to discuss my issue with a human being regarding Powershell creating Ghost Error messages similar to what I started out but still is bug of some kind. During my testing, my script coding was modified to work properly. How may I rid myself from these Ghost Error messages? How can i connect up with a Microsoft Powershell Individual with the correct expertise?

    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  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  20. DISM Repair-WindowsImage should allow HTTPS URIs for image sources.

    Allow the DISM Repair-WindowsImage command to use HTTPS URIs for image sources. We use a common image to repair the insanely frequent container store corruption issues on our systems. It occurred to me that if somebody with malicious intent was able to alter the WIM files we use to facilitate this process it would lead to easy mass pwnage. Therefore, it makes sense to use an extremely simple, easy-to-lock-down protocol like HTTPS to provide access to these rather huge files rather than a complex protocol like SMB that forces us to expose many other RPC services as well. Yes, this…

    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 →
  • Don't see your idea?

Feedback and Knowledge Base