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. Add ability to remotely enumerate/query the Local Security Policy within Powershell

    Votes from Connect: 20

    Original Date Submitted: 6/4/2009 3:05:28 AM

    Description:
    ********Contact Information********
    Handle: reballard
    Site Name: PowerShell
    Feedback ID: 463828
    ***************************************

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

    Problem Description:
    Add ability to remotely enumerate/query the Local Security Policy within Powershell without having to resort to leverage 3rd party utilities such as DumpSec, etc. output. This ability would be useful when needing to spot check Local Security Policy stuff within a Powershell Script.

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

    Repro Steps:
    It doesn't appear…

    2 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  2. New-WebServiceProxy needs Force parameter to ignore SSL errors

    Votes from Connect: 42

    Original Date Submitted: 2/28/2009 10:20:55 PM

    Description:

    ********Contact Information********
    Handle: hrottenberg
    Site Name: PowerShell
    Feedback ID: 419466
    ***************************************

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

    Problem Description:
    In a lab environment, or a low-budget situation, SSL certificates come last on the todo list. Currently, the New-WebServiceProxy cmdlet cannot be used with self-signed certificates. When you control the network, self-signed certs present little to no risk and are very commonly used. Please add a Force parameter (or similar) to this cmdlet to allow for ignoring acceptable SSL cert exceptions.

    Product Studio item created…

    2 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  3. CTP3: Add Get-Computer and Start-Computer cmdlets

    Votes from Connect: 11

    Original Date Submitted: 12/26/2008 4:01:12 PM

    Description:

    ********Contact Information********
    Handle: n4cer
    Site Name: PowerShell
    Feedback ID: 389694
    ***************************************

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

    Problem Description:
    The new cmdlets added for control of local and remote computers (stop-computer, restart-computer, etc.) are great, but I think they would be complemented by the addition of the following two cmdlets:

    Get-Computer
    Get-Computer would return objects representing all computers on the network (workgroup or domain) including the local machine. It would serve a similar purpose as CMD's net view, however, the returned computer objects would…

    2 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  4. `Get-ChildItem <wildcard-path>` may fail in a directory with backticks

    The script shows the issue:

    --------------------

    # make directory with backticks and cd to it
    $null = mkdir '``test``'
    Set-Location -LiteralPath '``test``'

    # it fails "Cannot find path '...\`test`'
    Get-ChildItem *

    --------------------

    1 vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  5. Need a way to enable CMD-like error handling

    When an attempt to run an EXE is made from within CMD, or from Windows Explorer, but this fails due to a missing DLL or missing export in a DLL (among other possible failures), a popup message is displayed that tells the interactive user the name of the missing DLL or information about the missing export.

    This behavior is not desirable in scripts, so the PowerShell designers have decided not to implement it; instead the execution continues and $LASTEXITCODE is set to something like 0xC0000135.

    This makes troubleshooting difficult, because from a PowerShell prompt there is (AFAIK) no way to…

    1 vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  6. BUG : WMF5 RTM Pull Server HTTPS

    I have setup new DSC Pull Server HTTPS with WMF 5 RTM on Windows server 2012 r2 .

    Any client with WMF 5 RTM installed is able to pull configuration from Pull Server without certificate installed on the machine .

    Even if AllowUnsecureConnection is set to $false in LCM .

    I have tested that on WMF 4.0 machines and I'm getting error if the certificate is not presented .

    1 vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

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

    Mariusz,

    Thanks for the feedback!

    We are attempting to investigate this issue but need more details from you in order to make progress.

    Is the issue that you are running into as follows:
    - WMF 5. based DSC Pull Server configured with HTTPS and server certificate installed properly. I assume this is not a certificate issued by a trusted authority, correct?
    - A WMF 5.0 RTM client does not have the trusted SSL certificate installed in the trusted root folder and the client is able to successfully connect to the Pull Server.
    - A WMF 4.0 client fails to connect when it does not have the trusted root cert installed.

    Please let us know if this is or is not what you are experiencing.

    Thanks, again,

    MarkG

  7. PowerShell async Invoke with only one explicit statement never report completion.

    If you have PowerShell object with only one statement and you explicitly called AddStatement at the end, then async invocation (BeginInvoke/EndInvoke) of that PowerShell object will never report completion.

    PowerShell version: 5.0.10586.0

    Reproduce:
    $PowerShell=[PowerShell]::Create().AddScript{}.AddStatement()
    $PowerShell.EndInvoke($PowerShell.BeginInvoke())

    1 vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  8. Workflow: PWD variable not set during InlineScript execution when the workflow targets remote computers

    The PWD automatic variable is not set when the script block passed to InlineScript is executing within a workflow targetting a remote computer. Attempts to retrieve the variable (such as Get-Item Variable:\PWD) fail. The variable becomes present as soon as the first Set-Location statement is executed.

    This differs from both powershell.exe and standard PS remoting behavior, where the variable is present from the start.

    This issue breaks code which expects the PWD variable to always be available, such as IIS PowerShell Provider cmdlets (e.g. Get-WebApplication).

    Client / workflow host: WMF 4.0 on Windows 7, also tested on 8.1
    Workflow target:…

    1 vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  9. 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…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

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

    1 vote
    Sign in
    (thinking…)
    Password icon
    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

  11. 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…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

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

    1 vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

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

    1 vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  14. 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…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

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

    1 vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
  16. 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…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

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

    1 vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

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

    1 vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

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

    1 vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

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

    1 vote
    Sign in
    (thinking…)
    Password icon
    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