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. OpenSource NetTCPIP and put it in a GitHub repo.

    I am extremely annoyed by Test-NetConnection and would like to make it better. Why is there not a skip ICMP flag, or a timeout flag?

    Please, OpenSource this so the community could improve this tooling for all.

    2 votes
    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      Signed in as (Sign out)

      We’ll send you updates on this idea

      0 comments  ·  Other PowerShell  ·  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.

      39 votes
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        Signed in as (Sign out)

        We’ll send you updates on this idea

        7 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 :)

      • Collapsed region in dark mode is hardly visible

        When using the dark theme in ISE, a collapsed region is hardly visible because the font color is black and the background darkblue. There is no way the set the colors for a collapse region in the theme editor.

        18 votes
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          Password icon
          Signed in as (Sign out)

          We’ll send you updates on this idea

          survey  ·  3 comments  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
        • Get-Credential does not support Smart Card user name hints

          If you utilize Smart Cards with certificates that are not directly linked to users (no suitable user DN in Subject and no UPNs in SANs), you are able to link a single certificate to multiple accounts dynamically with the caveat that users need to provide explicit user name hints during logon in order to log on.

          User name hints need to be enabled via GPO or registry settings ("X509HintsNeeded"), after which all standard credential dialogs in Windows support them, except PowerShell's Get-Credential. This effectively prevents using PowerShell remoting with such Smart Cards / certificates if different credentials are required.

          In…

          8 votes
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            Signed in as (Sign out)

            We’ll send you updates on this idea

            0 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
          • Add ExportTo-Markdown

            Hi

            Using Markdown is common nowadays in VCS tools like Git for readme files.

            Plus it's handy to get a tabular strcture for better visibility.

            Example use cases:
            - Get-Process output comparison at different dates and time
            - SQL query results in tabular form with column names as headers

            So it'd be someInput|ExportTo-MarkDown

            2 votes
            Sign in
            Check!
            (thinking…)
            Reset
            or sign in with
            • facebook
            • google
              Password icon
              Signed in as (Sign out)

              We’ll send you updates on this idea

              0 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
            • Get-Help Get-ChildItem -Online redirects to 404 page

              On PowerShell 5.1, this links to http://technet.microsoft.com/library/hh847897(v=wps.630).aspx, which redirects to https://docs.microsoft.com/en-us/powershell/module/4.0/microsoft.powershell.core/providers/FileSystem-Provider/Get-ChildItem-for-Filesystem, which is a 404 page.

              At least three issues with this:

              1) The URL above is specific for PS 4.0, but I'm on 5.1
              2) The resultant page is a 404 error. Changing the initial URL to http://technet.microsoft.com/library/hh847897.aspx redirects to https://docs.microsoft.com/en-us/powershell/module/5.1/microsoft.powershell.core/providers/FileSystem-Provider/Get-ChildItem-for-Filesystem, but,
              3) If you change the URL from 4.0 to 1.0, 2.0, 5.0, or 5.1, you'll still get the 404 error. If you change that number to 3.0, you get redirected to https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/providers/filesystem-provider/get-childitem-for-filesystem?view=powershell-5.1&viewFallbackFrom=powershell-Microsoft.PowerShell.Core
              4) There's two different kinds of Get-ChildItem online help: the "Get-ChildItem for…

              1 vote
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                Signed in as (Sign out)

                We’ll send you updates on this idea

                1 comment  ·  Documentation  ·  Flag idea as inappropriate…  ·  Admin →
              • Bug: Integrated Modules are not loaded if you have a Network Path in $env:PSModulePath which is not reachable

                Integrated Modules are not loaded if you have a Network Path in $env:PSModulePath which is not reachable.

                ##############
                I have customized the PSModulePath:

                PS C:\Users\username> ($env:PSModulePath).split(';')
                C:\Users\username\Documents\WindowsPowerShell\Modules
                C:\Program Files\WindowsPowerShell\Modules
                C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
                c:\Program Files\Microsoft Security Client\MpProvider\
                C:\Program Files\Microsoft Monitoring Agent\Agent\PowerShell\
                \\my.domain\share\Modules\

                ##############
                If i try to execute e.g. Invoke-RestMethod

                PS C:\Users\username> Invoke-RestMethod
                Invoke-RestMethod : The 'Invoke-RestMethod' command was found in the module 'Microsoft.PowerShell.Utility', but the
                module could not be loaded. For more information, run 'Import-Module Microsoft.PowerShell.Utility'.
                At line:1 char:1
                + Invoke-RestMethod
                + ~~~~~~~~~~~~~~~~~
                + CategoryInfo : ObjectNotFound: (Invoke-RestMethod:String) [], CommandNotFoundException
                + FullyQualifiedErrorId : CouldNotAutoloadMatchingModule


                PS C:\Users\username> Get-Command Invoke-RestMethod
                Get-Command : The term…

                5 votes
                Sign in
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  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 →
                • Bring the Azure Automation DSC MOF encryption into the on-premises DSC pull server

                  In Azure Automation DSC the whole MOF file gets encrypted without the need to manually issue certificates for every node and then to collect the public keys.

                  From Azure documentation:
                  "Keeping credentials secure in node configurations (MOF configuration documents) requires encrypting the credentials in the node configuration MOF file. Azure Automation takes this one step further and encrypts the entire MOF file."

                  This extremely useful feature sould also be implemented in the on-premises DSC pull server. Especially because the needed functionality must alread be in the WMF 5 as nothing more than WMF 5 is needed to use the Azure…

                  11 votes
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    Signed in as (Sign out)

                    We’ll send you updates on this idea

                    survey  ·  0 comments  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
                  • Need a PowerShell version of tpmvscmgr.exe to manage TPM smart cards

                    We need a PowerShell version of tpmvscmgr.exe to manage TPM virtual smart cards.

                    The tpmvscmgr.exe tool 1) does not accept PIN, PUK and AdminKey numbers as arguments, these must be entered interactively in powershell.exe only, not ISE or with a pop-up, 2) cannot list currently existing virtual smart card ID strings, and 3) is somewhat crude in how it manages card lockout policies and unlocks.

                    This is needed not just for Windows clients, but also because Server 2016 Hyper-V supports virtual smart cards for guest VMs, such as for VDI scenarios.

                    We need to be able to pass in PIN,…

                    7 votes
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      Signed in as (Sign out)

                      We’ll send you updates on this idea

                      0 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
                    • WMF 5.1 breaks class registrations for the ConfigMgr client agent

                      I've localized this issue to WMF 5.1 on Windows 7. With this installed, the WMI namespace: root\ccm\policy\defaultmacine\requestedconfig becomes invalid. This is important because in In-Place upgrade scenarios from Windows 7 to Windows 10, the task sequence agent cannot resume the task sequence without being able to read this namespace. I know this is a combination of WMF and ConfigurationManager so I will post there as well.

                      2 votes
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        Signed in as (Sign out)

                        We’ll send you updates on this idea

                        2 comments  ·  WMI  ·  Flag idea as inappropriate…  ·  Admin →
                      • Write-Host -NoNewLine and Transcription

                        Starting with WMF 5.0 the -NoNewLine option for Write-Host is essentially ignored in the transcripts created using Start-Transcript.

                        Simple example script:

                        Start-Transcript log.txt
                        Write-Host -NoNewLine "this should all"
                        Write-Host -NoNewLine "be on one line"
                        Write-Host -NoNewLine "in the log.txt file"
                        Stop-Transcript

                        12 votes
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          Password icon
                          Signed in as (Sign out)

                          We’ll send you updates on this idea

                          3 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
                        • WMF 5.1 RestrictedRemoteServer session type fails to import the 'Microsoft.PowerShell.Utility' module

                          When importing this module in a restricted session type or when making a function or a cmdlet from this module visible, i.e:
                          VisibleFunctions = 'Get-FileHash'
                          the following message is returned:
                          WARNING: The 'Microsoft.PowerShell.Utility' module was not imported because the 'Microsoft.PowerShell.Utility' snap-in was already imported.
                          In practice, the module is not being imported.
                          Get-PSSnapin shows that a snapin with the same name is indeed loaded:
                          Name : Microsoft.PowerShell.Utility
                          PSVersion : 5.1.14409.1005
                          Description : This Windows PowerShell snap-in contains utility
                          cmdlets that are used to view and organize data in different ways.
                          but exposes no commands
                          Get-PSSnapin from a regular (not remote)…

                          8 votes
                          Sign in
                          Check!
                          (thinking…)
                          Reset
                          or sign in with
                          • facebook
                          • google
                            Password icon
                            Signed in as (Sign out)

                            We’ll send you updates on this idea

                            5 comments  ·  WinRM  ·  Flag idea as inappropriate…  ·  Admin →

                            This report is a bit confusing, so need some information.
                            On the system where you received this error, please try running any of the commands from Microsoft.PowerShell.Utility, such as get-member, or get-date. The error message and the information you provided seems to indicate that the module is already loaded, so we are looking for other indications that it is not.

                          • Package PowerShell Classes in a Module

                            Object Oriented Programming seems to be supported now in PowerShell, but custom classes defined in modules don't seem to behave the way they should.

                            There only seem to be two consistent ways to make these work when importing a module that has classes defined:
                            1. Import the module, then run "using module ..." to make the classes available in the session. Alternatively, you can import the module with the using statement, but this isn't ideal (no versioning).
                            2. Add the class definition file(s) to the ScriptsToProcess attribute of the module. This isn't ideal either as it runs the scripts in…

                            30 votes
                            Sign in
                            Check!
                            (thinking…)
                            Reset
                            or sign in with
                            • facebook
                            • google
                              Password icon
                              Signed in as (Sign out)

                              We’ll send you updates on this idea

                              2 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
                            • Enable WINRM certificate mapping for domain user

                              Currently I need to manage Windows DNS server. I would like to use a client certificate to connect to WinRM to manage it, since I want to expose it in RESTful interface. But WINRM certificate mapping only allows non-domain account.

                              2 votes
                              Sign in
                              Check!
                              (thinking…)
                              Reset
                              or sign in with
                              • facebook
                              • google
                                Password icon
                                Signed in as (Sign out)

                                We’ll send you updates on this idea

                                0 comments  ·  WinRM  ·  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:\>

                                10 votes
                                Sign in
                                Check!
                                (thinking…)
                                Reset
                                or sign in with
                                • facebook
                                • google
                                  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 →
                                • 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.

                                  41 votes
                                  Sign in
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    Password icon
                                    Signed in as (Sign out)

                                    We’ll send you updates on this idea

                                    6 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
                                  • DSC: Should allow Credentials with Blank Passwords, so you can use GMSA accounts

                                    For some reason DSC errors out with a credential object contains a null password. Unfortunately that is the mechanism use to set group managed service accounts.
                                    Here is a link to a relevant bug in xWebAdministration: https://github.com/PowerShell/xWebAdministration/issues/80#issuecomment-171364644

                                    And here is an example of the output your recieve when you attempt to use a managed service account:

                                    "VERBOSE: [COMPUTERNAME]: LCM: [ End Test ] [[xWebAppPool]testpool] in 0.0070 seconds.
                                    The password supplied to the Desired State Configuration resource MSFT_xWebAppPool is not valid. The password cannot be null or empty.
                                    + CategoryInfo : InvalidResult: (:) [], CimException
                                    + FullyQualifiedErrorId : InvalidPassword
                                    + PSComputerName…

                                    91 votes
                                    Sign in
                                    Check!
                                    (thinking…)
                                    Reset
                                    or sign in with
                                    • facebook
                                    • google
                                      Password icon
                                      Signed in as (Sign out)

                                      We’ll send you updates on this idea

                                      6 comments  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
                                      survey  ·  Mark Gray responded

                                      Thanks for the feedback! I have personally heard this request from a number of customers. IMHO having the ability to use GMS accounts would be a quite useful in DSC configurations. If this is an important feature for you as well, vote it up so that we can appropriately prioritize it as we move forward.

                                      MarkG

                                    • Disable-ScheduledTask -TaskName will fail with tasks including spaces in name.

                                      Steps to reproduce
                                      ------------------
                                      Disable-ScheduledTask -TaskName "Data Integrity Scan for Crash Recovery"
                                      Disable-ScheduledTask : The system cannot find the file specified.
                                      At line:1 char:1
                                      + Disable-ScheduledTask "Data Integrity Scan for Crash Recovery"
                                      + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                      + CategoryInfo : ObjectNotFound: (PS_ScheduledTask:Root/Microsoft/...S_ScheduledTask) [
                                      Disable-ScheduledTask], CimException
                                      + FullyQualifiedErrorId : HRESULT 0x80070002,Disable-ScheduledTask

                                      Expected behavior
                                      -----------------
                                      This should disable the scheduled task and not crash.

                                      You can workaround this by searching for the task object and disabling that way:

                                      $Name = "Data Integrity Scan for Crash Recovery"
                                      Get-ScheduledTask | where-object {($_.TaskName -eq $Name)} | Disable-ScheduledTask

                                      Actual behavior
                                      ---------------
                                      Crashes with the following exception:
                                      Disable-ScheduledTask : The…

                                      1 vote
                                      Sign in
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        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 →
                                      • 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
                                        ----- ----- -----…

                                        2 votes
                                        Sign in
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          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 →
                                        • 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

                                          16 votes
                                          Sign in
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            Password icon
                                            Signed in as (Sign out)

                                            We’ll send you updates on this idea

                                            survey  ·  14 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
                                          • Don't see your idea?

                                          Feedback and Knowledge Base