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. Extend get-childitem with support for file systems exposed via WEBDAV, SFTP, FTP, HTTP

    Extend get-childitem with pluggable support for file systems exposed via HTTP, SCP, SFTP, FTP, WEBDAV.

    Meanwhile, still using curl and custom scripting.

    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 →
    • [Issue] Get-MessageTrace pipe to Get-MessageTraceDetail

      I got some weird data when running below cmdlet

      Get-MessageTrace -StartDate "09/11/2017 00:00:00" -EndDate "09/15/2017 00:00:00" -PageSize 10 -Page 1 | Get-MessageTraceDetail | Select-Object Date, MessageTraceID, Event, Data, Detail | Out-GridView

      It seems the last event of the first MessageTraceID keeps repating itself and was added next to last event of the next MessageTraceID. And its data keep growing. Please see below image for the clear representation of the issue.
      https://1drv.ms/i/s!AtOz2sztWjOapgIwkbjyq-sy4_jm

      Below image is the correct MessageDetail of MessageTraceId 2b87f940-0eee-4c39-71a9-08d4f9757430
      https://1drv.ms/i/s!AtOz2sztWjOapgPFCL102diF6jRz

      And below image is the correct MessageDetail of MessageTraceId f602c9c7-2a5b-4a5a-1256-08d4f8e9ba58
      https://1drv.ms/i/s!AtOz2sztWjOapgSFXfJiKurb23w0

      Can you please check why it is happening?

      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  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
      • active directory get-adcomputer FQDN

        get-adcomputer accepts FQDNs for the "server" (domain controller) parameter, but doesn't accept them for the "identity" (the adcomputer i'm trying to get-) parameter.

        so

        get-adcomputer -identity domaincontroller
        get-adcomputer -identity domaincontroller -server domaincontroller
        get-adcomputer -identity domaincontroller -server domaincontroller.domain.com

        all work.

        get-adcomputer -identity domaincontroller.domain.com

        does not work.

        what's the logic there?

        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 →
        • How do I download modules manually from gallery behind a firewall/proxy?

          For companies like banks which are very restrictive regarding internet downloads, I have no internet connectivity directly from powershell, only from my browsers. As such I cannot use install-module from powershell.

          Our desktops are only windows 7 but locked down running ps version 2 and powershell console doesn't have proxy access. I cannot run install-module on my servers neither as my servers have no internet connection.

          Is there a workaround to download a module manually as a zipped file so that I can I unzip and install them manually in my server?

          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

            2 comments  ·  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

            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

              7 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
            • Import-Clixml - Serialized XML is nested too deeply.

              Import-Clixml 'data.xml'

              Import-Clixml : Serialized XML is nested too deeply.
              At line:1 char:1
              + Import-Clixml 'data.xml ...
              + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
              + CategoryInfo : NotSpecified: (:) [Import-Clixml], XmlException
              + FullyQualifiedErrorId : System.Xml.XmlException,Microsoft.PowerShell.Commands.ImportClixmlCommand

              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 →
              • Stop-Transcript -ErrorAction doesn't work

                The ErrorAction parameter on Stop-transcript doesn't work.

                for instance with SilenlyContine:

                PS G:\> Stop-Transcript -ErrorAction SilentlyContinue
                Stop-Transcript : An error occurred stopping transcription: The host is not currently transcribing.
                At line:1 char:1
                + Stop-Transcript -ErrorAction SilentlyContinue
                + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                + CategoryInfo : InvalidOperation: (:) [Stop-Transcript], PSInvalidOperationException
                + FullyQualifiedErrorId : InvalidOperation,Microsoft.PowerShell.Commands.StopTranscriptCommand

                Or with stop:
                Script: Stop-Transcript -ErrorAction Stop; write-output "This message sould not be printed"
                Result: Stop-Transcript : An error occurred stopping transcription: The host is not currently transcribing.
                At home\Untitled4.ps1:1 char:1
                + Stop-Transcript -ErrorAction Stop
                + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                + CategoryInfo : InvalidOperation: (:) [Stop-Transcript], PSInvalidOperationException
                + FullyQualifiedErrorId : InvalidOperation,Microsoft.PowerShell.Commands.StopTranscriptCommand

                This message sould…

                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 →
                • OutVariable gets the output from the next command (select) in the pipeline

                  When running something like:
                  gsv -ov all | sort -ov sorted | select name -first 10 -ov first10

                  I'd expect $all.Count to be equal to $sorted.Count, but $sorted.Count is 10 and contains the same objects as $first10.
                  This is different than in older versions (tried with -ver 2, and the variables have the expected objects. e.g. $all.Count == $sorted.Count)

                  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 →
                  • Hardware Manufacturing Guides: Adding DISM cmdlets in PowerShell to complement guides & GitHub contribution

                    Following the Manufacturing guides - the PowerShell DISM Module is still lacking several cmdlets for the remaining DISM command lines available in the command prompt.
                    Is there a reason for not having them all there?
                    I wanted to make some scripts for the module, but could only find the DSC xDISMFeature
                    Is there a DISM Module GitHub repository?

                    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 →
                    • [bug]: Get-ADUser -Filter {[attribute] -ne "ms"} filters out objects that return as null

                      If you do a get-aduser -filter {company -ne "ms"}, the results filter out accounts that have no value for the company attribute defined. In my opinion this should not be the expected behavior; it should return all accounts, including the ones with a null company attribute, however it should not include results that have the company equal to "ms". The same behavior is also present with other attributes, such as "manager".

                      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 →
                      • [BUG]New-PSDrive FileSystem does not work for Backup-SqlDatabase

                        The -BackupFile parameter for the Backup-SqlDatabase cmdlet does not work properly with a drive created with the New-PSDrive cmdlet. It will first pull the default backup drive for the SQL Server then append the string for the file system. For example:

                        New-PSDrive -Name "fs" -PSProvider FileSystem -Root "\\MyFileServer\Backups"
                        Backup-SqlDatabase -Database "MyDatabase" -ServerInstance "MySQLServer" -BackupFile "fs:\MyDatabase.bak"

                        Would error with "Cannot find the path 'C:\BackupPath\fs:\MyDatabase.bak'"

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

                          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 →
                          • When is Powershell v6 due to be released?

                            When is Powershell v6 due to be released Will it work with Windows 10?

                            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 →
                            • Get- and Remove-DnsServerResourceRecord deficiencies

                              Get- and Remove-DnsServerResourceRecord have a couple of deficiencies:

                              1) most cmdlets support piping from Get-* to Remove-*, this does not currently work properly with Remove-DnsServerResourceRecord...

                              "The input object cannot be bound because it did not contain the information required to bind all mandatory parameters: ZoneName"

                              So, the objects returned from Get-DnsServerResourceRecord should contain the ZoneName property.

                              2) Remove-DnsServerResourceRecord does not respect -Confirm:$false, even when it's specified, it asks for confirmation every time.

                              i.e. this will ask for confirmation 200 times if you have 200 records (and -ZoneName must be specified because of the aforementioned issue!), at least thankfully you can…

                              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 →
                              • get-credential with a smart card

                                I work in an environment that enforces 'smart card required' for all accounts admin or otherwise so I have multiple certificates on the smart card. I understand you can use a smart card with get-credential but the problem is it only has the first cert available when prompted. I need there to be a way to make all certs on the smart card available when prompted with get-credential. I'm also stuck using ActivClient so hopefully this isn't a limitation of the smart card provider.

                                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 →
                                • [Bug] Test-Path -PathType Containers Allows Users to Bypass Security Restrictions on Existence Testing

                                  Under PowerShell 5.1, the Test-Path command will return a [UnauthorizedAccessException] when you try to test a path the current user does not have access to. Normally this error is uncatchable, but it becomes so if you set the PathType to Container. Despite the name, Test-Path will verify the existence of both Containers and Leafs in this mode. Because the [UnauthorizedAccessException] error is ONLY returned for extant files and folders, a user can use it to confirm the existence of files and folders they should not be able to see or access.

                                  This one-liner allows you to bypass security restrictions:
                                  try{…

                                  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  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
                                  • Expand-Archive does not return a System.IO.FileInfo nor System.IO.DirectoryInfo

                                    The docs clearly say that Expand-Archive should return a System.IO.FileInfo or System.IO.DirectoryInfo but it has no output

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

                                      32 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

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

                                      • Make PowerShell PKI module cross-platform with PS Core incl New-SelfSignedCertificate

                                        PowerShell Core doesn't include the PKI module, which has the New-SelfSignedCertificate cmdlet. It would be great to have it available cross-platform.

                                        Hence the feature request to make the PKI module cross-platform and compatible with PS Core to be distributed in the PowerShell Gallery: https://www.powershellgallery.com

                                        Feature request with PS Core team and the reference to this UserVoice here:
                                        https://github.com/PowerShell/PowerShell/issues/3715

                                        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

                                          0 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Unregister-ScheduledJob -Name 'Name' -WhatIf does not honor WhatIf

                                          Steps to reproduce

                                          Import-Module PSScheduledJob
                                          Register-ScheduledJob -Name 'test' -ScriptBlock {echo 'hello world'}
                                          Unregister-ScheduledJob -Name test -WhatIf
                                          Get-ScheduledJob

                                          Expected behavior

                                          I expect the job to still be there.

                                          It does work with Unregister-ScheduledJob -Id 11 -WhatIf.

                                          Actual behavior

                                          The scheduled job is corrupted.

                                          Get-ScheduledJob : Cannot get the test scheduled job because it is corrupted or in an irresolvable state. Because
                                          it cannot run, Windows PowerShell has deleted test and its results from the computer. To recreate the scheduled
                                          job, use the Register-ScheduledJob cmdlet. For more information about corrupted scheduled jobs, see
                                          about_Scheduled_Jobs_Troubleshooting.

                                          Environment data

                                          > $PSVersionTable
                                          Name Value
                                          ---- ----- …

                                          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 →
                                          ← Previous 1 3 4 5 6 7
                                          • Don't see your idea?

                                          Feedback and Knowledge Base