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. Start-Transcript causes skipped records when passing SqlDataReader object to another function

    Encountering an issue with Start-Transcript, SQLDataReader and Passing it to a function for processing. This occurs in Powershell 6, started in 5.1, was not present in Windows Powershell 3 (Windows Powershell 4 has issues passing the SqlDataReader object to a function anyway).

    When you call a function within a Start-Transcript block, and that function then fills a SqlDataReader object, and then passes it onto another function, it increments the record a number of times, as if calling the read() method 7 or 8 times. This causes a number of issues, firstly, a lot of data is skipped for processing, secondly,…

    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. New request -- get-winevent :get all log generated by a specific user

    If I try to find when the user abc.cd logon to my computer.
    I will do a log query as follow.
    Get-WinEvent -FilterHashtable @{logname='security';data='abc.cd';id=4624}

    If I want to know when a software was install on computer.
    I will do a log query as follow.
    Get-WinEvent -FilterHashtable @{logname='application';id=11707}

    but It does not work with a user ID as follow.
    Get-WinEvent -FilterHashtable @{logname='application';id=11707;data='abc.cd'}

    What I do I want is collectting all logs that caused by the user abc.cd by using get-winevent , like he installs a new software , he starts a service ,he starts a scheduled task ..

    expected cmdlet:
    Get-WinEvent…

    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. Allow use of curly braces for special cases

    Such as git stash apply stash@{2} instead of need for inside quotes "" "stash@{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 →
  4. While passing a json stream to a out file PS fails while cmd succeeds. Ending '}' bracket is missing.

    # Steps to reproduce
    1. I use a tool called rabtap to publish messages to rabbitMQ. Tool can be found here: https://github.com/jandelgado/rabtap
    2. When I tap on an exchange and redirect output to a file.
    -> It comes OK when I use this cmd on cmd prompt (i.e., as here): rabtap tap "myexchange:" --json > c:\tmp\usingCMDline.txt"
    -> However if I redirect the output using powershell, I miss out the ending bracekt in the output file. rabtap tap "myexchange:" --json | Out-File "c:\tmp\ps02.txt" (see attached output)
    # Expected behavior
    Full JSON should output, as done by the cmd line redirect operator.

    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. Jupyter notebook kernel

    A Microsoft generated and supported kernel for the Jupyter Notebook/Lab users. There is one a fellow did up and it covers the basics but doesn't have auto-completion in the IDE, errors on some things, doesn't get updated much, etc.

    I use Jupyter to teach and getting a full on Microsoft supported kernel would be great.

    2 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 →
  6. Set-DfsrConnectionSchedule doesn't change a replication partner of a group to use custom settings

    Set-DfsrConnectionSchedule doesn't change a replication partner of a group to use custom settings. I've even waited a day and it didn't change it.

    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  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  7. Windows Insider Build 18945 - Windows PowerShell is looking in One Drive for the PowerShell Profile

    I don't know why Windows PowerShell is looking for the PowerShell Profile.ps1 file in the Users OneDrive folder.

    This is not normal behavior!

    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 →
  8. Set-ADAccountPassword -WhatIf parameter does not work.

    WhatIf is apparently ignored on the Set-ADAccountPassword cmdlet. This bit me really good ********** yesterday and today. It's a big problem when we can't depend on WhatIf working.

    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 →
  9. "Get-ADGroupMember: An operations error occurred" with cross-forest members

    Any group that contains a user account that is cross-forest to the group object is hitting the non-descriptive error in the title when running Get-ADGroupMember. I can successfully run the command with on groups where all members are in the same forest as the group object.

    The current workaround is to use Get-ADGroup and expand the Members property and then make a subsequent Get-ADObject call for each member. This takes about 5x longer to run.

    7 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 →
  10. Is anyone here aware of any tools that can help with automated naming conventions validation?

    Is anyone here aware of any tools that can help with automated naming conventions validation?

    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 →
  11. Hi - I'm having trouble with the Wait-Job cmdlet on PowerShell Core for Linux. I have a Job created with Start-Job, which I wait for with:

    I'm having trouble with the Wait-Job cmdlet on PowerShell Core for Linux. I have a Job created with Start-Job, which I wait for with:

    Wait-Job $job -Timeout 30

    Which should timeout after 30-seconds. However, the command consistently hangs for 2-minutes before it completes. Am I doing something wrong, and if not, could this bug be fixed? I'm running PowerShell 6.2.0 on Ubuntu 16.04.6 LTS.

    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 →
  12. Bug: The first time New-NetLbfoTeam is used by Desired State Configuration it creates a misnamed interface

    The first time New-NetLbfoTeam is used by Desired State Configuration it creates a misnamed interface.

    This is on Server 2019 Build 17763.557 with the following updates applied:

    KB4483452
    KB4470788
    KB4503308
    KB4504369
    KB4503327

    Powershell shows:
    Name Value
    ---- -----
    PSVersion 5.1.17763.503
    PSEdition Desktop
    PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
    BuildVersion 10.0.17763.503
    CLRVersion 4.0.30319.42000
    WSManStackVersion 3.0
    PSRemotingProtocolVersion 2.3
    SerializationVersion 1.1.0.1

    For example:

    New-NetLbfoTeam -Name "Team1" -TeamMembers "NIC1" -TeamNicName "Team1" -LoadBalancingAlgorithm Dynamic -TeamingMode SwitchIndependent -Confirm:$False

    Will create an interface called "Ethernet" (Visible through Get-NetAdapter).

    If you delete the team and recreate in the same DSC, it'll work correctly.

    i.e. this works and creates an…

    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 →
  13. Change the default for $ErrorActionReport to "stop"

    I'm kind of new to PowerShell, but I've been scripting with Bash, Perl, Python, etc... for years. Today, when writing a quick try/catch in Powershell, the catch would never run. After much searching, I came to learn that the default action in PowerShell is to ignore a catch with $ErrorActionReport = "Continue" (the default value). Is there a reason that the default is like that? I would think the vast majority of scripts using try/catch would want to actually run the catch, so why is the default "Continue" and not "stop"?

    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. 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. Cmdlet "New-Mailbox" cannot use -encoding UTF-8

    While the UI for ExchangeOnline and Office365 can use UTF-8 when creating new resources, the Powershell cmdlet cannot.

    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  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  16. Honour -Confirm and -WhatIf on Remove-PrintJob Cmdlet

    -Confirm & -WhatIf Optional Parameters not honoured on Remove-PrintJob even though they are included in documentation.

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

    We’ll send you updates on this idea

    0 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  17. Bug: Write-Output -InputObject (,'Test') -NoEnumerate

    The `-NoEnumerate` switch doesn't work when when the input is named using the `-InputObject` argument in PowerShell version 5.1.

    The following script returns `False`:

    Function Test {Write-Output -InputObject (,'Test') -NoEnumerate}
    (Test) -is [Array]

    While this script returns `True`:

    Function Test {Write-Output (,'Test') -NoEnumerate}
    (Test) -is [Array]

    $PSVersionTable

    Name Value
    ---- -----
    PSVersion 5.1.17134.858
    PSEdition Desktop
    PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
    BuildVersion 10.0.17134.858
    CLRVersion 4.0.30319.42000
    WSManStackVersion 3.0
    PSRemotingProtocolVersion 2.3
    SerializationVersion 1.1.0.1

    This issue doesn't appear with PowerShell Core 6.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  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  18. "Cannot load PSReadline module. Console is running without PSReadline."

    This is an error I get every time I open Windows PowerShell, but not only that, Powershell-Get and PackageManagement are also broken in these ways:

    Install-Module : The 'Install-Module' command was found in the module 'PowerShellGet', but the module could not be loaded. For more information, run 'Import-Module PowerShellGet'.

    Get-PackageProvider : The 'Get-PackageProvider' command was found in the module 'PackageManagement', but the module could not be loaded. For more information, run 'Import-Module PackageManagement'.

    My OS is Windows 10 Pro Insider Preview (Build 18932). I looked for solutions but I really could not find any.

    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 →
  19. Bug: Get-Random doesn't return Maximum value.

    setting a maximum value for get-random doesn't return the maximum value.
    $I=@{1=0;2=0}
    for ($q=1;$q -le 10000;$q++) {
    $VAL=Get-Random -Minimum 1 -Maximum 2
    $I[$VAL]++
    }

    $I

    Name Value
    ---- -----
    2 0
    1 10000

    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. Every Page MUST contain powershell compatability version information

    I am working with multiple versions of powershell and therefore need to know which features are available with which version. This information is never seemingly displayed on any help pages, and therefore makes things very difficult

    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  ·  Documentation  ·  Flag idea as inappropriate…  ·  Admin →
  • Don't see your idea?

Feedback and Knowledge Base