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. Bug in Get-ScheduledTaskInfo

    At the time's properties (LastRunTime and NextRunTime) returned minutes instead of seconds.
    Sample:
    Get-ScheduledTask | Get-ScheduledTaskInfo

    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 →
    • When I try to display 2 arrays, no header and only the column with same name is returned

      After loading 2 arrays that have one member with same name, I try to display the content in different ways ($array1;$array2, get-content from csv files where I saved the content of the arrays, ...), but after the first array shows perfectly, of the second one I only get the content of the first column (the one that has the same name) and no header.
      To reproduce:

      $Array1 = @()
      $Array2 = @()

      $Ar1 = New-Object PSCustomObject
      $Ar1 | Add-Member -type NoteProperty -name Col1 -Value "AAA"
      $Ar1 | Add-Member -type NoteProperty -name Col11-Value 0
      $Array1 += $Ar1

      $Ar2 = New-Object PSCustomObject …

      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 →
      • PSWriteline

        In the most recent engine, you have coded a hook into the internal class Microsoft.PowerShell.ConsoleHostUserInterface so that PSReadLine could be incorporated into PowerShell.exe. This is really nice but I would like to take it a step further. Why not add two PowerShell.exe arguments for a custom read line and write line modules. The arguments would simply be called:
        -ReadlineHandler <file.xml>
        -WritelineHandler <file.xml>

        Sample XML files would be:
        <ReadlineHandler>
        <Module Name=”PSReadline”>
        <Function Name=”PSConsoleHostReadLine”>
        </ReadlineHandler >

        <WritelineHandler>
        <Module Name=”PSWriteline”>
        <Function Name=”PSConsoleHostWriteLine”>
        </WritelineHandler>

        A customer can write an assembly and reference the module name and function name in the XML file accordingly. Today,…

        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

          0 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
        • Add a "Comment these lines" action to the right-click context menu of PowerShell ISE

          Much like how other IDEs provide similar functionality, an ability to quickly comment/uncomment chunks of code through the context menu would be a valuable addition to future iterations of the already fantastic ISE.

          With one line selected by the user a # is fine, with multiple lines selected, a <# #> would be preferred.

          I understand there is a...very unusual (quite frankly) keyboard shortcut to accomplish something similar, but I believe there is significant value in having an easy to access method of accomplishing this.

          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

            0 comments  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
          • ConfigurationAST should include resource modules being imported

            The ConfigurationAST added in v4 for PowerShell DSC does a good job at providing resource configuration details. However, to determine what modules are being imported, we should still use the keyword AST to find the resource module names from the Import-DSCResource command. While this is a workaround, it will be easier if ConfigurationAST can provide this information for simplicity.

            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

              survey  ·  0 comments  ·  Desired State Configuration (DSC)  ·  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:\>

              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

                0 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
              • Suggested verbs: Build or Make

                Would like to suggest a new verb. Build or Make

                New can work, but it's very vague where Build/Make gives a much more definitive indication of the intent. Build-PSModule, Make-DeploymentScript, etc.

                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

                  0 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
                • Create symbolic link to a shadow copy using New-Item

                  I'm able to make a symbolic link to a shadow copy using CMD mklink and kernel32.dll.CreateSymbolicLink
                  But I'm not able to do this using PS>New-Item
                  E.g.:
                  New-Item -Path c:\temp\SL1 -ItemType SymbolicLink -Value \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy7\

                  I get an error saying the path doesn't exist (that is the VSS path)

                  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 →
                  • Allow DSC Reports to include ResourcesNotInDesiredState that were corrected during a consistency check

                    Currently if a node is set up to ApplyAndAutoCorrect, when the report is sent back to the report server, there is no reference to any resources that were out of desired state at the time of the consistency check. DSC will just put them back in desired state without reporting what it did. For compliance reasons, we would like to be able to query the report server to see if any resources had to be put back into desired state.

                    21 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  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
                    • Add -HumanReadable parameter to Get-ChildItem

                      When I use Get-ChildItem it'd be really great if I didn't have to stare at the Length property (by the way, "Length"? Windows already calls this "Size" so just stick to conventions, will'ya?) to understand the size.

                      This parameter would accept the following values: Auto, KB, MB, GB, TB, PB.

                      On a multi-GB file we get output like the following for Length: 78697816273. That's HARD to read.

                      "Auto" would display the current item in the largest measure. Using the previous example, we'd get: 73.29 GB. If I used "KB" we'd get: 76853336.20 KB.

                      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

                        0 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
                      • New-ADuser fails when the path contains brackets.

                        If you have an OU name '1) Accounts' so the whole path is something like:
                        OU=1) Accounts,OU=sitename,DC=companyname,DC=com
                        New-ADUser -path will fail.
                        A workaround is to create the user and then move them later using something like:
                        Get-ADUser -Identity newuser | Move-ADObject -TargetPath OU=1) Accounts,OU=sitename,DC=companyname,DC=com

                        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 →
                        • Jobs hanging when using PSDrives with credentials

                          As noted here (with a full example): http://stackoverflow.com/a/41118870/1987746

                          There seems to be an issue with using PSDrives with credentials in PowerShell jobs. If the PSCredential object is created within the job, it gets stuck in the running state even after all actions have completed. However, if the same PSCredential object is passed to the job as a parameter, it completes within 1 second.

                          In PowerShell 4 the job will stay "running" indefinitely. In PowerShell 5.1, the job will run for ~180 seconds and then complete.

                          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

                            1 comment  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
                          • Out-Gridview should provide a count of the number of objects displayed

                            It would be very useful if Out-Gridview provided a build in display of the number of objects in the grid. This could be in a status bar at the bottom or at the top along with the Add Criteria button.

                            This would update as the filters are applied. It would also be nice if the selected items had a count as well.

                            It would be especially useful with -passthru as you could have an estimate on the number of objects being passed to the next cmdlet in the pipeline.

                            You can come up with the count by using measure-object, but…

                            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

                              0 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →

                              It would certainly be cool, but we’re not really investing in Out-GridView at this point in time. I’ll leave this open as a Survey to see if the demand surpasses our bar (though I’d caveat that demand would have to be fairly high).

                              Thanks,
                              Joey

                            • Get-Service throws wrong exception if remote host is offline

                              Get-Service returns exception as "Cannot find any service with service name" even if we give an offline/not existing host as argument for -ComputerName parameter

                              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  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
                              • Start-DscConfiguration over secure WinRM (HTTPS / 5986) without needing to provide the Cim-Session

                                referring to my post here. http://stackoverflow.com/questions/41567036/start-dsc-configuration-securely-usessl-without-needing-to-provide-the-compute

                                Having the ability to continue using the ConfigurationData with multiple nodes and use a secure session (WinRM over 5986)

                                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  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
                                • BUG: PE Engine gets StackOverflowException if cmdlet Remove-Item encounters foldername = ALT+255

                                  If you try to delete a folder (not file) that is named with the invisible ALT+255 character, the PE engine will crash with StackOverflowException. This bug can temporarily be remedied by using cmd rmdir instead of Remove-Item -Recurse

                                  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 →
                                  • Register-ArgumentCompleter Should Support Module-Qualified Command Names

                                    Register-ArgumentCompleter does not appear to support module-qualified command names, such as:

                                    Register-ArgumentCompleter -CommandName Microsoft.PowerShell.Management\Get-Process

                                    Running this command does not return an error, but does not function either. Module-qualified command names are often considered a best practice so it would be helpful if this was supported. Thanks!

                                    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 →
                                    • Allow Description in Markdown format

                                      It could be useful to have Markdown formatting in manifest file to provide rich description on PowershellGallery

                                      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

                                        1 comment  ·  PowerShell Gallery  ·  Flag idea as inappropriate…  ·  Admin →

                                        Specific ask for the voters: If you are willing, please add a note what your expectations are, and how you would see this providing extra value in the Gallery when we display this content.

                                        This type of feature is something we are generally a little bit cautious about.
                                        Rendering active MD content can include links & other items that result in some amount of risk for users of a site.

                                      • "update-help -module powershellget" errs apparently because helpinfoURI is called with https rather than http

                                        update-help : Failed to update Help for the module(s) :
                                        'PowerShellGet'
                                        The HelpInfoURI https://go.microsoft.com/fwlink/?LinkId=393271 does not start with HTTP.
                                        At line:1 char:1
                                        + update-help -module powershellget
                                        + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                        + CategoryInfo : NotSpecified: (HelpInfoUri:Uri) [Update-Help], Exception
                                        + FullyQualifiedErrorId : InvalidHelpInfoUriFormat,Microsoft.PowerShell.Commands.UpdateHelpCommand

                                        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-PcsvDevice is not up to current spec

                                          PROBLEM:
                                          I have been using the PcsvDevice commands to use IPMI out-of-band management to my servers. It works great for systems that are configured for legacy boot. But, the reboot does not work properly for systems that are requesting UEFI reboot. Here are the commands that work correctly for legacy booting:

                                          Set-PcsvDeviceBootConfiguration -TargetAddress $ipAddr -Credential $creds -ManagementProtocol IPMI -OneTimeBootSource $device.StructuredBootString[0]
                                          Start-PcsvDevice -TargetAddress $ipAddr -Credential $creds -ManagementProtocol IPMI

                                          The purpose of the above commands is to force a LAN boot no matter what is configured as the first boot device on the targeted server. This is handy if I want to…

                                          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 →
                                          • Don't see your idea?

                                          Feedback and Knowledge Base