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. Get-PartitionSupportedSize and MSFT_Partition class report wrong partition max size

    The cmdlet Get-PartitionSupportedSize as well as the CIM class MSFT_Partition (https://docs.microsoft.com/en-us/previous-versions/windows/desktop/stormgmt/msft-partition#members) either report wrong values for the maximum supported partition size or the documentation is not clear enough.

    Creating a new partition that uses the maximum size produces partitions that fall 0.98MB short of the maximum supported size. It looks like the CIM class calculates some default offset into the reported SizeMax, since changing the offset did not change the issue.

    Steps to reproduce:

    foreach ($off in 1,10,15,20,50)
    {
    $null = Clear-Disk -Number 1 -RemoveData -Confirm:$false
    $null = Initialize-Disk -Number 1 -PartitionStyle GPT
    $reservedpartition = get-partition -number 1…

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

    We’ll send you updates on this idea

    0 comments  ·  WMI  ·  Flag idea as inappropriate…  ·  Admin →
  2. 1 vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Documentation  ·  Flag idea as inappropriate…  ·  Admin →
  3. 1 vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Documentation  ·  Flag idea as inappropriate…  ·  Admin →
  4. NetAdapter Module and "Network Configuration Operators"

    This seems too obvious to have escaped Microsoft's attention, but I haven't seen anyone else mention it, so here goes:

    Users in the "Network Configuration Operators" local group who (once elevated) may change network configuration via the gui or netsh, may not be able to perform the equivalent actions using PowerShell cmdlets.

    Specifically, I have not been able to enable/disable network adapters using the Enable-NetAdapter and Disable-NetAdapter cmdlets in such contexts, and have had to use the context menu in "Network Connections" or "netsh interface set interface" instead.

    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 →
  5. Get-ADUser not caching results when querying a remote forest

    Potential bug in the Get-ADUser commandlet when querying a remote forest:

    $myForest | Get-ADUser -filter *
    $myForest[0] # <-- this doesn't reach back to a DC to return the user

    $remoteForest | Get-ADUser -filter * -server dc1.remoteforest.com
    $remoteForest[0] # <-- this will call back to a DC to fetch the user even though it's been successfully retrieved in the previous line

    See https://stackoverflow.com/questions/54790231/get-aduser-not-caching-results for a better explanation.

    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 →
  6. Get-Help NOTES section identation issue

    When we run get-help on cmdlet which has .NOTES the output is unusually indented, even though there is no tab in function documentation.

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

    We’ll send you updates on this idea

    0 comments  ·  Documentation  ·  Flag idea as inappropriate…  ·  Admin →
  7. Get-RDRemoteApp truncates the Alias name with ...

    list entire alias or provide option for column widths>

    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 →
  8. [BUG] Start-Process might not return Handle/ExitCode

    Issue:
    In order to obtain the Exit Code from a Process we are executing the Start-Process cmdlet with the following parameters:
    -PassThru -Wait -WindowStyle Hidden
    or
    -PassThru -Wait -NoNewWindow

    In rare cases, this leads to the following exception:
    System.Management.Automation.CmdletInvocationException: Cannot process request because the process (<ProcessIdHere>) has exited. ---> System.InvalidOperationException: Cannot process request because the process (<ProcessIdHere>) has exited.
    at System.Diagnostics.Process.GetProcessHandle(Int32 access, Boolean throwIfExited)
    at System.Diagnostics.Process.OpenProcessHandle(Int32 access)
    at System.Diagnostics.Process.get_Handle()

    After the Exception occurred, the returned Object does not contain a Handle nor Exit Code but the executable itself executed without issue.

    We also tried to remove the “-Wait” Parameter and…

    4 votes
    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 →
  9. Bug in Import-StartLayout cmdlet

    The documentation states to import a .xml to a mounted Windows image, you can use the powershell command:
    PS C:\ Import-StartLayout -LayoutPath "Layout.xml" -MountPath "E:\MountedImage"

    This will generate an error. You cannot end -MountPath with a '' character, if you do, PowerShell throws the error:
    Import-StartLayout : The path B:\WIMs\Test\ did not resolve to a file.

    If you format the command:
    PS C:\ Import-StartLayout -LayoutPath "Layout.xml" -MountPath "E:\MountedImage"
    You will receive the following error:
    Import-StartLayout : Could not find a part of the path
    'E:\MountedImageUsers\Default\AppData\Local\Microsoft\Windows\Shell\LayoutModification.xml'.
    Note the missing '\' character between "MountedImage" and "Users"
    This appears to be an error…

    2 votes
    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 →
  10. We need: Get-VpnConnectionRoute

    How do we list routes added with Add-VpnConnectionRoute?
    We need a Get-VpnConnectionRoute!

    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 →
  11. Move-AzureRmDataLakeStoreItem not working in newer versions of module

    I created a runbook on several automation accounts that move around files and folders on Datalake Storage Accounts (gen 1). The runbook works without hitches on 2 automation accounts, but did not work on the other 2.

    There were quite a few differences in the versions of the added modules: the runbook worked on the older versions of the modules, but not the newer. Specifically the cmdlet Move-AzureRmDataLakeStoreItem threw an error on the newer versions:
    "Account name ***.azuredatalakestore.net/ is invalid. Specify the full account including the domain name."

    After trying quite a few iterations of writing the account name (just…

    2 votes
    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. && and || operators for conditional execution

    Add these essential operators that are an integral part of any other command line language (CMD, Bash, etc.)

    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. Bug - Get-WsusComputer Cmdlet

    The optional parameter "-ComputerUpdateStatus" does not filter at all and instead returns all computers.

    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 →
  14. Database SetOffline - Add a TeminationClause overload

    When setting a database offline, the T-SQL command executed is a simple ALTER DATABASE <DbName> SET OFFLINE, and will wait if there are running transactions or connected users. To force that, it requires the possibility to add the ROLLBACK IMMEDIATE. The Alter() method allows to do that but not the SetOffline() method

    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 →
  15. Database SetOffline - Add a TeminationClause overload

    When setting a database offline, the T-SQL command executed is a simple ALTER DATABASE <DbName> SET OFFLINE, and will wait if there are running transactions or connected users. To force that, it requires the possibility to add the ROLLBACK IMMEDIATE. The Alter() method allows to do that but not the SetOffline() method

    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 →
  16. Enable configuration version tracking for compiled DSC configurations

    As a part of infrastructure as code or using DSC in the deployment pipelines, it is desired that we be able to identify the version of the node configuration. With all configurations being put into a source / version control repository, it won't be difficult to promote the version number for a given configuration document. However, at this point in time, there is no way to specify the version of the configuration document itself anywhere. This makes it hard to determine or identify what version of the configuration is being used on a target node without using a 3rd party…

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

    We’ll send you updates on this idea

    3 comments  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
  17. Running Stop-Website on windows 2016 server with powershell 5.1 and servermanagerworflows 3.0 is very slow (7 minutes)

    Running Stop-Website on my windows 2016 DEV server with powershell 5.1 and servermanagerworflows 3.0 is very slow (7 minutes) but is super fast when doing it directly from IIS and on UAT server with same configuration. The command is executed locally on the machine (not remotely)

    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 →
  18. BUG: Set-AdfsGlobalAuthenticationPolicy

    Modifying Device Authentication causes multiple AzureMFAAuthentication providers to be added to additional auth providers.

    MS Case 119012219579532.

    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 →
  19. How to create external trust relationships between two domains?

    How to create external trust relationships between two domains, such as aaa.com and bbb.com. I haven't seen a similar demo for two days.
    Looking forward to your reply.

    2 votes
    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 →
  20. Private methods in powershell class's don't work

    For reference: https://docs.microsoft.com/en-us/powershell/wmf/5.0/class_newtype#methods

    Creating private methods following the documentation does not work. To reproduce follow the following steps:

    * Open Powershell or the ISE
    * Copy the code from microsoft documentation
    * if ISE: The interface will alarm indicating problems
    * Execute documented test code
    * Observe several errors complaining about code syntax and missing brackets.

    You can also repro by adding the private designation to any working method of an existing class and it will bomb.

    2 votes
    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