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. add tcpdump equivalent cmdlet in powershell

    I hope powershell have a cool module about the network tool ,make them work like tcpdump , netcat in linux.

    It's very very cool things , will make me fly in our daily task.

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

    We’ll send you updates on this idea

    2 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  2. Import-json

    json is becoming the new standard (if not already)
    It would be nice to have an import-json and a export-json as we have in xml/csv instead of the two steps process with get-content and convertfrom-json and convertto-json.

    10 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. Get-ChildItem -LiteralPath doesn't support long path

    Get-ChildItem -LiteralPath doesn't support long path, for example:

    Get-ChildItem -LiteralPath 'D:\aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffffgggggggggghhhhhhhhhhiiiiiiiiiijjjjjjjjjjkkkkkkkkkkllllllllllmmmmmmmmmmnnnnnnnnnnooooooooooppppppppppqqqqqqqqqqrrrrrrrrrrssssssssssttttttttttuuuuuuuuuuvvvvvvvvvvwwwwwwwwwwxxxxxxxxxxyyyyyyyyyyzzzzzzzzzz.txt'

    Which path is longer than 260 bytes, even if the file DO exists in that path.

    But `Get-ChildItem` WITHOUT `-LiteralPath` works well with that long-path file.

    $PSVersionTable

    Name Value
    ---- -----
    PSVersion 5.1.17763.134
    PSEdition Desktop
    PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
    BuildVersion 10.0.17763.134
    CLRVersion 4.0.30319.42000
    WSManStackVersion 3.0
    PSRemotingProtocolVersion 2.3
    SerializationVersion 1.1.0.1

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

    We’ll send you updates on this idea

    1 comment  ·  Microsoft.PowerShell.* Modules  ·  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…)
    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 →
  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…)
    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 →
  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…)
    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. 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…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  8. 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…)
    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 →
  9. "Test-NetConnection" add timeout

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

    3 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 →
  10. Extraneous results returned with Resolve-DnsName (dnsclient)

    Quoted feedback from documentation feedback provided by MSFT team below. (via @jordanmills)

    > When resolving SRV records (example: Resolve-DnsName -Name "_kerberos._tcp.dc._msdcs.$env:userdnsdomain" -Type SRV), the cmdlets also attempts to resolve any returned A or AAAA records and sends them to the pipeline as a separate object collection. This breaks pretty much any attempt to sort, group, filter, or otherwise process the data. How can we make it not return A and AAAA records for SRV queries?

    https://github.com/MicrosoftDocs/windows-powershell-docs/issues/302

    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 →
  11. WindowsServerBackup not available on Windows 10 ???

    It seems that the WindowsServerBackup powerShell module is not available on Windows 10, although it is written on the Microsoft website, here in particulary: https://docs.microsoft.com/en-us/powershell/module/? view = win10-ps

    Is it a mistake?
    I spent a lot of time trying to install this module, but finaly, I dropped.

    What a pity !!!

    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 →
  12. servercore : can I use it on Windows 10 Home?

    https://docs.microsoft.com/en-us/powershell/module/servercore/get-displayresolution?view=win10-ps

    I know this says servercore. But I can't believe the ability to set the display resolution via Powershell should be in the realm of Servers only.
    1) Can someone confirm if indeed you can do this on Windows 10? 2) And if so, how do I get the module to import.
    When I have tried
    Import-Module -Name servercore
    I get the following:
    PS Env:\> Import-Module -Name servercore
    Import-Module : The specified module 'servercore' was not loaded because no valid module file was
    found in any module directory.

    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 →
  13. How to create external trust relationships between two domains?

    How to create external trust relationships between two domains, such as aaa.com and bbb.com. I haven't seen a similar demo for two days.
    Looking forward to your reply.

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

    We’ll send you updates on this idea

    1 comment  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  14. Get-ADUser not caching results when querying a remote forest

    Potential bug in the Get-ADUser commandlet when querying a remote forest:

    $myForest | Get-ADUser -filter *
    $myForest[0] # <-- this doesn't reach back to a DC to return the user

    $remoteForest | Get-ADUser -filter * -server dc1.remoteforest.com
    $remoteForest[0] # <-- this will call back to a DC to fetch the user even though it's been successfully retrieved in the previous line

    See https://stackoverflow.com/questions/54790231/get-aduser-not-caching-results for a better explanation.

    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. [BUG] Start-Process might not return Handle/ExitCode

    Issue:
    In order to obtain the Exit Code from a Process we are executing the Start-Process cmdlet with the following parameters:
    -PassThru -Wait -WindowStyle Hidden
    or
    -PassThru -Wait -NoNewWindow

    In rare cases, this leads to the following exception:
    System.Management.Automation.CmdletInvocationException: Cannot process request because the process (<ProcessIdHere>) has exited. ---> System.InvalidOperationException: Cannot process request because the process (<ProcessIdHere>) has exited.
    at System.Diagnostics.Process.GetProcessHandle(Int32 access, Boolean throwIfExited)
    at System.Diagnostics.Process.OpenProcessHandle(Int32 access)
    at System.Diagnostics.Process.get_Handle()

    After the Exception occurred, the returned Object does not contain a Handle nor Exit Code but the executable itself executed without issue.

    We also tried to remove the “-Wait” Parameter and…

    4 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 →
  16. Bug in Import-StartLayout cmdlet

    The documentation states to import a .xml to a mounted Windows image, you can use the powershell command:
    PS C:\ Import-StartLayout -LayoutPath "Layout.xml" -MountPath "E:\MountedImage"

    This will generate an error. You cannot end -MountPath with a '' character, if you do, PowerShell throws the error:
    Import-StartLayout : The path B:\WIMs\Test\ did not resolve to a file.

    If you format the command:
    PS C:\ Import-StartLayout -LayoutPath "Layout.xml" -MountPath "E:\MountedImage"
    You will receive the following error:
    Import-StartLayout : Could not find a part of the path
    'E:\MountedImageUsers\Default\AppData\Local\Microsoft\Windows\Shell\LayoutModification.xml'.
    Note the missing '\' character between "MountedImage" and "Users"
    This appears to be an error…

    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 →
  17. Bug - Get-WsusComputer Cmdlet

    The optional parameter "-ComputerUpdateStatus" does not filter at all and instead returns all computers.

    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 →
  18. Database SetOffline - Add a TeminationClause overload

    When setting a database offline, the T-SQL command executed is a simple ALTER DATABASE <DbName> SET OFFLINE, and will wait if there are running transactions or connected users. To force that, it requires the possibility to add the ROLLBACK IMMEDIATE. The Alter() method allows to do that but not the SetOffline() method

    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 →
  19. Database SetOffline - Add a TeminationClause overload

    When setting a database offline, the T-SQL command executed is a simple ALTER DATABASE <DbName> SET OFFLINE, and will wait if there are running transactions or connected users. To force that, it requires the possibility to add the ROLLBACK IMMEDIATE. The Alter() method allows to do that but not the SetOffline() method

    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 →
  20. BUG: Set-AdfsGlobalAuthenticationPolicy

    Modifying Device Authentication causes multiple AzureMFAAuthentication providers to be added to additional auth providers.

    MS Case 119012219579532.

    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 →
← Previous 1 3 4 5 10 11
  • Don't see your idea?

Feedback and Knowledge Base