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. Workflow: $using: modifier stops working in InlineScript blocks after a single-statement InlineScript when ErrorActionPreference is Stop

    Consider the following scenario:
    - a workflow sets $ErrorActionPreference to Stop
    - that workflow contains a single-statement InlineScript activity
    - the workflow is invoked targetting a remote server

    After the InlineScript activity executes, all subsequent InlineScript activities in any workflow targetting that server lose access to workflow variables - all $using:varname expressions return empty values. This condition persists until the WinRM service is restarted on the target server.

    Putting any other statement inside the InlineScript seems to prevent the bug from occuring.

    Tested client / workflow host: PowerShell 4.0 on Windows 7 and 8.1
    Tested workflow target computers: PowerShell 2.0…

    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  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  2. Update-DscConfiguration -Credential not working as expected

    Votes from Connect: 3

    Original Date Submitted: 9/25/2015 5:21:10 PM

    Description:
    Contact Information
    Handle: Jan Egil Ring
    Site Name: PowerShell
    Feedback ID: 1833443


    Frequency: Desired State Configuration (DSC)
    Regression: Update-DscConfiguration -ComputerName demohyper01 -Credential $TargetNodeCred -Wait -ErrorAction Stop

    Problem Description:
    Version: WMF 4 with 2014 November Update on Windows Server 2012 R2

    I`ve run into access denied errors when using alternate credentials on Update-DscConfiguration:

    PS C:> Update-DscConfiguration -ComputerName demohyper01 -Credential $TargetNodeCred -Wait -ErrorAction Stop
    VERBOSE: Perform operation 'Invoke CimMethod' with following parameters, ''methodName' = PerformRequiredConfigurationChecks,'className' = MSFT_DSCLocalConfigurationManager,'namesp
    aceName' = root/Microsoft/Windows/DesiredStateConfiguration'.
    VERBOSE: An LCM method call arrived from computer DEMORD01 with user…

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

    This issue has been fixed in internal builds and should soon be validated on flighted builds and will make into WMF 5.1

  3. get-childitem does not work correctly if -recurse and -literalpath are both specified

    Votes from Connect: 4

    Original Date Submitted: 8/24/2015 10:15:01 PM

    Description:
    Contact Information
    Handle: herzbube
    Site Name: PowerShell
    Feedback ID: 1707779


    Frequency: PowerShell
    Regression: 1. Create a folder C:[foo]
    2. Add a file "bar" to the folder
    3. Run the following commands in PowerShell:

    $path = 'C:\[foo]'
    
    get-childitem -literalpath $path -recurse

    Problem Description:
    Let's say I have this file:

    C:\[foo]\bar
    

    I then run these PowerShell commands:

    $path = 'C:\[foo]'
    
    get-childitem -literalpath $path

    Everything works fine, get-childitem shows me the file bar, then returns immediately.

    Now I add the -recurse option:

    $path = 'C:\[foo]'
    
    get-childitem -literalpath $path -recurse

    get-childitem no…

    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. Uninstall-Module needs Scope parameter

    Votes from Connect: 7

    Original Date Submitted: 8/6/2015 9:17:18 PM

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


    Problem Description:
    Add a Scope parameter to Uninstall-Module so I can uninstall a module from a specified scope.

    Install-Module has a scope parameter and multiple *Version parameters. On PowerShell 5.0+, you can install the same version in multiple scopes. However, because there's no Scope parameter for Uninstall-Module, you can specify only the version, not the scope.

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

    Repro Steps:

    Internal BugId: 15715

    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. Failed to update Help for the module(s) 'NetEventPacketCapture' with UI culture(s) {en-GB}

    Votes from Connect: 3

    Original Date Submitted: 7/31/2015 8:55:14 AM

    Description:
    Contact Information
    Handle: David Gardiner
    Site Name: PowerShell
    Feedback ID: 1611008


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

    Problem Description:
    Using Update-Help or Save-Help on a Windows 10 computer configured with en-GB as the Windows display language fails with an error.

    Update-Help : Failed to update Help for the module(s) 'NetEventPacketCapture' with UI culture(s) {en-GB} : The value
    of the HelpInfoUri key in the module manifest must resolve to a container or root URL on a website where the help
    files are stored.…

    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  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  6. Event logging memory hoard when processing a large number of pipeline objects

    Votes from Connect: 8

    Original Date Submitted: 7/28/2015 10:16:32 AM

    Description:
    Contact Information
    Handle: Keith Hill MVP
    Site Name: PowerShell
    Feedback ID: 1599091


    Frequency: PowerShell
    Regression: Run this script:

    function Get-DummyData() {

    for ($i = 0; $i -lt 10000000; $i++) {
    
    "This is freaking huge!! I'm a ninja! More words, yay!"
    }

    }
    Get-DummyData | Out-Null

    BTW here's another example:

    1..1000000 | foreach {if ($ % 100000 -eq 0) {[GC]::Collect(2,'Forced',$true); $}}

    Problem Description:
    It appears that for every pipeline object, bound to a pipeline parameter, a string like this is stuffed into a collection - where it waits to…

    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. Test-Connection Performance With IP and Output

    Votes from Connect: 3

    Original Date Submitted: 7/23/2015 12:20:40 AM

    Description:
    Contact Information
    Handle: John.Bevan
    Site Name: PowerShell
    Feedback ID: 1578010


    Frequency: PowerShell ISE
    Regression: Run the below code / view the timings

    $ip = '172.24.72.24' #amend for your environment
    
    $hostname = [system.net.dns]::GetHostByAddress($ip).HostName

    $begin=(get-date).ticks;test-connection $ip; $a=((get-date).ticks - $begin)
    $begin=(get-date).ticks;test-connection $hostname; $b=((get-date).ticks - $begin)
    $a-$b

    #prove it's not caching; we can do this either way around
    $begin=(get-date).ticks;test-connection $hostname; $b=((get-date).ticks - $begin)
    $begin=(get-date).ticks;test-connection $ip; $a=((get-date).ticks - $begin)
    $a-$b

    #now let's see what measure-command says
    (measure-command {test-connection $hostname}).ticks
    (measure-command {test-connection $ip}).ticks
    #that's not what we saw

    NB: watching this you can see that…

    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  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
  8. 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 →
  9. 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 →
  10. Are there any PowerShell based programs for managing computers

    Votes from Connect: 3

    Original Date Submitted: 7/9/2015 7:50:44 AM

    Description:
    Contact Information
    Handle: NICDoud
    Site Name: PowerShell
    Feedback ID: 1523059


    Problem Description:
    I've watched a lot of MVA videos on Powershell and automation. I'm looking for something like Kaseya and other management programs for companies that do out sourced IT. I have a lot of customers on seperate networks, domains, locations that I want to manage with power shell or a web interface.

    Something that can automate a lot of IT problems into a simple interface for users. Like System Center, but not limited to one domain or forest.

    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  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  11. 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 →
  12. -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 →
  13. 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 →
  14. ISE for PowerShell Web Access

    Votes from Connect: 4

    Original Date Submitted: 6/5/2015 7:13:41 PM

    Description:
    Contact Information
    Handle: William E. Anderson
    Site Name: PowerShell
    Feedback ID: 1402139


    Problem Description:
    You know, it'd be kind of nice to be able to have a version of the Integrated Scripting Engine available as an installable feature for PowerShell Web Access. There's been a couple of times where a thought of how to script something popped into my head and all I had was my phone. Word for mobile doesn't really give me what I would like for building scripts in this way.

    Product Studio item created by…

    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  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  15. The Local Configuration Manager is not configured with a certificate.

    Votes from Connect: 4

    Original Date Submitted: 6/5/2015 1:21:21 AM

    Description:
    Contact Information
    Handle: Bob Dean IT Pro
    Site Name: PowerShell
    Feedback ID: 1399853


    Frequency: Desired State Configuration (DSC)
    Regression: Build the LCM meta configuration.
    Apply the LCM meta configuration to the target node.
    Execute update-dscconfiguration on the target node.

    Problem Description:

    The configuration for the LCM.

    [DscLocalConfigurationManager()]
    Configuration Meta
    {

    Node $AllNodes.NodeName
    
    {
    Settings
    {
    RefreshFrequencyMins = 30
    RefreshMode = "PULL"
    ConfigurationModeFrequencyMins = 60
    AllowModuleOverwrite = $true
    RebootNodeIfNeeded = $true
    ActionAfterReboot = "ContinueConfiguration"
    ConfigurationMode = "ApplyAndMonitor"

    }

    ConfigurationRepositoryWeb PullServer
    {
    ServerURL = $Node.PullServer
    RegistrationKey = "My Registration Key"
    ConfigurationNames…

    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  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
  16. 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 →
  17. 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 →
  18. 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 →
  19. 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 →
  20. 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 →
  • Don't see your idea?

Feedback and Knowledge Base