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. 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

    128 votes
    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)

      We’ll send you updates on this idea

      15 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
    • Add a PowerShell module to manage Windows Updates

      Add a PowerShell module to manage Windows Updates like you can now with the GUI. Like checking for updates, installing all updates, or a selection of updates, creating a report of pending updates, etc. The Windows Update options in the Server Configuration Manager (sconfig) are very limited.

      26 votes
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        I agree to the terms of service
        Signed in as (Sign out)

        We’ll send you updates on this idea

        4 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →

        We don’t own the creation of modules for operating system features. I’ll mark this as Survey so we can provide this information to the WU team, but you might also want to consider filing this in the Windows 10 Feedback Hub. Also, see the community-created PSWindowsUpdate link below :)

      • 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.

        25 votes
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          Password icon
          I agree to the terms of service
          Signed in as (Sign out)

          We’ll send you updates on this idea

          2 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
        • BUG: ScheduledTasks module broken in 1511

          ICAN use New-SchedualedTaskTrigger -AtSartup without error SO THAT I can schedule tasks

          Repeat issue: update win10 to 1511 and run this command in PowerShell
          New-ScheduledTaskTrigger -AtStartup
          New-ScheduledTaskTrigger : Method "NewTriggerByStartup" not found
          At line:1 char:1
          + New-ScheduledTaskTrigger -AtStartup
          + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          + CategoryInfo : ObjectNotFound: (PS_ScheduledTask:Root/Microsoft/...S_ScheduledTask) [New-ScheduledTaskTrigger], CimException
          + FullyQualifiedErrorId : HRESULT 0x80041002,New-ScheduledTaskTrigger

          17 votes
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            I agree to the terms of service
            Signed in as (Sign out)

            We’ll send you updates on this idea

            7 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
          • Get-ComputerInfo should have remoting capabilities

            Get-ComputerInfo was introduced in PowerShell Desktop 5.1.14361.0 and provides the ability to return various information about the local computer. It would be very useful if this cmdlet could also query remote computers, without relying on PowerShell Remoting.
            For example:
            Get-ComputerInfo -ComputerName SRV01

            17 votes
            Sign in
            Check!
            (thinking…)
            Reset
            or sign in with
            • facebook
            • google
              Password icon
              I agree to the terms of service
              Signed in as (Sign out)

              We’ll send you updates on this idea

              survey  ·  0 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
            • v5 regression: Get-ChildItem -LiteralPath -Recurse ignores -Include and gets all items

              I have just installed Windows Management Framework (WMF) 5.0 RTM on my Windows
              7 SP1 and tested it. `Get-ChildItem -LiteralPath -Include -Recurse` started to
              work differently in v5.

              This command

              Get-ChildItem -Path $PSHOME -Include *.exe -Recurse

              gets expected *powershell.exe* and *powershell_ise.exe*.

              The same command with `-LiteralPath` instead of `-Path`

              Get-ChildItem -LiteralPath $PSHOME -Include *.exe -Recurse

              in PowerShell v5 RTM unexpectedly gets all items in `$PSHOME`.

              I cannot test this with previous versions right now (by the way,
              `PowerShell.exe -Version 2` seems to have the same issue in v5 RTM). But I
              believe in PowerShell v3 and v4 this was not…

              17 votes
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                I agree to the terms of service
                Signed in as (Sign out)

                We’ll send you updates on this idea

                1 comment  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
              • update-help : Failed to update Help for the module(s) 'Provisioning'

                I receive the following error when running Update-Help in PowerShell.

                PS C:\WINDOWS\System32\WindowsPowerShell\v1.0\Modules\Provisioning> update-help
                update-help : Failed to update Help for the module(s) 'Provisioning' with UI culture(s) {en-US} : Unable to retrieve
                the HelpInfo XML file for UI culture en-US. Make sure the HelpInfoUri property in the module manifest is valid or
                check your network connection and then try the command again.
                At line:1 char:1
                + update-help -force
                + ~~~~~~~~~~~~~~~~~~
                + CategoryInfo : ResourceUnavailable: (:) [Update-Help], Exception
                + FullyQualifiedErrorId : UnableToRetrieveHelpInfoXml,Microsoft.PowerShell.Commands.UpdateHelpCommand

                PowerShell info:
                PS C:\> $PSVersionTable.PSVersion

                Major Minor Build Revision
                ----- ----- ----- --------
                5 1 15063 138

                16 votes
                Sign in
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  Password icon
                  I agree to the terms of service
                  Signed in as (Sign out)

                  We’ll send you updates on this idea

                  4 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
                • 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
                  {
                  "value": [
                  [
                  "Foo",
                  1
                  ],
                  [
                  "Bar",
                  2
                  ]
                  ],
                  "Count": 2
                  }

                  # Which completely breaks round-trip support
                  ConvertFrom-Json (Convertto-Json $o)

                  value Count
                  ----- -----
                  {Foo 1, Bar 2} 2

                  15 votes
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    I agree to the terms of service
                    Signed in as (Sign out)

                    We’ll send you updates on this idea

                    survey  ·  14 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
                  • 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.

                    13 votes
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      I agree to the terms of service
                      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.

                    • WMF5.1 - Get-ComputerInfo unable to find entry point GetFirmwareType

                      Running the new Get-ComputerInfo returns the following error
                      C:\> Get-ComputerInfo
                      Get-ComputerInfo : Unable to find an entry point named 'GetFirmwareType' in DLL 'kernel32.dll'.

                      This is on a XenDesktop VM hosted on VMWare, so I guess it's due to the desktop being virtualised. OS is Win7x64

                      12 votes
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        I agree to the terms of service
                        Signed in as (Sign out)

                        We’ll send you updates on this idea

                        survey  ·  6 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
                      • 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'.

                        11 votes
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          Password icon
                          I agree to the terms of service
                          Signed in as (Sign out)

                          We’ll send you updates on this idea

                          1 comment  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
                        • performance of out-null drastically worse then using [void] or assigning result to $null

                          Votes from Connect: 4

                          Original Date Submitted: 3/28/2015 6:08:31 AM

                          Description:
                          ********Contact Information********
                          Handle: JasonHorner
                          Site Name: PowerShell
                          Feedback ID: 1208677
                          ***************************************

                          Frequency: PowerShell
                          Regression: gci | out-null
                          [void](gci)
                          $null = gci

                          run the above inside of measure-command the problem gets worse as the number of iteration increase

                          Problem Description:
                          It seems to me that:

                          gci | out-null

                          should be the preferred way of expressing: discard output in PowerShell

                          However when running timings against alternatives
                          some of the the other constructs are much faster:

                          [void](gci)
                          $null = gci

                          I realize this is likely due to the pipeline overhead. Would it…

                          10 votes
                          Sign in
                          Check!
                          (thinking…)
                          Reset
                          or sign in with
                          • facebook
                          • google
                            Password icon
                            I agree to the terms of service
                            Signed in as (Sign out)

                            We’ll send you updates on this idea

                            2 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
                          • Test-Connection should support suppressing errors and returning the full result objects

                            Use case:

                            Test-Connection (1..15 | % { "comp{0:00}" -f $_ }) -Count 1 | select Address, IPV4Address, ResponseTime, @{Name='Success'; Expression={$_.StatusCode -eq 0}} | ft

                            Currently, the code above will produce a table with successful pings, interleaved with error records for unreachable machines. It would be very useful to be able to provide a switch so that Test-Connection would return objects with appropriate status instead of errors.

                            As an icing on the cake, the objects returned by Test-Connection could be extended with a bool Success property, calculated based on StatusCode (like in the example above).

                            8 votes
                            Sign in
                            Check!
                            (thinking…)
                            Reset
                            or sign in with
                            • facebook
                            • google
                              Password icon
                              I agree to the terms of service
                              Signed in as (Sign out)

                              We’ll send you updates on this idea

                              1 comment  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
                            • 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…

                              7 votes
                              Sign in
                              Check!
                              (thinking…)
                              Reset
                              or sign in with
                              • facebook
                              • google
                                Password icon
                                I agree to the terms of service
                                Signed in as (Sign out)

                                We’ll send you updates on this idea

                                0 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
                              • Get-ComputerInfo most properties are empty

                                I try the new CMDLet Get-ComputerInfo, but the most properties in the result are empty.
                                Only this properties show values:
                                WindowsBuildLabEx,WindowsCurrentVersion,WindowsEditionId,WindowsInstallationType,WindowsInstallDateFromRegistry,WindowsProductId,WindowsProductName,WindowsRegisteredOrganization,WindowsRegisteredOwner,WindowsSystemRoot,TimeZone,LogonServer,PowerPlatformRole,DeviceGuardSmartStatus

                                Try also as Admin and with different Hardware and VM's. (Windows 10 x64 Versiom 1607)

                                Beste regards
                                brima

                                7 votes
                                Sign in
                                Check!
                                (thinking…)
                                Reset
                                or sign in with
                                • facebook
                                • google
                                  Password icon
                                  I agree to the terms of service
                                  Signed in as (Sign out)

                                  We’ll send you updates on this idea

                                  survey  ·  1 comment  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
                                • 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:\> 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:\> $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:\>

                                  7 votes
                                  Sign in
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    Password icon
                                    I agree to the terms of service
                                    Signed in as (Sign out)

                                    We’ll send you updates on this idea

                                    2 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
                                  • 7 votes
                                    Sign in
                                    Check!
                                    (thinking…)
                                    Reset
                                    or sign in with
                                    • facebook
                                    • google
                                      Password icon
                                      I agree to the terms of service
                                      Signed in as (Sign out)

                                      We’ll send you updates on this idea

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

                                      Would be interested in understanding the scenario where you are using the cmdlet & specifying the reason for rebooting. To explain: our previous assumption was that users would EITHER use the server UI that captured this information, OR use the cmdlet (often so they didn’t need to supply that reason text).
                                      So, what would help is to understand in what situations the cmdlet is being used and specifying the reboot explanation is desirable.

                                    • -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.

                                      6 votes
                                      Sign in
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        Password icon
                                        I agree to the terms of service
                                        Signed in as (Sign out)

                                        We’ll send you updates on this idea

                                        survey  ·  0 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
                                      • Accept NuGet Interval Notation for Specifying Version Numbers

                                        When attempting to load a module by fully qualified module name, PowerShell should allow for a single "ModuleVersion" field that accepts NuGet's interval notation for specifying ranges. This change could be added without breaking change as this spec (in interval notation):

                                        $fqn = @{ModuleName='BingWallpaper';ModuleVersion='1.0'}

                                        Tells PowerShell to load any module >= 1.0 which is backwards compatible with how PowerShell would interpret that version string today. But if I wanted to follow semver rules, I could specify:

                                        $fqn = @{ModuleName='BingWallpaper';ModuleVersion='[1.0,2.0)'}

                                        Which says load any matching module >= 1.0 but < 2.0.

                                        The interval notation is quite expressive. See the NuGet docs…

                                        6 votes
                                        Sign in
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          Password icon
                                          I agree to the terms of service
                                          Signed in as (Sign out)

                                          We’ll send you updates on this idea

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

                                          We understand that this would allow a single-point expression of MinimumVersion and MaximumVersion. However, it’s unclear why changing to that nomenclature going to be a high priority. Additional information, particularly about why the existing functionality is insufficient – would help – thanks!

                                        • invoke-command and get-adcomputer

                                          As it stands because Get-ADComputer uses the name property and invoke-command uses the Computername property results from Get-ADComputer cannot be piped in directly to the invoke-command cmdlet. Adding aliases for one or both properties to make them work together seamlessly would be great.

                                          6 votes
                                          Sign in
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            Password icon
                                            I agree to the terms of service
                                            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 6
                                          • Don't see your idea?

                                          Feedback and Knowledge Base