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. PowerShell host process crash on recursive class method invocation

    Votes from Connect: 7

    Original Date Submitted: 7/15/2015 6:52:19 AM

    Description:
    Contact Information
    Handle: Trevor Sullivan [MVP]
    Site Name: PowerShell
    Feedback ID: 1546571


    Frequency: PowerShell
    Regression: class CrashMe {

    [void] BreakMe([bool] $ShouldIBreak) {
    
    $this.BreakMe($ShouldIBreak);
    }

    }

    $MyCrashMe = [CrashMe]::new();
    $MyCrashMe.BreakMe($true);

    Problem Description:
    class CrashMe {

    [void] BreakMe([bool] $ShouldIBreak) {
    
    $this.BreakMe($ShouldIBreak);
    }

    }

    $MyCrashMe = [CrashMe]::new();
    $MyCrashMe.BreakMe($true);

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

    Repro Steps:
    class CrashMe {

    [void] BreakMe([bool] $ShouldIBreak) {
    
    $this.BreakMe($ShouldIBreak);
    }

    }

    $MyCrashMe = [CrashMe]::new();
    $MyCrashMe.BreakMe($true);

    Expected Results:

    Internal BugId: 15649

    1 vote
    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 →
  2. On Windows8.1 PowerShell calls ToString() method of an object when it is passed as argument to a script function.

    Votes from Connect: 3

    Original Date Submitted: 7/10/2015 6:50:26 PM

    Description:
    Contact Information
    Handle: Dimitar Milov
    Site Name: PowerShell
    Feedback ID: 1529031


    Frequency: PowerShell
    Regression:

    Problem Description:
    The issue seems to be OS specific and only reproduces on Windows 8/8.1 and Windows 10. When a .NET object instance is passed to a function as an argument the function calls the object's ToString method.

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

    Repro Steps:
    Expected Results:
    $Source = @"
    using System;

    namespace Test
    {

    public class TestClass
    
    {

    private bool _ts;
    public…

    1 vote
    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 →
  3. Get-Help -Parameter fails for common parameters

    Votes from Connect: 5

    Original Date Submitted: 7/7/2015 4:53:38 AM

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


    Frequency: PowerShell
    Regression: PS C:\ps-test> Get-Help Get-Command -Parameter PipelineVariable
    Get-Help : No parameter matches criteria PipelineVariable.
    At line:1 char:1
    + Get-Help Get-Command -Parameter PipelineVariable
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : InvalidArgument: (System.Manageme...CommandHelpInfo:ProviderCommandHelpInfo) [Get-Help], PSArgumen
    

    tException

    + FullyQualifiedErrorId : NoParmsFound,Microsoft.PowerShell.Commands.GetHelpCommand
    

    PS C:\ps-test> Get-Command Get-Command -ParameterName PipelineVariable

    CommandType Name ModuleName


    Cmdlet Get-Command Microsoft.PowerShell.Core

    Problem Description:
    Commands in this format:

    Get-Help <commandName> -Parameter <any_common_parameter>
    

    return a PSArgumentException error, even when the command has the common parameter.

    Get-Help Parameter parameter code needs a…

    1 vote
    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 →
  4. -Debug parameter does not behave as expected when using Write-Debug inside script and selecting "Yes to all"

    Votes from Connect: 4

    Original Date Submitted: 6/17/2015 8:18:36 AM

    Description:
    Contact Information
    Handle: Tom Nolan [MSFT]
    Site Name: PowerShell
    Feedback ID: 1441324


    Frequency: PowerShell
    Regression: function Test-MyDebug
    {

    [cmdletbinding()]
    
    param
    (
    [parameter(ValueFromPipeline=$true)]
    $InputObject
    )
    process
    {
    write-host "Value: $_" -ForegroundColor Green

    Write-Debug "Write-debug gets its own 'scope' for the last continue status of the debug preference"
    Write-Debug "If you select 'Yes To All' on after any of these statements"
    Write-Debug "It will have no effect, and you will continue to be prompted"
    }

    }

    1,2,3 | Test-MyDebug -Debug

    Problem Description:
    When using the -Debug parameter with [cmdletbinding()] inside a…

    1 vote
    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 →
  5. Powershell Closes for no reason

    Votes from Connect: 6

    Original Date Submitted: 6/12/2015 2:25:25 AM

    Description:
    Contact Information
    Handle: David Bernard
    Site Name: PowerShell
    Feedback ID: 1423742


    Frequency: PowerShell
    Regression: Type in:

    [datetime]$this = "adfasfasfadsf"

    Problem Description:
    I'm running PowerShell 4.0 on Windows 7 (x64). If I enter:

    [datetime]$this = "adfasfasfadsf"

    I would expect to receive a conversion error, but instead the console just closes.

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

    Repro Steps:
    Type in:

    [datetime]$this = "adfasfasfadsf"

    Expected Results:
    This should generate a conversion error.

    Internal BugId: 15561

    1 vote
    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 →
  6. PowerShell does not accept all valid integer literals when accepting parameters interactively.

    Votes from Connect: 5

    Original Date Submitted: 6/2/2015 10:28:19 PM

    Description:
    Contact Information
    Handle: uniquedisplaynameformypublicprofile
    Site Name: PowerShell
    Feedback ID: 1392738


    Frequency: PowerShell
    Regression: Create the function:
    function Foo {

    param([Parameter(mandatory)][int]$Bar)
    
    "OK - $Bar"

    }

    This works:
    Foo -Bar 1KB
    (prints: OK - 1024)
    Foo -Bar 1L
    (prints: OK - 1)

    But this fails:
    Foo
    cmdlet Foo at command pipeline position 1
    Supply values for the following parameters:
    Bar: 1KB
    (prints: Cannot recognize "1KB" as a System.Int32 due to a format error.)
    Bar: 1D
    (prints: Cannot recognize "1L" as a System.Int32 due to a format error.)

    Problem Description:
    PowerShell does…

    1 vote
    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 →
  7. Using Find-Module -Tag DSC with Install-Module causes the PowerShell Console to hang

    Votes from Connect: 4

    Original Date Submitted: 5/29/2015 3:12:46 AM

    Description:
    Contact Information
    Handle: azhskr
    Site Name: PowerShell
    Feedback ID: 1377521


    Frequency: PowerShell
    Regression: Find-Module -Tag DSC | Install-Module -> Hangs with no errors
    Find-Module -Name xActiveDirectory | Install-Module -> Works

    Problem Description:
    Find-Module -Tag DSC | Install-Module just hangs in the PowerShell Console. There is no error displayed and I have let it sit for 20 minutes before I finally had to close the console and reopen it. If I run the command Find-Module -Name xActiveDirectory | Install-Module it works as expected.

    Product Studio item created by Connect Synchronizer…

    1 vote
    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 →
  8. Windows PowerShell v5 - PowerShell Direct - Start-Job with -vmname parameter

    Votes from Connect: 3

    Original Date Submitted: 5/27/2015 9:24:37 PM

    Description:

    Contact Information
    Handle: _TimPringle
    Site Name: PowerShell
    Feedback ID: 1373413


    Frequency: PowerShell

    Regression: Reproduction Steps Example 1

    1) Start PowerShell (either as normal or run as administrator)
    2) Type Start-Job -VMName, and use tab to parse through other parameters. These are only the common parameters.

    Reproduction Steps Example 2

    1) Start PowerShell (either as normal or run as administrator)
    2) Type get-command start-job -Syntax
    3) The output should be similar to below, but the last four lines, which detail the use with the VM parameters, only indicate that the…

    1 vote
    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 →
  9. Installation of KB3000850 on Win8.1 or WS2012R2 Causes PowerShell Script to Freeze with High CPU Utilization

    Votes from Connect: 66

    Original Date Submitted: 5/27/2015 8:46:16 AM

    Description:
    Contact Information
    Handle: Frank E Lesniak
    Site Name: PowerShell
    Feedback ID: 1371736


    Frequency: PowerShell
    Regression: 1. Visit: https://gist.github.com/anonymous/572f42ba0ea7eec4f721#file-psclassreproreduced11-ps1
    2. Click the "Raw" button. Copy the code to the clipboard
    3. Open Notepad and paste the code from the clipboard. Save the file somewhere with file name: animal.ps1
    (don't forget to change the file type to "All Files")
    4. Execute the script using PowerShell.

    Problem Description:
    I have a stock PowerShell template that I use as a starting point for many scripts; its code is used throughout my…

    1 vote
    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 →
  10. Update -? common parameter

    Votes from Connect: 4

    Original Date Submitted: 5/21/2015 8:59:29 PM

    Description:
    Contact Information
    Handle: Thomas Lee
    Site Name: PowerShell
    Feedback ID: 1353410


    Problem Description:
    -? is a great parameter for all cmdlets as it does a basic get-help. That's fine, but it would be nice to extend it as follows:

    Switch What it does
    -?F Equivalent of Get-Help -FULL
    -?D Equivalent of Get-Help -Detailed
    -?E Equivalent of Get-Help -Example
    -?o Equivalent of Get-Help -Online

    The idea is to make it simlpler to get help for a cmdlet/function.

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

    1 vote
    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 →
  11. Get-NetTCPConnection does not show ProcessID

    Votes from Connect: 9

    Original Date Submitted: 5/20/2015 3:14:12 PM

    Description:
    Contact Information
    Handle: Joachim Meyer
    Site Name: PowerShell
    Feedback ID: 1349420


    Frequency: PowerShell
    Regression:

    Problem Description:
    I guess that classifies more as a design flaw than a bug. Netstat.exe has the option -o that displays the owning Process ID for each connection. Get-NetTCPConnection should also add a property for the Process ID. Without the Process ID the Cmdlet is pretty useless (at least for me) and does not replace netstat.exe. (The underlying WMI class MSFT_NetTCPConnection does not include that property, too, so in this case additional code and a…

    1 vote
    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 →
  12. Class constructor returns instance when exception is thrown

    Votes from Connect: 7

    Original Date Submitted: 5/19/2015 2:43:00 AM

    Description:
    Contact Information
    Handle: Trevor Sullivan [MVP]
    Site Name: PowerShell
    Feedback ID: 1345058


    Frequency: PowerShell
    Regression: class BaconStrip {

    [string] $Length;
    
    [string] $Width;

    [ValidateSet('Cooked', 'Raw')]
    [string] $Status;

    [ValidateSet('Regular', 'Applewood', 'Smoked')]
    [string] $Type;

    BaconStrip([string] $Type) {
    $this.Type = $Type;
    }

    [void] Cook() {
    $this.Status = 'Cooked';
    }

    }

    Create a new BaconStrip instance with an invalid type

    $MyBaconStrip = [BaconStrip]::new('Regular2');

    This variable should be $null if an exception is thrown in the constructor

    $MyBaconStrip;

    Problem Description:
    In April 2015 Preview of WMF 5.0 (version: 5.0.10105.0), when you construct a PowerShell class,…

    1 vote
    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 →
  13. PowerShell copy on write behavior depends on operator type

    Votes from Connect: 3

    Original Date Submitted: 5/18/2015 2:02:46 AM

    Description:
    Contact Information
    Handle: Sergey Teplyakov
    Site Name: PowerShell
    Feedback ID: 1341920


    Frequency: PowerShell
    Regression:

    Problem Description:
    PowerShell uses copy-on-write semantic for inner scopes.

    This means that if you'll change outer variable in the inner scope then inner scope would deal with it's own copy. Here is an example:

    $list = @(1, 2)

    Function Foo
    {
    "Foo: initial value - $list"
    $list = $list + 3
    "Foo: $list: $list,$global:list: $global:list"

    }
    The output would be:

    Foo: initial value - 1 2
    Foo: $list: 1 2 3, $global:list: 1 2 …

    1 vote
    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. Variables that are $null are not always $null

    Votes from Connect: 3

    Original Date Submitted: 5/4/2015 1:20:27 AM

    Description:
    Contact Information
    Handle: David I McIntosh
    Site Name: PowerShell
    Feedback ID: 1300430


    Frequency: PowerShell
    Regression: >function emptyArray() { @() }
    >$lt = @() ; $lt.Count
    0
    >$lt1 = @(); $lt1 -eq $null; $lt1.count; $lt1.gettype()
    0
    IsPublic IsSerial Name BaseType


    True True Object[] System.Array

    >$lt += $lt1; $lt.Count
    0
    >$l
    t += emptyArray; $lt.Count
    0
    >$l
    t2 = emptyArray; $lt2 -eq $null; $lt2.Count; $lt2.gettype()
    True
    0
    You cannot call a method on a null-valued expression.
    At line:1

    1 vote
    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 →
  15. Error Installing Powershell Preview April 2015 on Windows 7

    Votes from Connect: 3

    Original Date Submitted: 4/30/2015 2:06:48 PM

    Description:
    Contact Information
    Handle: Holger Froebe
    Site Name: PowerShell
    Feedback ID: 1290413


    Frequency: PowerShell
    Regression: Windows 7 SP1 X64 - German
    Following release notes:
    Checked for all the updates - OK
    Powershell 4.0 was installed - OK
    Selecting package from MS Download Center:
    Windows6.1-KB2908075-x64
    Starting the Update-Package gives me the above error.

    Maybe a Problem with UI Culture - I work with a german Windows and maybe the Preview is
    only applicable to english Windows ?

    Problem Description:
    Installing Powershell 5.0 on Windows 7 gives me error:
    This update is…

    1 vote
    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 →
  16. PowerShell should have a cmdlet that supports best effort magic number parsing on files without extensions or incorrect extensions

    Votes from Connect: 4

    Original Date Submitted: 4/14/2015 8:18:28 AM

    Description:
    Contact Information
    Handle: JasonHorner
    Site Name: PowerShell
    Feedback ID: 1246396


    Problem Description:
    often we need to parse a file and not rely on its extension, while magic number parsing is imperfect it can provide some value.
    this could be used for general file parsing as well as some security scenarios

    Here is a script that implements this feature though I don't think it is completely robust:
    http://powershell.com/cs/blogs/tips/archive/2010/08/09/reading-file-quot-magic-number-quot.aspx

    unix support a similar capability via the file utility:
    http://en.wikipedia.org/wiki/File_%28command%29

    More info on magic number parsing:
    http://en.wikipedia.org/wiki/Listoffile_signatures

    Product Studio item…

    1 vote
    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 →
  17. Flags Enumeration Bitwise Operations Fail With 'Specified cast is not valid' Error

    Votes from Connect: 3

    Original Date Submitted: 2/19/2015 11:08:09 PM

    Description:

    Contact Information
    Handle: Rohn Edwards
    Site Name: PowerShell
    Feedback ID: 1138469


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

    Problem Description:
    In the December 2014 and February 2015 WMF 5.0 previews, flags enumerations that have byte, sbyte, short, or ushort underlying types have to be cast or coerced to a numeric type before -band, -bor, or -bxor bitwise operations will work.

    int, uint, long, and ulong underlying types still work as expected.

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

    1 vote
    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 →
  18. Parameter validation

    Votes from Connect: 5

    Original Date Submitted: 2/6/2015 3:54:49 PM

    Description:
    Contact Information
    Handle: edi89
    Site Name: PowerShell
    Feedback ID: 1117495


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

    Problem Description:
    Using paramter validation in functions works just find - something like this:
    function test{

    Param (
    
    [ValidateRange(3,8)]
    [Int] $mytest )

    write-host $mytest

    }
    test 4
    test 9
    The problem is, that it seems, that parameter validation is in fact just a special case of variable validation which leads to the circumstance, that the variable used (in this case $mytest) is beeing validated every time you…

    1 vote
    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. Add snippet support to the console as well

    Votes from Connect: 3

    Original Date Submitted: 1/30/2015 5:06:50 AM

    Description:
    Contact Information
    Handle: Stephen Owen
    Site Name: PowerShell
    Feedback ID: 1107509


    Frequency: Always Happens
    Regression: I don

    Problem Description:
    Now that I've gotten used to ISE-Snippets, I love them and I have a huge selection of them to help me with calculated properties, custom objects, and things like that. I'd love to be able to use ISE-Snippets in the PowerShell console as well.

    We can already hit F7 to see a list of the last 40 or so commands in our window. How about adding a similar window for…

    1 vote
    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 →
  20. PS4.0: (Get-Variable MyInvocation -Scope 1).Value fails when powershell.exe run from MSBuild

    Votes from Connect: 3

    Original Date Submitted: 11/7/2014 10:07:44 PM

    Description:

    Contact Information
    Handle: sba
    Site Name: PowerShell
    Feedback ID: 1023770


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

    Problem Description:
    I have a script that contains the following code:

    --------------8<----------------
    function Get-ScriptDirectory{

    $Invocation = (Get-Variable MyInvocation -Scope 1).Value
    
    try {
    Split-Path $Invocation.MyCommand.Path -ea 0
    }
    catch {
    Write-Warning &#39;You need to call this function from within a saved script.&#39;
    }

    }

    $scriptdir = Get-ScriptDirectory

    Set-Location $scriptdir -ErrorAction Stop
    --------------8<----------------

    (this originates from PS2.0 days)

    The script runs fine, except if it's run from MSBuild…

    1 vote
    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 →
  • Don't see your idea?

Feedback and Knowledge Base