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.

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

    We’ll send you updates on this idea

    3 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  2. Please enable port forwarding within PowerShell

    The very cool features on linux is about the port forwarding when we ssh to a remote server.
    I hope PowserShell come with these cool things.

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

    We’ll send you updates on this idea

    0 comments  ·  WinRM  ·  Flag idea as inappropriate…  ·  Admin →
  3. ISE should not switch focus automatically to the console pane

    Starting from Windows 10 1803, when you run a selected block of code using F8, ISE switches focus to the console pane. This means that when you run several of these, you have to manually switch the focus back to the script pane after each execution.

    This is much more difficult than before, so please fix this.

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

    We’ll send you updates on this idea

    9 comments  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
  4. "Using module" statement does not reload module after changes are made

    Problem Description
    ------------------
    If you are using the `using module` statement, it will load the module without any issues. However, if you make a change to the module and run the `using module` statement again without restarting your PowerShell session, it will not load the new modified module into memory, and instead will continue to use the old existing module that was loaded. This makes doing development with `using module` statements very tedious as you must continually reload your PowerShell session whenever you make changes to the module.

    Ideally we would just use `Import-Module -Name [module name] -Force` to avoid…

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

    We’ll send you updates on this idea

    2 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  5. 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.

    13 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 →
  6. RequiredModules statement in Module Manifests should allow for Verbose:$false to be included

    Currently module imports initiated via the RequiredModules statement in a Module Manifest do not allow for verbosity preference.

    This results in a lot of additional noise for end users.
    For example. If a DSC Resource module requires other modules, and imports them via RequiredModules in the Module Manifest then the following happens:

    If an end-user is attempting to troubleshoot their DSC configuration they will utilize

    Start-DscConfiguration -UseExisting -Verbose -Force

    The results will be a verbose line for every cmdlet imported/exported from every included module. Which is A LOT of noise surrounding the verbose messages actually relevant to the end user.

    5 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 →
  7. Bug: Powershell Get-Help does not work with Exchange Online cmdlets

    We've been lucky, from what I'm gathering from web searches! Until December last year, Exchange Online Powershell cmdlet help was available using Get-Help in the shell. However, after the Christmas break, the only response we get is:

    Get-Help : Exception calling "Invoke" with "0" argument(s): "Cannot find path '' because it does
    not exist."
    At line:1 char:1
    + Get-Help Get-Mailbox
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [Get-Help], MethodInvocationException
    + FullyQualifiedErrorId : CmdletInvocationException

    It's the same issue irrespective of the cmdlet.

    Consequently, I'm forced to contend with painful searches of the documentation website for information of the relevant cmdlets.

    Raised…

    8 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 →
  8. Remote Invoke-Command with -ScriptBlock changes types of arguments if scripblock contains variables

    What's going on here???

    PS C:\> Invoke-Command -ComputerName somemachine -Credential $cred -ArgumentList {Write-Host hi} -ScriptBlock {param($sb); Write-Host $sb.GetType().Name}
    ScriptBlock
    PS C:\> Invoke-Command -ComputerName somemachine -Credential $cred -ArgumentList {Write-Host hi} -ScriptBlock {param($sb); Write-Host $sb.GetType().Name; $a=3}
    String
    PS C:\> Invoke-Command -ComputerName somemachine -Credential $cred -ArgumentList {Get-ChildItem} -ScriptBlock {param($sb); Write-Host $sb.GetType().Name}
    ScriptBlock
    PS C:\> Invoke-Command -ComputerName somemachine -Credential $cred -ArgumentList {Get-ChildItem} -ScriptBlock {param($sb); Write-Host $sb.GetType().Name; $a=3}
    String

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

    We’ll send you updates on this idea

    5 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  9. Powershell ISE win10 1803 Cursor swaping panes on run

    Since windows 10 1803 when running a script from the script pane, the cursor switches from the script pane to the console pane.

    To reproduce: Open powershell ise on windows 10 1803. Enter in a basic script (ex: Write-Host "test") and hit F5. The cursor will move to the console pane so if you start typing the output will be in the console pane.

    The expected behavior would be to leave the cursor in the script pane so that you can continue to edit the script. This was the behavior previous to windows 10 1803.

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

    We’ll send you updates on this idea

    6 comments  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
  10. "The script failed due to call depth overflow" in non-recursive function

    I have a filter in a script module that a does a little error formatting and flags the fact that it's seen an error. Most of the time, it seems to do its little job just fine. About once a week a sharing violation triggers some kind of infinite recursion and PowerShell emits the depth overflow error. The odd thing is that the function is not recursive. I've run procmon and I can see that the sharing violation happens just once - most of what happens after than is PowerShell writing to a pstrace log (I've wrapped the offending section…

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

    We’ll send you updates on this idea

    1 comment  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  11. 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

    3 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 →
  12. Typo on Page Export-WindowsDriver

    Typo on page: https://docs.microsoft.com/en-us/powershell/module/dism/export-windowsdriver

    Where: Examples
    Example 1: Export drivers from the running operationg system

    "operationg" rather than "operating"

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

    We’ll send you updates on this idea

    1 comment  ·  Documentation  ·  Flag idea as inappropriate…  ·  Admin →
  13. test-dtc doesn't work on Windows 10 nor Windows Server 2016

    The test-dtc command tries to find some firewall rules that isn't present in either Windows 10 or Windows Server 2016 and will not complete it's testing because of this.

    In addition, it shouldn't test for firewall rules if firewall is disabled, since the firewall rules doesn't have any impact.

    The following firewall rules fails that they are disabled (but they don't exists):
    - RPC Endpoint Mapper
    - DTC incoming connections
    - DTC outgoing connections

    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 →
  14. Bug : Recaptcha in Contact Support

    I'm getting the following error message :

    Recaptcha response was not valid. Try again or email support if you need assistance.

    after submitting a new message on the Contact Support page. I confirm that all required fields were filled-in, cookies are not disabled; I've tried with Edge, Firefox, Chrome and IE, always the same result.

    Txs in advance for your help.

    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 →
  15. 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)

    4 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 →
  16. Get-TpmSupportedFeature has a typo in first example

    An 's' was incorrectly added to the end of the cmdlet name in the first example.

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

    We’ll send you updates on this idea

    0 comments  ·  Documentation  ·  Flag idea as inappropriate…  ·  Admin →
  17. Unable to paste a Chinese character 𠮷 to PowerShell or output the character from c#.

    I tried command Write-Host "𠮷"(Unicode code point 20BB7) in PowerShell but I am unable to paste the character to PowerShell.
    PowerShell output "?" when I paste the character .
    How can I resolve this issue ? Thank you.
    More details here
    https://social.msdn.microsoft.com/Forums/zh-CN/9accaed3-fcc5-4207-a6fe-5c464a9b7597/how-can-i-output-a-chinese-character-when-its-unicode-code-point-greater-than-65535-in-powershell?forum=win10itprogeneral

    2 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 →
  18. BUG: Shell crashing with x509Certificate2 objects

    Problem:

    When creating an object from the x509Certificate class the shell adds 3 script properties:

    DnsNameList
    EnhancedKeyUsageList
    SendAsTrustedIssuer

    The SendAsTrustedIssuer property causes Powershell to hit a CLR exception and hard crash when accessed.

    Repro Code:

    * Note: do this in a fresh session as it will crash the session

    $Test = New-Object System.Security.Cryptography.x509Certificates.x509Certificate2
    $Test | select *

    Alternately,

    $Test = New-Object System.Security.Cryptography.x509Certificates.x509Certificate2
    $Test.SendAsTrustedIssuer

    Crash dump:

    Unhandled Exception: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
    at System.Management.Automation.Security.NativeMethods.CertGetCertificateContextProperty(IntPtr pCertContext, CertPropertyId dwPropId, IntPtr pvData, Int32& pcbData)
    at Microsoft.PowerShell.Commands.SendAsTrustedIssuerProperty.ReadSendAsTrustedIssuerProperty(X509Certificate2 cert)
    at CallSite.Target(Closure ,…

    4 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 →
  19. Ability to register a wrapper function to be called before a cmdlet is being executed

    Helpful for example to check if remote sessions are still healthy and re-open them in case they are broken.

    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 →
  20. Serious MASSIVE BUG: Mount-DiskImage not scriptable

    Hi

    Mounting a ISO image is happening via Mount-DiskImage -ImagePath C:\ISO\isofile.iso -PassThru. This is working.

    BUT: the -ImagePath parameter doesn´t accept any(!) variables. This makes it absolute and total unusable in a script because usually the Path to a iso isn´t always static.

    If I have an static Path i can use the explorer. Its faster and easier.
    Dissapointing

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

Feedback and Knowledge Base