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 DISM cmdlet GitHub Repository

    Does DISM cmdlets have a GitHub repository so I can add and extend WinPE-DismCmdlets-Package?

    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 →
  2. Windows PowerShell 5.1 code base (Win32/x64) suppository with changes, improvements, bug-fixes, NEW-Cmdlets, etc... merged back into itself?

    A Git(hub) place for Windows PowerShell 5.1 code base (Win32/x64) suppository with changes, improvements, bug-fixes, NEW-Cmdlets, etc... merged back into itself.

    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 →
  3. Add "-ComputerName" parameter to web administration and management cmdlets

    Please add the -ComputerName parameter to cmdlets such as Get-Service, Stop-Service, Get-ComputerInfo, Stop-WebAppPool, Start-WebAppPool, Stop-WebAppPool, Start-WebAppPool, Get-WebAppPoolState, etc... Running Invoke-Command with many arguments gets tedious at times and can be inefficient. Ideal, this should be standard in all cmdlets if possible.

    1 vote
    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 →
  4. New-Partition UseMaximumSize does not use all available space

    When creating a new partition with the parameter UseMaximumSize, the partition is created with 1031680 bytes less than reported by the SizeMax value from the Get-PartitionSupportedSize cmdlet.

    I tested this on Windows 2019 on ESX 6.7 and Azure.

    To reproduce (example with a 10GB disk):

    New-Partition -DiskNumber 2 -DriveLetter F -UseMaximumSize

    (Get-PartitionSupportedSize -DriveLetter F).SizeMax
    10720624128

    (Get-Partition -DriveLetter F).Size
    10719592448

    Resize-Partition -DriveLetter F -Size 10720624128
    Resize-Partition : Size Not Supported
    Extended information:
    The size of the extent is less than the minimum of 1MB.

    Possibly related issue in https://windowsserver.uservoice.com/forums/301869-powershell/suggestions/36967870-get-partitionsupportedsize-and-msft-partition-clas

    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 →
  5. test-dtc doesn't work on Windows 10 nor Windows Server 2016

    The test-dtc command tries to find some firewall rules that isn't present in either Windows 10 or Windows Server 2016 and will not complete it's testing because of this.

    In addition, it shouldn't test for firewall rules if firewall is disabled, since the firewall rules doesn't have any impact.

    The following firewall rules fails that they are disabled (but they don't exists):
    - RPC Endpoint Mapper
    - DTC incoming connections
    - DTC outgoing connections

    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 →
  6. Add-Printer very slow to return from remote print server queue creation

    Add-PrinterPort to a print server returns quickly. Add-Printer using that created port returns slowly (over a minute or two). SNMP turned off for the port. MMC shows print queue has been created successfully with all entered information. Powershell still sits without returning until over a minute later.

    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 server 2019 failoverclusters module vs 2008R2 Clusters

    we have found some issues using the failoverclusters module builtin Windows Server 2019 when using it against a 2008R2 cluster in the domain. For example, we get this error while trying to Pause a node on a 2008R2 cluster: from a Windows server 2019 box

    Suspend-ClusterNode -Cluster cluster1 -Name cluster1node1
    Suspend-ClusterNode : An error occurred pausing node 'cluster1node1'.

    The procedure number is out of range
    

    At line:1 char:1
    + Suspend-ClusterNode -Cluster cluster1 -Name cluster1node1
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : NotSpecified: (:) [Suspend-ClusterNode], ClusterCmdletException
    
    + FullyQualifiedErrorId : Suspend-

    ClusterNode,Microsoft.FailoverClusters.PowerShell.SuspendClusterNodeCommand

    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 →
  8. Reset-ComputerMachinePassword improvement

    Running this command requires domain privileges to reset the computer object password. In cases where the secure channel with a domain controller is already established, a local administrator of a domain computer should have the permission to trigger the password change.

    The following command achieves the desired result, albeit not in PowerShell: nltest /scchangepwd:[domain]

    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 →
  9. Fix bug in get-localuser

    On a W2016 DC:
    When I execute
    get-localUser -Name *$
    I get 65 Computer accounts

    But when I execute

    dsquery computer -name * -limit 0
    I get the correct 66 Computer accounts

    When I run
    get-localUser -Name MissingComputerAccount$

    I Get an Error
    So get-localUser can't handle all accounts

    So please fix this

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

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

    3 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 →
  11. [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…

    7 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 →
  12. Convertto-JSON should be able to filter out empty properties of source object (to send to APIs)

    REST APIs (e.g. those from Business Central) may require a property of an object to be set when it is included in the JSON message. The API errors out when an unused property is present in the JSON object, even if it is not strictly required for the business logic you are implementing.

    When you build objects using PowerShell classes you tend to design the class so that all possible properties are defined in it. But they may not be used in each JSON/API message. Currently you have to filter these properties out before converting to JSON using ConvertTo-JSON. 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 →
  13. intellisense for powershell windows

    i like to have intellisense, it means on powershell windows not ise

    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 →
  14. Possible bug in DNS Module Get-DnsServerResourceRecord properties

    when I do:
    > Get-DnsServerResourceRecord -RRType Ptr -ZoneName 0.168.192.in-addr.arpa -ComputerName mydc1
    I get the following properties and corresponding data (output):
    HostName RecordType Timestamp TimeToLive RecordData


    14 PTR 4/6/2019 1:00:00 PM 00:20:00 someserver.contoso.com.

    but when I pipe to select-object in order to filter only certain properties, I am not getting the output that I expect which should correlate to the above output, for example:
    > Get-DnsServerResourceRecord -RRType Ptr -ZoneName 0.168.192.in-addr.arpa -ComputerName mydc1 | select -Property RecordData
    the output I see is:
    DnsServerResourceRecordPtr

    I just want a list of FQDN's..

    thank you,
    -Abbas

    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 →
  15. Make Add-Type support .EXE assemblies (works on rename to .DLL)

    Running Add-Type with a .EXE assembly gives, 'Cannot add type. The ".EXE" extension is not supported'. But it works if I rename the assembly to .DLL. I think this limitation is artificial and should be removed.

    5 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 →
  16. Get-Acl and Set-Acl with LiteralPath parameter and Registry Provider

    Using the LiteralPath parameter for Get-Acl and Set-Acl does not work for registry keys unless your location is set to the root directory of the registry key in question.

    Steps to reproduce:

    input:

    PS C:\WINDOWS\system32> Get-Acl -LiteralPath
    output (error):
    -------------------------------------------------------------------'HKCU:\Environment'
    Get-Acl : Cannot find path 'HKEYCURRENTUSER\Environment' because it does not exist.
    At line:1 char:1
    + Get-Acl -LiteralPath 'HKCU:\Environment'
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : ObjectNotFound: (:) [Get-Acl], ItemNotFoundException
    
    + FullyQualifiedErrorId : GetAcl_PathNotFound,Microsoft.PowerShell.Commands.GetAclCommand

    input:

    PS C:\WINDOWS\system32> Set-Location -LiteralPath 'HKCU:\Environment&#39;
    PS HKCU:\Environment&gt; Get-Acl -LiteralPath 'HKCU:\Environment'

    output (error)

    Get-Acl : Cannot find path 'HKEYCURRENTUSER\Environment' because it does not exist.
    At…

    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 →
  17. How to import Contacts(CSV File) in to Public Folder - Exchange Online?

    Is there a way to import Contacts from CSV file to Public Folders in Exchange online?

    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. Missing newer computer account in Get-LocalUser on a DC

    in PowerShell 5.1.14393.2608 when I run Get-LocalUser * on a Windows Server 2016 Domain Controller I should get a list of all domain user and computer. But the newest Domain joined computer is missing.
    Please fix this.
    Also when I run Get-LocalUser MyComputer$ and MyComputer is the last domain joined computer I get ObjectNotFound

    2 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 →
  19. Provide PowerShell module to manage Local Security Policy

    We've now got the the DSC modules for this, but a standalone module for use outside of DSC would be extremely useful

    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 →
  20. DISM Repair-WindowsImage should allow HTTPS URIs for image sources.

    Allow the DISM Repair-WindowsImage command to use HTTPS URIs for image sources. We use a common image to repair the insanely frequent container store corruption issues on our systems. It occurred to me that if somebody with malicious intent was able to alter the WIM files we use to facilitate this process it would lead to easy mass pwnage. Therefore, it makes sense to use an extremely simple, easy-to-lock-down protocol like HTTPS to provide access to these rather huge files rather than a complex protocol like SMB that forces us to expose many other RPC services as well. Yes, this…

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

Feedback and Knowledge Base