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 enhanced reporting, allowing you to view the status of all nodes instead of one at a time.

    Currently, the DSC reporting server only offers the ability to query a single node at a time. I think for any environment, it would be crucial to get a list of the last reported compliance for all nodes. I'd really like to see this feature added in a future release.

    1 vote
    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  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
    • Support for Query Language CQL lacks documentation: CIM_QueryCapabilities missing

      The Get-Ciminstance -QueryDialect parameter accepts CQL
      https://technet.microsoft.com/en-us/itpro/powershell/windows/cimcmdlets/get-ciminstance#-querydialect
      Official tutorials
      http://www.wbemsolutions.com/tutorials/DMTF/wbem-cql.html
      and specifications say the standard class CIM_QueryCapabilities reveals the features supported by the CQL implementation.
      However, this class is missing, and documentation is not to be found.
      Would Microsoft care to spare us the mystery?

      1 vote
      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  ·  WMI  ·  Flag idea as inappropriate…  ·  Admin →
      • ResourceUriSessionSet of Get-CimInstance doesn't filter

        Observe this sample output: same -Filter, different results.
        Equal parity for general CIM would be nice.

        > Get-CimInstance -ResourceUri http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk -Filter "DeviceID='D:'" -KeyOnly -CimSession $cs | % { '{{{0}}}' -f $_.DeviceId }
        {C:}
        {D:}
        > Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DeviceID='D:'" -KeyOnly -CimSession $cs | % { '{{{0}}}' -f $_.DeviceId }
        {D:}
        > $PSVersionTable

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

        1 vote
        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  ·  WMI  ·  Flag idea as inappropriate…  ·  Admin →
        • New Verb: Proto

          A new verb (that's really not a verb in the dictionary but is as used in Dev). "Proto". It would signify that the cmdlet/function is a template or example. Would be more complete (more specific in values) than a snippet.

          1 vote
          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  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
          • BUG: Get-Help Get-Service

            In the help file it states that wildcards are not permitted. But it accepts a value with a wildcard on the heads or tails and it also accepts just a wildcard with no other characters.

            -Name <String[]>
            Specifies the service names of services to be retrieved. Wildcards are permitted. By default, this cmdlet gets all of the services on the computer.

            Required? false
            Position? 0
            Default value None
            Accept pipeline input? True (ByPropertyName, ByValue)
            Accept wildcard characters? false

            2 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  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
            • Bug : Convert-String throw a NullReferenceException when -InputObject contains an empty string

              Steps to reproduce
              ------------------
              Convert-String -InputObject [String]::empty

              Expected behavior
              -----------------
              The cmdlet return an empty string ?

              Actual behavior
              ---------------
              Convert-String : La référence d'objet n'est pas définie à une instance d'un objet.
              At line:1 char:1
              + Convert-String -InputObject ''
              + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
              + CategoryInfo : NotSpecified: (:) [Convert-String], NullReferenceException
              + FullyQualifiedErrorId : System.NullReferenceException,Microsoft.PowerShell.Commands.StringManipulation.ConvertStringCommand
              ```
              Environment data
              ----------------
              > $PSVersionTable
              Name Value
              ---- -----
              PSVersion 5.1.14409.1005
              PSEdition Desktop
              PSCompatibleVersions {1.0, 2.0, 3.0, 4.0, 5.0, 5.1.14409.1005}
              BuildVersion 10.0.14409.1005
              CLRVersion 4.0.30319.42000
              WSManStackVersion 3.0
              PSRemotingProtocolVersion 2.3
              SerializationVersion 1.1.0.1

              1 vote
              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  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
              • Start-Transcript Does Not Capture Enter-PSSession

                Start-Transcript
                "local stuff"
                Enter-PSSession Server1
                "remote stuff"
                Exit-PSSession
                "more local stuff"
                Stop-Transcript

                Transcript does not show the remote stuff.

                3 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 →
                • Provide a simply way to filter results to items owned by Microsoft.

                  Provide a simply way to filter results to items owned by Microsoft. Some companies only allow official Microsoft tools and scripts to be used.

                  1 vote
                  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

                    planned  ·  0 comments  ·  PowerShell Gallery  ·  Flag idea as inappropriate…  ·  Admin →
                  • partial

                    Hi all,
                    I am using DSC partials to create role-based architectures with Azure virtual machines.
                    When switching to Windows 2016 (everything works great on Windows 2012 R2), I get errors when DSC is compiling the MOF.
                    The idea is that I have multiple partials that contain the same Windows Feature installation, because it's needed for a certain roles. When I apply more roles on the same machine, the partials need to merge. So I have one partial that contains this:
                    WindowsFeature DotNetFrameworkRole1
                    {
                    Name = 'AS-NET-Framework'
                    }
                    and another partial that contains this:
                    WindowsFeature DotNetFrameworkRole2
                    {
                    Name = 'AS-NET-Framework'
                    } …

                    1 vote
                    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

                      investigating  ·  1 comment  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
                    • Include UTC timestamp as property to error object

                      It'd be very helpful to attach a timestamp of when an error occured to an error object. Open to ideas as to whether it should be UTC, local time, ntp, etc.

                      4 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  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
                      • Start-Transcript does not capture user keyboard input when started from a script when ran under Powershell Version 5

                        I have found after upgrading Windows Powershell from Version 4 to Version 5 that the transcript log file created by the Start-Transcript commandlet does not capture the users keyboard input....where it does capture user input when running in Version 4.

                        Steps to replicate:

                        1. Create a ps1 script with Start-Transcript and a Write-Host/Read-Host response. (Feel free to use the "script code" below)

                        Start-Transcript C:\Temp\Test.log

                        Write-Host "Enter your name: " -NoNewline
                        $Name = Read-Host
                        Write-Host
                        Write-Host "You entered: $Name"

                        2. Run the script on a machine with Windows Powershell 4 installed, review the Transcript log.

                        3. Do the same on a…

                        1 vote
                        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  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
                        • 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

                          1 vote
                          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 →
                          • Start-Process is behaving strange when -credential switch is used

                            When running Start-Process start-process "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -cred $(Get-Credential) regardless if the credentials differ from the current consoles credentials or the same credentials are used, the new console window seems to be unresponsive, until you switch back to the console from which the new console was launched and start typing something in that console.

                            If the same thing is done in ISE, this issue does not occour.

                            I have testet this on PS 5.1.14393.206, 5.1.14393.953 and 5.1.14393.693. Windows Server 2012R2, Windows Server 2016 and Windows 10

                            Please see the issue in this video: https://goo.gl/8ZvdEV

                            1 vote
                            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  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
                            • Get-WinEvent -ListLog fails for logs with invalid EVTX file paths

                              When an event log has an invalid folder path to its EVTX log file, this command throws an exception and fails to read any data about that log from the registry, it simply skips that log object entirely:

                              Get-WinEvent -ListLog *

                              The error is "Get-WinEvent : Could not retrieve information about the Microsoft-Windows-RetailDemo/Operational log. Error: The system cannot find the path specified."

                              The expected behavior is for Get-WinEvent to read the log information out of the registry, even if the log file path is invalid, and output an object with as much information as possible (and not just give up).…

                              1 vote
                              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  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
                              • Get-WinEvent displays wrong MaximumSizeInBytes value

                                On Vista and later, the maximum permissible Windows event log size is 18014398509481983 KB.

                                When set to this value for the System log (and other logs too presumably) the following command fails to show the maximum log file size correctly:

                                Get-WinEvent -ListLog System

                                Specifically, the MaximumSizeInBytes value shown is -1024.

                                Expected behavior is to show the current max size from the registry in bytes correctly, even if the value is absurdly large.

                                A very large max value might be set accidentally or maliciously, and the bug may cause problems detecting or correcting it.

                                The above behavior was tested on Windows…

                                1 vote
                                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  ·  Other PowerShell  ·  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.

                                  • Copy with chinese string code from ise,paste it into WORD 2016,garbled

                                    【Bug to reproduce】
                                    Copy with chinese string code from powerGUI,paste it into word 2016,normal.
                                    Copy with chinese string code from ise,paste it into word 2016,garbled.

                                    ------------
                                    $a = 1
                                    $b = "字符串"
                                    # 汉字乱码
                                    ------------

                                    【old report link】
                                    https://connect.microsoft.com/PowerShell/Feedback/Details/2002528

                                    【powershell version】
                                    ise in windows 8.1
                                    ise in windows 10 14393.1066

                                    microsoft office 2016
                                    microsoft office 2013

                                    【reason】
                                    unknown

                                    【reporter】
                                    By the chinese powershell study & research group. QQ group No. is 183173532

                                    1 vote
                                    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  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
                                    • Copy headers when copying from Out-GridView

                                      It would be great to copy headers for all the columns when copying data from the Out-GridView table lists.

                                      5 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  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
                                      • Bug: DSC Decryption across Servers not Working

                                        On 2 Fully Updated Windows Server 2016 Machines running and provisioned from Azure I have created a Pull Server Configuration. I have created the DSC Signing Certificate using a custom template on a Enterprise Root CA which has worked for 2012R2 nodes and also tested using xDSCUtils New-xSelfSignedDscEncryptionCertificate. Using the same Certificate to Compile and Execute the MOF on the same Computer works, it is only if you compile on one and execute on another that the problems arise.
                                        I kept getting errors when passing in credentials. I therefore wrote a tiny custom DSC Resource that Displays the Password as…

                                        1 vote
                                        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

                                          investigating  ·  0 comments  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Bug: Here string - When using invoke-command when here string starts with [

                                          Using a here string to create an LCM file using a Hyper-V VM and invoke-command.
                                          If the here string starts with [ the file created is blank if viewing with get-content. Viewing the file with PSEdit, the file is full of squares.

                                          Code used to generate this:

                                          $lcmscript = @'
                                          [DSCLocalConfigurationManager()]
                                          configuration LCMPush
                                          {
                                          Node $AllNodes.Where{$_.Role -eq "Primary DC"}.Nodename
                                          {
                                          Settings
                                          {
                                          RebootNodeIfNeeded = $true
                                          ActionAfterReboot = 'ContinueConfiguration'
                                          ConfigurationMode = 'ApplyAndAutoCorrect'
                                          CertificateID = "REPLACEWITHFRESHLYCREATEDTHUMBPRINT"
                                          }
                                          }
                                          }

                                          # Create the computer.meta.mof in folder
                                          LCMPush -configurationData c:\dsc\dscconfigdata.psd1 `
                                          -OutputPath c:\dsc\LCM
                                          '@

                                          Invoke-Command -VMName $vmname -Credential $cred -ScriptBlock { New-Item c:\dsc\lcm -ItemType…

                                          1 vote
                                          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

                                            5 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →

                                            Interesting…I’m not able to repro it from a PowerShell 5.1 to 5.1 box. Could you paste the output of your $PSVersionTable?

                                            Also, I’m assuming you’ve saved the script that includes the here string somewhere? Could you paste the output of Format-Hex .\hereString.ps1 | Select-Object -First 1? Even better, could you paste the same thing on the resultant output (i.e. Format-Hex C:\dsc\lcm\dsclcm.ps1 | Select-Object -First 1)?

                                          • Don't see your idea?

                                          Feedback and Knowledge Base