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. Add support for TLS 1.2 (Invoke-WebRequest, Invoke-RestMethod)

    Invoke-WebRequest and Invoke-RestMethod commands only support TLS 1.0 protocol. We need to have a native support for newer TLS (1.2) versions for modern web interfaces.

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

    We’ll send you updates on this idea

    6 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
    survey  ·  Zachary Alexander responded

    changing to Survey based on Joonas’ comment below – request is to have a flag to force TLS 1.2.

  2. get-command -module only shows aliases with verb-noun naming

    If a module exports aliases which don't follow the verb-noun convention (which most don't), they aren't shown with get-command -module <modulename>.

    Get-command -module <modulename> -commandType Alias does show them,
    as does
    Get-command -module <modulename> -all
    This is counter-intuitive, because -commandtype should narrow the results, and the description of the -all switch says it's for "revealing" commands hidden by naming collisions.

    3 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. Compress-Archive throws "OutOfMemory" on large folders

    When using Compress-Archive on a very large folder, I am getting a "OutOfMemory Exception" error. This also happens when I pipe the folder from Get-ChildItem.

    PS E:&gt; Compress-Archive -Path \servername\downloads\foldername -DestinationPath e:\Foldername_bef
    ore-12-01-2016.zip -CompressionLevel Optimal
    Exception calling "Write" with "3" argument(s): "Exception of type 'System.OutOfMemoryException' was thrown."
    At
    C:\windows\system32\windowspowershell\v1.0\Modules\Microsoft.PowerShell.Archive\Microsoft.PowerShell.Archive.psm1:809
    char:29
    + ... $destStream.Write($buffer, 0, $numberOfBytesRead)
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    
    + FullyQualifiedErrorId : OutOfMemoryException

    PS E:&gt; $Psversiontable

    Name Value


    PSVersion 5.0.10586.117
    PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
    BuildVersion 10.0.10586.117
    CLRVersion 4.0.30319.34209
    WSManStackVersion 3.0
    PSRemotingProtocolVersion 2.3
    SerializationVersion 1.1.0.1

    PS E:&gt;

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

    We’ll send you updates on this idea

    3 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  4. Get-AuthenticodeSignature TimeStamperCertificate broken

    Problem:

    Get-AuthenticodeSignature does not return a time stamper certificate for files which have been time stamped with a valid time stamp server.

    Steps to reproduce:

    Using signtool.exe (from Windows SDK), view the signature info for signtool.exe. Verify that it has been time stamped, and that you can see the time stamper certificate.

    Using Get-AuthenticodeSignature, view the signature of signtool.exe. Notice that the TimeStamperCertificate field is blank.

    Consequences:

    Powershell will report any signed file as valid as long as the signature is valid, regardless of whether or not the timestamp is valid.

    Powershell version:
    Major Minor Build Revision


    5 1 14393…

    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  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  5. Some Storage cmdlets do not work in WinPE

    At least Clear-Disk and New-Partition cmdlets from Storage module do not work in Windows PE. Nothing happens if you launch any of them, no any output/result. There may be more cmdlets not working in Windows PE.
    There is a topic on TechNet https://social.technet.microsoft.com/Forums/windowsserver/en-US/3a0e7e9c-f1ea-4324-8a17-f4c447efcbb0/some-storage-cmdlets-do-not-work-under-winpe?forum=winserverpowershell

    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  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  6. Implement native robocopy cmdlet

    Votes from Connect: 72

    Original Date Submitted: 2/23/2011 3:47:03 AM

    Description:
    Contact Information
    Handle: Joel Reinford
    Site Name: PowerShell
    Feedback ID: 646172


    Frequency: Always Happens
    Regression: Yes, this happens in all previous versions

    Problem Description:
    Powershell needs the full functionality of Robocopy as a cmdlet. Copy-Item has too many limitations and invoking robocopy from Powershell is not an elegant solution.

    Product Studio item created by Connect Synchronizer due to creation of feedback ID 646172 (http://connect.microsoft.com/PowerShell/feedback/ViewFeedback.aspx?FeedbackID=646172).

    Repro Steps:
    Expected Results:

    Internal BugId: 2822

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

    We’ll send you updates on this idea

    15 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  7. ConvertTo-Json doesn't serialize simple objects properly

    Given a simple array which has been boxed in a PSObject

    [PSObject]$o = @(@(Foo,1),@(Bar,2))

    Calling ConvertTo-Json returns a weird pointless wrapper around it:

    convertto-json $o
    {

    &quot;value&quot;:  [
    
    [
    &quot;Foo&quot;,
    1
    ],
    [
    &quot;Bar&quot;,
    2
    ]
    ],
    &quot;Count&quot;: 2

    }

    Which completely breaks round-trip support

    ConvertFrom-Json (Convertto-Json $o)

    value Count


    {Foo 1, Bar 2} 2

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

    We’ll send you updates on this idea

    survey  ·  14 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  8. Invoke-WebRequest returned object hangs when accessing Links property

    OS: Windows 7 - 10

    Name : ConsoleHost
    Version : 5.0.10586.117
    InstanceId : 078d4e23-84fd-433c-a831-37bb0935166e
    UI : System.Management.Automation.Internal.Host.InternalHostUserInterface
    CurrentCulture : en-US
    CurrentUICulture : en-US
    PrivateData : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
    DebuggerEnabled : True
    IsRunspacePushed : False
    Runspace : System.Management.Automation.Runspaces.LocalRunspace


    Not working example:

    $releases = 'https://github.com/hluk/CopyQ/releases&#39;
    $downloadpage = Invoke-WebRequest -Uri $releases -UseBasicParsing
    $download
    page.links # <-- hangs here

    Other properties seem to work normally.


    This example uses basic parsing and works without out. However, the behavior doesn't generally depend on this setting and I had sites that hang on many occasions.

    The following issues seems related:

    https://windowsserver.uservoice.com/forums/301869-powershell/suggestions/11088744-invoke-webrequest-hangs-in-some-cases-unless-use
    https://windowsserver.uservoice.com/forums/301869-powershell/suggestions/11515881-invoke-webrequest-hangs-freeze-at-many-websites

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

    We’ll send you updates on this idea

    survey  ·  4 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  9. Change the default for Windows System's Culture, DateFormat & Local settings.

    At present the Regional & Localisation Powershell commands are per user &/or session based.

    There does not appear to be a way to change the default Regional settings for all users. eg: Default user, System User &/or the setting for the entire windows system. (ie All System accounts, all existing accounts & any new ones etc)

    I'd like an option on the existing powershell commands to force a system wide change for default accounts & possibly for all existing accounts.

    The goal is to change the DateFormat, Culture & Location to something else. In our case DMY & Australia

    Background: …

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

    We’ll send you updates on this idea

    2 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  10. Add option for New-WebServiceProxy to use existing assembly

    New-WebServiceProxy dynamically generates a new assembly with the types for a web service and adds it to the AppDomain every time it's called, even for the same URI with the same credentials.

    Please add a parameter to New-WebServiceProxy that will allow it to use an existing assembly if possible. Even if the caller had to specify the assembly, that would be helpful.

    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  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  11. BUG: new-localuser fails to allow connection to Microsoft account

    The New-LocalUser cmdlet available in Windows 10 Anniversary Update cannot perform a function described in the documentation.

    Local user accounts may be connected with existing Microsoft accounts. New-LocalUser should support this by accepting a -Name parameter of the form "MicrosoftAccount&lt;user>@outlook.com". This is described in the detailed help.

    However this fails because the parameter fails validation as it is over 20 characters in length (already true with "MicrosoftAccount&quot; and "@outlook.com" let alone the "actual" user name). The 20 character limit is valid for a regular local account name, but shouldn't be valid for an MS account name.

    There appears no other…

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

    We’ll send you updates on this idea

    survey  ·  3 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  12. -IgnoreCertificateCheck or -SkipSslVerification parameter for [Invoke-WebRequest & Invoke-RestMethod]

    Invoke-WebRequest & Invoke-RestMethod need a parameter to easily skip/ignore checking for a valid certificate of https uri's. This could be required for a number of reasons such as development site only using self signed certificate while testing.

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

    We’ll send you updates on this idea

    survey  ·  1 comment  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  13. Invoke-RestMethod and Invoke-WebRequest Encoding bug

    Invoke-RestMethod and Invoke-WebRequest Encoding bug

    This is 4 years old bug,from Invoke-RestMethod and Invoke-WebRequest was born.

    【Cause of the bug】
    Utf8 web page incorrectly identified as iso8859-1.
    Mistakenly convert THE! utf8("false ISO-8859-1") source string to utf8.
    There may be more encoding incorrectly identified,encoding incorrectly conversion errors.

    【bug with powershell version】
    all version
    powershell 5.0 with windows10 10586 :yes tested.

    【test code】
    Invoke-WebRequest -Uri 'http://www.msn.com&#39; # return chinese messy code
    (Invoke-WebRequest -Uri 'http://www.msn.com').BaseResponse.CharacterSet # utf8 web page,but return ISO-8859-1

    Invoke-RestMethod -Uri 'http://www.msn.com&#39;

    【how to fix】
    convert string encoding.
    from utf8 to THE! "false ISO-8859-1"

    $utf8 =…

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

    We’ll send you updates on this idea

    4 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  14. Set-Service -StartupType 'Automatic (Delayed Start)'

    Can we get this missing option added?
    It would be also nice if this was shown with Get-Service rather than services only showing Automatic when they are actually 'Automatic Delayed Start'.

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

    We’ll send you updates on this idea

    2 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  15. BUG: ScheduledTaskTrigger -RandomDelay does not work

    New-ScheduledTaskTrigger -AtLogOn -RandomDelay 0:15:00; or
    New-ScheduledTaskTrigger -AtLogOn -RandomDelay (new-Timespan -Minutes 15)
    does not set the delay option. The checkbox in ScheduledTask Panel never gets set.
    Windows 10.0.14393 x64 de-DE (German Installation)

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

    We’ll send you updates on this idea

    survey  ·  2 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  16. The -ToSession parameter for copy-item should accept multiple sessions

    The Copy-Item cmdlet now supports copying to a remote session. I typically work against a farm of servers and do something like
    $s = new-pssession server1, server2, server3.
    I want to be able to do copy c:\file.txt -tosession $s -destination c:\file.txt.

    Right now, I get an error saying cannot convert an array of objects to a System.Management.Automation.Runspaces.PSSession object. I had to copy the file 3 different times to each session.

    23 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 →

    Thank you for your input. Based on its current ranking compared to other feedback items and product schedule, work on this item is pending (and will be driven by) further customer input. If you did not open this issue and are also impacted by it, please vote this item up.

  17. Improve the speed of Get-EventLog

    As you describe here:
    https://blogs.technet.microsoft.com/heyscriptingguy/2011/03/08/how-to-improve-the-performance-of-a-powershell-event-log-query/
    The Get-EventLog command is slow. Using Get-WinEvent is much faster.The Get-EventLog is still easier to use though.
    Maybe Get-EventLog could be refactored to use Get-WinEvent

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

    We’ll send you updates on this idea

    survey  ·  1 comment  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  18. Bug: Copy-Item -ToSession does not copy the first folder and instead copies that folder's items to the top-level directory of the destinatio

    TLDR

    When copying files via the code below, if the first item copied is a folder it is not created in the destination. The files within that folder are instead copied to the top-level folder of the destination. All other files and folders copy normally.

    Code

    Copy-Item -ToSession $Session -Path C:\Some\Path* -Destination C:\Another\Path

    Result

    If there is a subfolder in C:\Some\Path called 'Folder' with files inside it called 'First.txt', 'Second.txt', and 'Third.txt', and if this is the first folder copied the destination will look like this:

    C:\Another\Path\First.txt
    C:\Another\Path\Second.txt
    C:\Another\Path\Third.txt
    ... Other Files and folders

    Executed on a Server 2012R2 with…

    4 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 →
  19. Test-Path does not support PSCredential

    Votes from Connect: 4

    Original Date Submitted: 8/12/2014 2:16:43 AM

    Description:
    Contact Information
    Handle: Graeme Bray
    Site Name: PowerShell
    Feedback ID: 943873


    Frequency: Always Happens
    Regression: I do not know if this issue existed previously

    Problem Description:
    Test-Path states that it supports a PSCredential, however it does not and errors when you attempt to pass a Credential object to it. This should either be removed or it should be changed to allow the passage of credentials.

    This can especially be an issue if there is no trust between domains/forest and you have to pass a credential in a script that…

    11 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 →
  20. SmbShare module localization does not work when UICulture is not en-US

    I am attempting to use invoke-command to run a script on a remote computer. The UICulture of my local machine is en-GB. During the execution of the script on the remote computer, it does an "Import-Module SmbShare". This fails with the following error:

    Cannot find the Windows PowerShell data file 'SmbLocalization.psd1' in directory 'C:\Windows\system32\WindowsPowerShell\v1.0\Modules\SmbShare\en-GB&#39;, or in any parent culture directories.

    Looking at the modules folder, I can see that the SmbShare folder does not contain an en-GB folder but does contain an en-US folder with an SmbLocalization.psd1 file inside. However, there is no default SmbLocalization.psd1 file located directly within the…

    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  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  • Don't see your idea?

Feedback and Knowledge Base