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. new-service, assign virtual service account

    When creating a new service, I would like to set the user account to a virtual service account. Since the -Credential parameter expects a PSCredential object, which doesn't seem to accept predefined local accounts at all, this isn't currently possible.

    Having a -VirtualAccount switch would be great.

    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-MpPreference .AttackSurfaceReductionRules_Actions returns incorrect value(s)

      Get-MpPreference .AttackSurfaceReductionRules_Actions returns incorrect value(s) compared to registry. Specifically a value of 2 is always returned for rule id BE9BA2D9-53EA-4CDC-84E5-9B1EEEE46550. There may be other anomalies that I haven't yet found for different rule id's.

      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]register-scheduledjob and new-jobtrigger bug report

        If I scheduled a job for weekly running on specific days it will always fail with error code Task Scheduler stopped instance "{[GUID]}" of task "\Microsoft\Windows\PowerShell\ScheduledJobs\[myjob]" as request by user [my windows logon]

        However the job works with the -daily switch. It only fails with -daysofweek

        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 →
        • Test-Path returns false for quoted path

          Test-Path returns false for valid paths contained within quotes. See example below. Due to the frequent need to quote paths containing spaces, this leads to needless bugs.

          Repro follows.

          PS C:\WINDOWS\system32> Test-Path 'C:\Windows\System32\ntdll.dll'
          True

          PS C:\WINDOWS\system32> Test-Path '"C:\Windows\System32\ntdll.dll"'
          False

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

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

                                          Feedback and Knowledge Base