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.
  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. Windows PowerShell ISE: Double click should select entire cmdlet/variable name

    Votes from Connect: 20

    Original Date Submitted: 6/21/2013 11:14:16 PM

    Description:
    ********Contact Information********
    Handle: deadlydog
    Site Name: PowerShell
    Feedback ID: 790661
    ***************************************

    Frequency: Always Happens
    Regression: Yes, this happens in all previous versions

    Problem Description:
    When you double click on a cmdlet or variable name in the PS IDE v3 it doesn't select the entire cmdlet/variable name. Unlike other text editors, PS IDE is meant for working with PowerShell code, so it should make some assumptions to make it more PowerShell friendly.

    Example 1: Get-Help
    - if you double click on Help, only "Help" is selected, but is should select…

    25 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
  2. PSScriptRoot in ps1 script in PSv3 is empty in ISE

    Votes from Connect: 13

    Original Date Submitted: 11/1/2012 3:56:26 AM

    Description:
    ********Contact Information********
    Handle: J Stangroome
    Site Name: PowerShell
    Feedback ID: 769359
    ***************************************

    Frequency: Always Happens
    Regression: I don't know if this issue existed previously

    Problem Description:
    In the PSv3 documentation, $PSScriptRoot is now an automatic variable that is populated for both modules and ps1 scripts. It works from PowerShell.exe but not from the ISE

    Product Studio item created by Connect Synchronizer due to creation of feedback ID 769359 (http://connect.microsoft.com/PowerShell/feedback/ViewFeedback.aspx?FeedbackID=769359).

    Repro Steps:
    1. Create a new script (eg c:\test.ps1) with the contents: gv PSScriptRoot
    2. From PowerShell.exe, execute…

    25 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    8 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  3. 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.

    24 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

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

    24 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    7 comments  ·  Package Management  ·  Flag idea as inappropriate…  ·  Admin →
  5. ISE: Add support for "Copy Full Path" context menu command on script tabs

    I often need the path name to the file I'm editing. In V3 I can hover the mouse over the tab and a tooltip will present the path. However, I usually need to provide this path to other commands (like cd or paste them into another window), and I currently have to hand-repeat it.

    Right-Click on tab -> Copy Full Path is a great way to solve this; it's the same approach used by Visual Studio.

    24 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    2 comments  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
  6. Enable proactive validation of partial configuration MOFs

    Votes from Connect: 15

    Original Date Submitted: 9/15/2015 8:25:40 PM

    Description:
    ********Contact Information********
    Handle: PowerShellDon
    Site Name: PowerShell
    Feedback ID: 1792984
    ***************************************

    Problem Description:
    Currently, the only validation of partial configuration MOFs is in the client (LCM). If multiple MOFs are combined and there's a duplicate key situation, the LCM ceases processing. Having this happen on the target node - with no proactive change to catch the problem - is extremely undesirable, and doesn't set the stage for top-level manageability.

    I suggest refactoring that logic from the LCM into a standalone API. The LCM could then call that API to…

    24 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
  7. #region / #endregion code folding tokens in ISE should not be case sensitive

    Votes from Connect: 17

    Original Date Submitted: 5/23/2012 8:29:13 PM

    Description:
    ********Contact Information********
    Handle: HalR
    Site Name: PowerShell
    Feedback ID: 743272
    ***************************************

    Frequency: Always Happens
    Regression: No, this is new to the most recent version

    Problem Description:
    I've been using #REGION/#ENDREGION tokens in my code for some time to trigger code folding in various editors (e.g. PowerShellPlus and PowerGUI). The new v3 ISE supports this too which is great--but it's case sensitive for some reason. I consider that a bug and would love to see it made case-insensitive.

    Product Studio item created by Connect Synchronizer due to creation of feedback…

    24 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
  8. Create a SendTo-SysLog cmdlet and include it by default

    Please include by default a SendTo-Syslog cmdlet to send log messages to UNIX, Linux and SIEMs.

    If you were to add a syslog service role to send or accept syslog messages in a scalable way which integrated with the Windows event logs, that would be great too, but a cmdlet to just send UDP packets is easy enough to include in PoSh 5.1 right now.

    Thanks!

    23 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    6 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  9. DSC StatusRetentionTimeInDays is not deleting files

    WMF 5 RTM

    StatusRetentionTimeInDays is not deleting files in C:\Windows\System32\Configuration\ConfigurationStatus as per http://powershell.org/forums/topic/cwindowssystem32configurationconfigurationstatus-directory-growing/#post-40747

    23 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    3 comments  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
  10. Issue with register-packagesource where adding internal source errors on sourcelocation but successfully adds.

    Register-PSRepository -InstallationPolicy trusted -PackageManagementProvider Nuget -Sourcelocation
    https://binrepo.target.com/artifactory/api/nuget/powershell-gallery2 -name PSModule_TGT
    PackageManagement\Register-PackageSource : The property 'SourceLocation' cannot be found on this object. Verify that
    the property exists.
    At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:3281 char:17
    + ... $null = PackageManagement\Register-PackageSource @PSBoundParamete ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (Microsoft.Power...erPackageSource:RegisterPackageSource) [Register-Packag
    eSource], Exception
    + FullyQualifiedErrorId : PropertyNotFoundStrict,Microsoft.PowerShell.PackageManagement.Cmdlets.RegisterPackageSou
    rce

    PS C:\Users\vagrant> get-packagesource

    Name ProviderName IsTrusted IsRegistered IsValidated Location
    ---- ------------ --------- ------------ ----------- --------
    PS_Gallery_TGT PowerShellGet True True False https://binrepo.target.com/ar...
    PSModule_TGT PowerShellGet True True False https://binrepo.target.com/ar...

    23 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    8 comments  ·  Package Management  ·  Flag idea as inappropriate…  ·  Admin →

    Thanks for the updates an input on this item. We are working on a solution, and will update this item when it is publicly available.

  11. Add ability to cancel Intellisense engine results

    Right now, if an exception occurs in the argument completer, then it immediately returns, and "falls back" to the built-in filesystem / item-based auto-completion. If an exception occurs in my custom argument completers, I'd rather be able to cancel auto-completion altogether, rather than have a bunch of useless results be thrown at the user.

    22 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  12. The -ToSession parameter for copy-item should accept multiple sessions

    The Copy-Item cmdlet now supports copying to a remote session. I typically work against a farm of servers and do something like
    $s = new-pssession server1, server2, server3.
    I want to be able to do copy c:\file.txt -tosession $s -destination c:\file.txt.

    Right now, I get an error saying cannot convert an array of objects to a System.Management.Automation.Runspaces.PSSession object. I had to copy the file 3 different times to each session.

    22 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →

    Thank you for your input. 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.

  13. Add easy column aliasing for Select-Object

    In SQL, columns can be aliased as simply as this

    Select GivenName as FirstName, Surname as "Last Name"

    With PowerShell, I generally refer to a webpage or reference guide for a refresher on the syntax for Select-Object aliasing.

    Select-Object @{Name="Surname";Expression={$_."Last Name"}}, @{Name="GivenName";Expression={$_."First Name"}}

    I understand that Expressions are Powerful, but SQL supports similar power as seen in this example

    Select GivenName AS FirstName, Surname AS 'Last Name' FROM names

    SELECT NameChange =
    CASE
    WHEN Surname = 'LeMaire' THEN 'The Mayor'
    END
    FROM names

    Please add easier column name aliasing for Select-Object.

    21 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  14. Software Restriction Policy - Constrained Language Mode

    Excerpt from this article ‘Constrained PowerShell’ https://blogs.msdn.microsoft.com/powershell/2015/06/09/powershell-the-blue-team:

    "In version 5, Power Shell now reduces its functionality to "Constrained Mode" for both interactive input and user-authored scripts when it detects that Power Shell scripts have an ‘Allow Mode’ policy applied to them. Constrained Power Shell limits the language mode to Constrained Language (as described in about_Language_Modes), a mode first introduced for Windows RT.

    Constrained Language doesn’t limit the capability of the core Power Shell language – familiar techniques such as variables, loops, and functions are all supported. It does, however, limit the extended language features that can lead to unverifiable…

    21 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    4 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  15. 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…

    21 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    2 comments  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
  16. 20 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    6 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →

    Would be interested in understanding the scenario where you are using the cmdlet & specifying the reason for rebooting. To explain: our previous assumption was that users would EITHER use the server UI that captured this information, OR use the cmdlet (often so they didn’t need to supply that reason text).
    So, what would help is to understand in what situations the cmdlet is being used and specifying the reboot explanation is desirable.

  17. Invoke-RestMethod and Invoke-WebRequest Encoding bug

    Invoke-RestMethod and Invoke-WebRequest Encoding bug

    This is 4 years old bug,from Invoke-RestMethod and Invoke-WebRequest was born.

    【Cause of the bug】
    Utf8 web page incorrectly identified as iso8859-1.
    Mistakenly convert THE! utf8("false ISO-8859-1") source string to utf8.
    There may be more encoding incorrectly identified,encoding incorrectly conversion errors.

    【bug with powershell version】
    all version
    powershell 5.0 with windows10 10586 :yes tested.

    【test code】
    Invoke-WebRequest -Uri 'http://www.msn.com'; # return chinese messy code
    (Invoke-WebRequest -Uri 'http://www.msn.com').BaseResponse.CharacterSet # utf8 web page,but return ISO-8859-1

    Invoke-RestMethod -Uri 'http://www.msn.com';

    【how to fix】
    convert string encoding.
    from utf8 to THE! "false ISO-8859-1"

    $utf8 =…

    20 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    3 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  18. Set-Service -StartupType 'Automatic (Delayed Start)'

    Can we get this missing option added?
    It would be also nice if this was shown with Get-Service rather than services only showing Automatic when they are actually 'Automatic Delayed Start'.

    20 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    2 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  19. Enable users to stop pipeline/making StopUpstreamCommandsException public

    Votes from Connect: 24

    Original Date Submitted: 10/25/2012 1:54:42 PM

    Description:
    ********Contact Information********
    Handle: TobiasWeltner
    Site Name: PowerShell
    Feedback ID: 768650
    ***************************************

    Frequency: Always Happens
    Regression: No, this is new to the most recent version

    Problem Description:
    In PSv3, the pipeline can be stopped. Select-Object supports this with its -First parameter by raising a (non-public) StopUpstreamCommandsException exception.

    It is of great value to be able to stop the pipeline if your mission is completed before the emitting cmdlet has provided all results.

    In fact, the PS pipeline would gain a completely new "feature". Currently, it is a memory throttle and…

    20 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  20. Convert Group Policy to use PowerShell DSC

    I think it's time for an overhaul of Group Policy and GP Preferences. You can still keep the GUI to allow everyone to have something familiar, but I would love to see if Group Policy can be converted to start using PowerShell DSC under the hood. I think this would make things much simpler in terms of deployment and wouldn't require logon/logoff or restarts anymore (unless you wanted a script to run at those times). For everything else like IE/Edge settings, registry settings, mapped drives/printers, desktop backgrounds and such I think having everything exposed in PowerShell would both make it…

    20 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    5 comments  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
  • Don't see your idea?

Feedback and Knowledge Base