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. DSC ESENT Database management

    In a recent change, the new database for the on-prem Pullserver is now ESENT. Had a question for clarification.

    As an old Exchange guy, I have fears that immediately pop into mind. The logs files do not appear to be using circular logging (a way of self cleaning and restricting the amount of log files) – Is this true?

    If so, then I’m guess that the log files will continue to grow until the disk is full – which happens to exchange if the log files are not truncated. Is there a way today or in the future we will…

    35 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

      investigating  ·  5 comments  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
    • Bug? Invoke-DscResource and PsDscRunAsCredential in WMF5

      Hi Powershell Team,

      When I try to invoke the get method for a custom DSC resource using PsDscRunAsCredential, I get an error. This does not happen with either the set or test methods.

      The same custom resource works fine in a normal configuration though. I'm not sure if that's because the get method is not called there.

      Setup:
      Windows Server 2012 R2
      WMF5 RTM

      PS C:\Users\username> Invoke-DscResource -Name cWhoAmI -Method get -ModuleName cWhoAmI -Property $props -Verbose
      Invoke-DscResource : The PowerShell DSC resource returned results in a format that is not valid. The results from
      running Get-TargetResource should be in 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

        1 comment  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
      • Allow LCM to accomodate module dependencies that get installed by earlier steps in the configuration

        Currently, if you have a configuration that installs a Windows feature then has another step that configures settings using a module that gets installed with that particular feature, the LCM fails its check because that module is not currently present on the node.

        For example, we have a configuration that installs the Web-Server role. There are later steps which use the xWebAdministration resource to configure things like Application Pools and Application Pool defaults. The problem is, when the LCM pulls the configuration and runs it's checks, it fails because the xWebAdministration resource uses cmdlets that are present in the WebAdministration…

        16 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  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
        • Fix the remotedesktop module

          It seems that the RemoteDesktop module for RDS isn't working correctly. When trying to configure constrained endpoints in powershell it seems nearly impossible to restrict the session to only use the RemoteDesktop-module. It appears as if the modules isn't loading in a constrained endpoint due do the use of aliases in the modules.

          https://powershell.org/forums/topic/creating-jea-endpoint-for-remote-desktop-services/

          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  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
          • Allow "Invalid" keys in module manifests

            Just ... STOP worrying about keys that you don't care about.

            That way, 10 years from now, when all the old versions are gone, you'll finally be able to add keys to the manifest instead of stuffing more and more things into the module's PrivateData

            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 Engine  ·  Flag idea as inappropriate…  ·  Admin →
            • Allow for publishing Profile Paths with Spaces

              when using publish module if a user has a space in their profile it fails to publish the module:
              PS C:\> Publish-Module -Tags Twitter -Name Posh-Tweet -NuGetApiKey xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxx -Verbose
              VERBOSE: The specified assembly 'C:\Users\Carlos Perez\AppData\Local\PackageManagement\ProviderAssemblies\nuget-anycpu.exe' is installed at top level directory. However it is recommended that the assemblies should be installed under its ProviderName\Version folder.
              VERBOSE: Skipping previously processed provider 'NuGet'.
              VERBOSE: Repository details, Name = 'PSGallery', Location = 'https://www.powershellgallery.com/api/v2/'; IsTrusted = 'False'; IsRegistered = 'True'.
              VERBOSE: Repository details, Name = 'PSGallery', Location = 'https://www.powershellgallery.com/api/v2/'; IsTrusted = 'False'; IsRegistered = 'True'.
              VERBOSE: Publish Location:'https://www.powershellgallery.com/api/v2/package/'. …

              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

                investigating  ·  6 comments  ·  PowerShell Gallery  ·  Flag idea as inappropriate…  ·  Admin →
              • Empty pipeline input has single $null item on slow ring build

                I noticed this a few fast ring builds ago and now see it on the slow ring build #14295. For functions that declare at least one parameter and are marked [CmdletBinding()], $input.count is 1 even when no input is sent either on the pipeline or via param. The one element is $null. So if you had code that checks to see if input is from the pipeline using something like if($input.count) and expect 0 to mean no pipeline input is present, that breaks. Here is an example function:

                function my-test {
                [CmdletBinding()]
                param(
                [String]$blah
                )

                write-host $input.count
                }

                Calling my-test…

                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

                  3 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
                • Would be better if the exit command in PowerShell ISE only closed the current tab

                  In PowerShell ISE, if you invoke the exit command, it closes the entire application regardless of how many tabs you have open. It would be better if the exit command simply closed the current tab (if you have multiple tabs open) or the entire application if you only have one runspace open. This would prevent accidentally closing runspaces that you wanted to go back to just because you used the all-too-familiar exit command.

                  Also, making this change would address this issue within PowerShell ISE: when you invoke exit, the Runspace.StateChanged event is only fired for the current/active runspace (tab), even…

                  19 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  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
                  • Publish-Script - Allow the use of RequiredModules [Bug]

                    currently it is not possible to specify RequiredModules for a script published to a repository.
                    This is awkward as it is quite likely for simple scripts to have a dependency on a module.

                    The goal would be for the module to be installed automatically during install-Script; using the same logic and conditions as the a REQUIREDSCRIPT
                    1) Interestingly there appears to be (partial) logic to test for RequiredModules, however this always fails as a .Name addtibute of the module cannot be found.
                    and the syntax used in modules :
                    .RequiredModules @{ModuleName = 'foo'; GUID = '1234565-2784-48bf-af15-70ba837a64d0'; ModuleVersion = '3.5'; } …

                    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

                      investigating  ·  3 comments  ·  Package Management  ·  Flag idea as inappropriate…  ·  Admin →
                    • Add a favicon to the gallery

                      The poor PS gallery tab and bookmark look so sad and grey... :,-(

                      https://imgur.com/GwfMpzd

                      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  ·  PowerShell Gallery  ·  Flag idea as inappropriate…  ·  Admin →
                      • [System.Management.ManagementDateTimeConverter] doesn't exist in PowerShell Core

                        I often need to write WQL queries involving date/time ranges. I had been using [System.Management.ManagementDateTimeConverter]::ToDmtfDateTime as this appears to be the one supported API for performing the conversion but this class doesn't exist. Presumably, it fell to the wayside along with the WMI cmdlets. I can implement the logic myself by calling the DateTime.ToString method with a string like this - yyyyMMddHHmmss.ffffff+000. Honestly though, ToDmtfDateTime is much better at handling time zones than I would be.

                        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  ·  WMI  ·  Flag idea as inappropriate…  ·  Admin →
                        • Get-NetFirewallRule help page parameters section correction

                          Description of the parameter claims, wildcards are accepted, but the "Accept wildcard character?" value is false. Running
                          get-netfirewallrule -description *
                          results in the retrieval of a portion of the firewall rules retrieved without the parameter (535/556 when I ran it). I suggest editing the help file, as well as checking why the parameter discludes a portion of the firewall rules.
                          -Description <String[]>
                          Specifies that matching firewall rules of the indicated description are retrieved. Wildcard characters are
                          accepted.

                          This parameter provides information about the firewall rule. This parameter specifies the localized,
                          user-facing description of the IPsec rule.

                          Required? false
                          Position? named …

                          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  ·  Documentation  ·  Flag idea as inappropriate…  ·  Admin →
                          • DSC File Resource Recurse directory description is wrong

                            The documentation for the DSC File Resource states that the Recurse is a) only valid for directories and b) only for sub-directories. This would imply that any files in a SourcePath would be copied. However, they are not. $Recurse has to be $true to pull files. If not, it just makes sure the directory exists.

                            However, this requires that I have the whole recursive directory kept on my sourcepath as well vs. just a few files.

                            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: WMF 5.0 RTM PSSession management throws WERFault exception

                              v5.0.10586.122

                              Connecting to an existing PSSession sometimes throws an exception error in the PS host. Using a script developed in WMF 4 to handle and re-use sessions now causes exceptions. I suspect something has changed in how WMF 5 handles sessions but I can't seem to get to the bottom of it.

                              Fault bucket 125744894502, type 5
                              Event Name: PowerShell
                              Response: Not available
                              Cab Id: 0

                              Problem signature:
                              P1: PowerShell_ISE.exe
                              P2: 10.0.10586.122
                              P3: System.ObjectDisposedException
                              P4: System.ObjectDisposedException
                              P5: SessionTransportManager+WSManAPIDataCommon.Dispose
                              P6: Runtime.InteropServices.SafeHandle.DangerousAddRef
                              P7: unknown
                              P8:
                              P9:
                              P10:

                              Attached files:
                              C:\Users\<home>\AppData\Local\Temp\WERB13.tmp.WERInternalMetadata.xml

                              These files may be available here:
                              C:\ProgramData\Microsoft\Windows\WER\ReportArchive\Critical_PowerShell_ISE.e_a2d14b4791b93fd183c2c1c6aadb549cfe615277_00000000_1ad123ac

                              Analysis symbol:
                              Rechecking for solution:…

                              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  ·  2 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
                              • install-package policy execution

                                To install packages with package manager it's necessary to set the execution policy. It's not said in the API, and I think is not trivial for someone who is learning poershell. In fact if you don't set the policy, you can install packages, there is not error neither feedback about it is not being really installed, and when the process finishes you can see the status as installed whe you do get-package <package-name>. It is very confusing

                                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

                                  2 comments  ·  Package Management  ·  Flag idea as inappropriate…  ·  Admin →
                                • DSC File Resource - Modify Attributes Without Having to Delete

                                  File resource does not allow modifications to the target without first having to delete the target.

                                  Example:
                                  File HiddenFiles {
                                  DestinationPath = "C:\Deploy\HiddenFile.txt"
                                  Contents = "HiddenFile Contents"
                                  Attributes = "ReadOnly","Hidden","System"
                                  Ensure = "Present"
                                  }

                                  #This should change the file attributes but it doesn't unless the file is manually deleted
                                  File resource does not allow modifications to the target without first having to delete the target.

                                  Example:
                                  File HiddenFiles {
                                  DestinationPath = "C:\Deploy\HiddenFile.txt"
                                  Contents = "HiddenFile Contents"
                                  Attributes = "ReadOnly"
                                  Ensure = "Present"
                                  }

                                  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  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →

                                    Josh,

                                    Thanks for the feedback. The file resource should set the attributes on an existing file. I have not been able to duplicate your issue in Windows 10. If you are still experiencing it, please add more details.

                                    Thanks,

                                    MarkG

                                  • Double click highlight occurrences

                                    Double clicked strings and integers should be clearly highlighted (like in Notepad++ or in VSCode) if there are multiple occurrences of the same word or number.

                                    41 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  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
                                    • Enable PowerShell module auto-discovery in DSC

                                      I recently discovered that in my DSC resource I can't call a powershell cmdlet that internally calls into another powershell cmdlet - that fails because DSC doesn’t explicitly import the full powershell module, but only imports specific .psm1 files.

                                      Note, same (cmdlet calling another cmdlet) works perfectly fine when executed from Powershell cmd prompt. Let's fix it for DSC.

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

                                        Thank you for your feedback!

                                        Based on its current ranking compared to other feedback items and product schedule, work on this item is pending (and will be driven by) further customer input. If you did not open this issue and are also impacted by it, please vote this item up.

                                        MarkG

                                      • Lastest Windows Insider Builds - Collection is read-only

                                        Attempting to import a module and run a PowerShell script is now resulting in an error about the collection is read-only.

                                        C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NoLogo -ExecutionPolicy Bypass -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = '';[System.Threading.Thread]::CurrentThread.CurrentUICulture = ''; & import-module -name 'C:\ProgramData\chocolatey\helpers\chocolateyInstaller.psm1'; & 'C:\ProgramData\chocolatey\helpers\chocolateyScriptRunner.ps1'"

                                        Results in
                                        C:\ProgramData\chocolatey\helpers\chocolateyScriptRunner.ps1 : Collection is read-only.

                                        At line:1 char:210
                                        + ... ller.psm1'; & 'C:\ProgramData\chocolatey\helpers\chocolateyScriptRunn .
                                        ..
                                        + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                        + CategoryInfo : NotSpecified: (:) [chocolateyScriptRunner.ps1]
                                        , NotSupportedException
                                        + FullyQualifiedErrorId : System.NotSupportedException,chocolateyScriptR
                                        unner.ps1

                                        This is new and unexpected behavior. Here is the issue log for more information: https://github.com/chocolatey/choco/issues/659

                                        Here is the actual script in question - https://github.com/chocolatey/choco/blob/0.9.9.11/src/chocolatey.resources/helpers/chocolateyScriptRunner.ps1 - it could be that we…

                                        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

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

                                          Thank you for reporting this issue. Yes this is a bug in our latest codebase and we will get it fixed. In the meanwhile you can fix the issue on your side by changing (in file choco/src/chocolatey.resources/helpers/chocolateyScriptRunner.ps1)

                                          From:
                                          [alias(“params”)][alias(“parameters”)][alias(“pkgParams”)]

                                          To:
                                          [alias(“params”,“parameters”,“pkgParams”)]

                                        • [Bug] Install-Module -Force prompts for user input when NuGet-anycpu.exe is not present

                                          Steps to reproduce:

                                          1. Install WMF5 RTM on a fresh Windows 2012 R2 system
                                          2. Open an Administrator PS prompt and run "Install-Module Pester -Force"

                                          Expected result: The -Force parameter causes the NuGet client to be installed without user intervention.

                                          Actual result: The following message is displayed:

                                          NuGet-anycpu.exe is required to continue.
                                          PowerShellGet requires NuGet-anycpu.exe to interact with NuGet based galleries. NuGet-anycpu.exe must be available in
                                          'C:\Program Files\PackageManagement\ProviderAssemblies' or
                                          'C:\Users\Administrator\AppData\Local\PackageManagement\ProviderAssemblies'. For more information about NuGet provider,
                                          see http://OneGet.org/NuGet.html. Do you want PowerShellGet to download NuGet-anycpu.exe now?
                                          [Y] Yes [N] No [S] Suspend [?] Help (default is "Y"):

                                          The MSDN…

                                          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

                                            4 comments  ·  Package Management  ·  Flag idea as inappropriate…  ·  Admin →
                                          • Don't see your idea?

                                          Feedback and Knowledge Base