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. 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 →
  2. Get-ComputerInfo should have remoting capabilities

    Get-ComputerInfo was introduced in PowerShell Desktop 5.1.14361.0 and provides the ability to return various information about the local computer. It would be very useful if this cmdlet could also query remote computers, without relying on PowerShell Remoting.
    For example:
    Get-ComputerInfo -ComputerName SRV01

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

    We’ll send you updates on this idea

    survey  ·  0 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  3. Enhance Set-PSBreakpoint to allow us to set Exception breakpoints

    It is annoying when I’m debugging in the ISE and an unhandled exception occurs - the ISE debugger just exits. It gives me no chance to debug the issue that caused the unhandled exception while still debugging. The importance of stopping **in** the debugger, is that I can examine the state of variables throughout the call stack which can be very helpful in tracking down "why" the unhandled exception occurred.

    So first, I want to set an "unhandled" exception breakpoint that would cause PowerShell to “break into” the debugger on any unhandled exception i.e. put the brakes on just before…

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

    We’ll send you updates on this idea

    2 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  4. Find in ISE needs to be able to wrap rather than stopping when it reaches the end of the file

    Find in ISE starts from the cursor position and stops at the end of the file. This is extremely annoying behavior since to perform a full file search you need to move the cursor to the beginning of the file before beginning "Find".

    Find needs the ability to find within an entire file from anywhere the search is started -- just like notepad++, notepad2, and any other modern text editor.

    19 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 →
  5. v5 regression: Get-ChildItem -LiteralPath -Recurse ignores -Include and gets all items

    I have just installed Windows Management Framework (WMF) 5.0 RTM on my Windows
    7 SP1 and tested it. `Get-ChildItem -LiteralPath -Include -Recurse` started to
    work differently in v5.

    This command

    Get-ChildItem -Path $PSHOME -Include *.exe -Recurse

    gets expected *powershell.exe* and *powershell_ise.exe*.

    The same command with `-LiteralPath` instead of `-Path`

    Get-ChildItem -LiteralPath $PSHOME -Include *.exe -Recurse

    in PowerShell v5 RTM unexpectedly gets all items in `$PSHOME`.

    I cannot test this with previous versions right now (by the way,
    `PowerShell.exe -Version 2` seems to have the same issue in v5 RTM). But I
    believe in PowerShell v3 and v4 this was not…

    19 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 →
  6. PowerShell should support .Net extension methods

    Votes from Connect: 35

    Original Date Submitted: 9/22/2010 9:56:58 PM

    Description:
    ********Contact Information********
    Handle: Joel "Jaykul" Bennett
    Site Name: PowerShell
    Feedback ID: 603415
    ***************************************

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

    Problem Description:
    Currently PowerShell has it's own system (based on type.ps1xml files) for creating extension methods -- while this would have been admirable in the .Net 1.1 or 2.0 era, in the modern .Net Framework we already have Extension methods, and they do not work in PowerShell.

    As more and more of the .Net Framework itself and 3rd Party APIs begins to depend on extension…

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

    We’ll send you updates on this idea

    0 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  7. Add A "Start In" Directory for Enter-PSSession

    By default, we are placed into Documents (at least I am), then have to change directories. It would be nice to be able to specify a directory we'd like to start in using Enter-PSSession.

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

    We’ll send you updates on this idea

    survey  ·  1 comment  ·  WinRM  ·  Flag idea as inappropriate…  ·  Admin →
  8. about_Language_Keywords is missing 4.0-5.0 keywords

    about_Language_Keywords for PowerShell 5.0 (https://technet.microsoft.com/library/hh847744.aspx) is missing all of the new keywords for PowerShell 4.0 and 5.0, including critical keywords, such as Configuration, Class, and Enum.

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

    We’ll send you updates on this idea

    survey  ·  1 comment  ·  Documentation  ·  Flag idea as inappropriate…  ·  Admin →
  9. Invoke-DSCResource on WindowsFeatureSet fails

    As subject says. Example is below

    PS C:\Windows\system32> Invoke-DscResource -Name WindowsFeatureSet -Property @{Name = "Storage-Services"; Ensure = "Present" } -Method test -ModuleName PSDesiredStateConfiguration
    Invoke-DscResource : Failed to serialize properties into CimInstance.
    At line:1 char:1
    + Invoke-DscResource -Name WindowsFeatureSet -Property @{Name = "Storag ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [Invoke-DscResource], SerializationException
    + FullyQualifiedErrorId : System.Runtime.Serialization.SerializationException,Microsoft.PowerShell.DesiredStateConfiguration.C
    ommands.InvokeDscResourceMethodCommand

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

    We’ll send you updates on this idea

    4 comments  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
    survey  ·  Mark Gray responded

    Thanks for the 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

  10. Shared Partial Configurations (ConfigurationNames) and encrypted credentials.

    At the moment to use encrypted credentials in partial configurations with ConfigurationNames it is necessary to share certificate across all nodes, else decryption will fail. I believe it should be technically possible to use more dynamic approach:
    - encrypt MOF with certificate for which pull server has private key
    - during registration client would send over certificate for which it has private key so that pull server can encrypt any credentials in the mofs sent to this node with this certificate.

    At the moment it's manual labour on the operators side: make sure that encrypt/decrypt just works. It would be…

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

    We’ll send you updates on this idea

    2 comments  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
  11. new-modulemanifest doesn't support ExternalModuleDependencies

    In order to register external module dependencies (dependencies living in another repository), the name has to be registered in a string array property within the PSData Hashtable property in the PrivateData section in the psd1 manifest like so for registering module 'psFtp':

    PrivateData = @{
    PSData = @{
    # ExternalModuleDependencies
    ExternalModuleDependencies = @('psFtp')
    }
    } # End of PrivateData hashtable

    However, the new-modulemanifest doesn't have an -ExternalModuleDepencies parameter, nor is it possible to register externalmoduledependencies like so:

    -PrivateData @{ PSData = @{ ExternalModuleDependencies = @('psFtp') } }

    Which from a client perspective of the the existing new-modulemanifest api, would be…

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

    We’ll send you updates on this idea

    1 comment  ·  Package Management  ·  Flag idea as inappropriate…  ·  Admin →

    Thanks for the comment. We will be monitoring this to see how many users are impacted by / recommending it.

  12. Comment-Based Help: Allow multi-line examples

    Votes from Connect: 8

    Original Date Submitted: 8/22/2014 11:58:54 PM

    Description:
    ********Contact Information********
    Handle: Aaron Jensen
    Site Name: PowerShell
    Feedback ID: 952833
    ***************************************

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

    Problem Description:
    Currently, when using comment-based help, you're limited to one line of code for an example. This is extremely limiting, especially when trying to document DSC resources, since they span multiple lines by default. Also, some examples would be more useful with some extra lines. The current alternative is to use XML-based help, but the MAML schema is extremely verbose and complicated.

    What I'd like…

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

    We’ll send you updates on this idea

    0 comments  ·  Documentation  ·  Flag idea as inappropriate…  ·  Admin →
  13. Allow whitespace between final newline and quotation mark in here-string

    Votes from Connect: 10

    Original Date Submitted: 12/10/2011 12:21:15 AM

    Description:
    ********Contact Information********
    Handle: JoshGav
    Site Name: PowerShell
    Feedback ID: 712796
    ***************************************

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

    Problem Description:
    The final delimiter in a here-string is defined as newline-quotemarks-atsign. This means that the "@ has to be at the beginning of the final line, with no whitespace preceding it. This ruins attempts at tab indentation in scripts and functions. Whitespace should be allowed as part of the ending pattern between the newline and quotemarks so that tab indentation can be cleanly utilized.

    Product Studio…

    18 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. add tcpdump equivalent cmdlet in powershell

    I hope powershell have a cool module about the network tool ,make them work like tcpdump , netcat in linux.

    It's very very cool things , will make me fly in our daily task.

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

    We’ll send you updates on this idea

    5 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  15. Bug: Powershell Get-Help does not work with Exchange Online cmdlets

    We've been lucky, from what I'm gathering from web searches! Until December last year, Exchange Online Powershell cmdlet help was available using Get-Help in the shell. However, after the Christmas break, the only response we get is:

    Get-Help : Exception calling "Invoke" with "0" argument(s): "Cannot find path '' because it does
    not exist."
    At line:1 char:1
    + Get-Help Get-Mailbox
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [Get-Help], MethodInvocationException
    + FullyQualifiedErrorId : CmdletInvocationException

    It's the same issue irrespective of the cmdlet.

    Consequently, I'm forced to contend with painful searches of the documentation website for information of the relevant cmdlets.

    Raised…

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

    We’ll send you updates on this idea

    1 comment  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  16. Allow Environment Variable as default value for function parameter.

    When defining a function, I would like to use an environment variable as the default value. If the environment variable exists and has a value that value will be used. For example,

    function Get-Info ([Alias("name")] [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)] [string] $projectName = $env:Project_Name)
    {
    }

    Instead of having to passing in the Project Name for each call I would like to store it in an environment variable. When I do it would allow me to call Get-Info with no parameters and the value in the environment variable would be used. If the environment variable does not exist or is empty the user…

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

    We’ll send you updates on this idea

    3 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  17. BUG: ScheduledTasks module broken in 1511

    ICAN use New-SchedualedTaskTrigger -AtSartup without error SO THAT I can schedule tasks

    Repeat issue: update win10 to 1511 and run this command in PowerShell
    New-ScheduledTaskTrigger -AtStartup
    New-ScheduledTaskTrigger : Method "NewTriggerByStartup" not found
    At line:1 char:1
    + New-ScheduledTaskTrigger -AtStartup
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : ObjectNotFound: (PS_ScheduledTask:Root/Microsoft/...S_ScheduledTask) [New-ScheduledTaskTrigger], CimException
    + FullyQualifiedErrorId : HRESULT 0x80041002,New-ScheduledTaskTrigger

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

    We’ll send you updates on this idea

    7 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  18. #Requires -Module needs RequiredVersion option

    Votes from Connect: 4

    Original Date Submitted: 11/14/2015 5:05:21 AM

    Description:
    ********Contact Information********
    Handle: June Blender
    Site Name: PowerShell
    Feedback ID: 2014667
    ***************************************

    Problem Description:
    To require the exact version of a module, I need a RequiredVersion option in #Requires.

    The ModuleVersion key in the #Requires -Module hashtable: @{ModuleName=''; ModuleVersion=''} behaves as a minimum version requirement. Not all versions of all modules are backward-compatible. With the proliferation of versions, including side-by-side in PowerShell 5.0, we need to be able to require a particular version.

    Also, about_Requires describes the ModuleVersion, but does not mention that it's a minimum (because I didn't…

    17 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 →
  19. Duplicate help files in PSWorkflow module break Get-Help

    At some point in the 5.0 time period, Update-Help installed About topic files in the en-US directory for the PSWorkflow module with .txt (not .help.txt) file name extensions.

    e.g. about_Foreach-Parallel.txt

    Later, this was fixed and Update-Help installed the same help files in the same directory with the (correct) ".help.txt" file name extension.

    e.g. about_Foreach-Parallel.help.txt

    Now, the PSWorkflow\en-US directory has 9 pairs of files that are identical except for the file name extension.

    about_ActivityCommonParameters.help.txt
    about_ActivityCommonParameters.txt
    about_Checkpoint-Workflow.help.txt
    about_Checkpoint-Workflow.txt
    about_Foreach-Parallel.help.txt
    about_Foreach-Parallel.txt
    about_InlineScript.help.txt
    about_InlineScript.txt
    about_Parallel.help.txt
    about_Parallel.txt
    about_Sequence.help.txt
    about_Sequence.txt
    about_Suspend-Workflow.help.txt
    about_Suspend-Workflow.txt
    about_WorkflowCommonParameters.help.txt
    about_WorkflowCommonParameters.txt
    about_Workflows.help.txt
    about_Workflows.txt

    Get-Help should ignore the .txt files (must have changed in…

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

    We’ll send you updates on this idea

    survey  ·  3 comments  ·  Documentation  ·  Flag idea as inappropriate…  ·  Admin →
  20. Provide means to qualify Script names to avoid conflicts

    Hello!

    The PowerShell Gallery currently qualifies 'Scripts' by name only. For example, if someone has already published Some-Script, I have no way to publish my own Some-Script, even if the original is related only in name, has major functional differences, etc.

    It would be helpful to allow qualifying these. Perhaps resolve by date published first (i.e. compatible with current system), while allowing qualification by username, similar to how GitHub handles this.

    Thus, I could install RamblingCookieMonster\Some-Script, even if EvilDoer\Some-Script already existed.

    The same design could also be extended to modules, although those seem less likely to conflict (this may change…

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

    We’ll send you updates on this idea

    survey  ·  4 comments  ·  PowerShell Gallery  ·  Flag idea as inappropriate…  ·  Admin →
  • Don't see your idea?

Feedback and Knowledge Base