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. CircuitPowerShell

    Microsoft should make CircuitPowerShell to further enable IoT like there is CircuitPython.

    https://forums.adafruit.com/viewtopic.php?f=60&t=143726

    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 →
  2. Automatic Conflict Resolution For Partial Configurations

    The LCM is already able to detect conflicts, with a fairly small change you could make it automatically resolve it.
    In my opinion we should be able to set a priority of each partial configuration in the meta config of the LCM.
    With a priority set and when a conflict is detected, the LCM could look at the priority and choose a winner.

    You could than create a layered approach of partial configs (by different teams) without having to be afraid of running into conflicts.

    This is something I see more people struggling with, which results in solutions like datum…

    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 →
  3. Import-DSCResource for File, others fails

    When using Import-DSCResource -Name, various OOB resources do not work. Consider 'File' which is a built in resource, the following code will fail.

    Configuration Sample
    {
    Import-DSCResource -Name File

    # This will generate two .mof files, a localhost.mof, and a server02.mof
    Node @('localhost', 'server02')
    {
    File SampleFile
    {
    DestinationPath = 'C:\Temp\temp.txt'
    Contents = 'This is a simple resource to show Configuration functionality on a Node.'
    }
    }
    }

    Sample -OutputPath P:\temp\

    Start-DSCConfiguration P:\temp -computername localhost -wait -verbose

    If you change the resource to Service, it works as expected.

    I'm guessing this is because File is a binary resource under System32\Configuration,…

    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 →
  4. Find-DSCResource does not find resources.

    Find-DSCResource does not find resources. The wildcarded -Name parameter does not find anything when used, the Filter parameter seems to map Module names only, and even used seems to miss resources.

    To reproduce:

    Find-DSCResource -Name *time* - finds nothing
    Find-DSCResource -Filter time - does not find newer TimeZone resource (only xTimeZone)

    Find-DSCResource -Filter *time* does not find anything.

    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 →
  5. ERROR: Select-Object with -First parameter populates -ErrorVariable even if there was no error

    If you run: 1..2 | select -ErrorVariable a
    then $a is empty - OK.

    If you run: 1..2 | select -First 2 -ErrorVariable a
    then in $a is "System error"

    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 →
  6. about_using help topic doesn't exist

    On docs.microsoft.com there is a help topic for about_using which describes the using keyword that is new in Windows PowerShell 5.0 (https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_using?view=powershell-5.0).

    Running:
    Get-Help about_using
    returns the help topic about_Remote_Variables which describes the $Using prefix used to access local variables from a remote session because that help topic has the keyword "about_Using".

    The about_using help topic should be added to the help topics for Windows PowerShell 5.1.

    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 →
  7. Get-NetQosFlowControl -InterfaceAlias

    Hi,

    I`m trying to implement "Get-NetQosFlowControl -InterfaceAlias <name>" cmdlet using WMI. I want to query adapter specific NetQosFlowControl configuration.

    I don't see any available API in WMI to do this.

    How could I get adapter specific NetQosFlowControl configuration using only WMI?

    Thanks,
    Alexander

    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 →
  8. Register-ScheduledTask

    Register-ScheduledTask -password parameter should accept secure string or PScredential. Currently it accept plain text and the password shows up in event log when register

    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. Support for NPM type version strings in PowerShell module manifest

    packages.json in NPM (NodeJS in general) supports prefixes in the version string to specify a minimum required with minor and minor/patch versions being a variable. For example,

    The tilde matches the most recent minor version (the middle number). ~1.2.3 will match all 1.2.x versions but won't match 1.3.0.

    The caret provides better flexibility. It will refer to the most recent major version (the first number). ^1.2.3 will match any 1.x.x release including 1.3.0, but will hold off on 2.0.0.

    Also, an asterisk (*) indicates that the latest version of the module is needed.

    Implementing this type of version specification in…

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

    We’ll send you updates on this idea

    1 comment  ·  Package Management  ·  Flag idea as inappropriate…  ·  Admin →
  10. Powershell Windows defender bug

    I found a bug with windows defender cmdlets!
    Cmdlet:
    set-mppreference -scanscheduletime
    set-mppreference -scanschedulequickscantime

    Providing an argument in format HH:mm works for values from 00:00 to 16:59 works as expected and when running get-mppreference the scanscheduletime and scanschedulequickscantime fields show the time requested.

    Providing a time past 7pm (17:00) and then running get-mppreference shows the time in the format 2982615.22:16:00, which i believe means ~3 million days in the future.

    windows 10 enterprise build 171314
    windows server 2016 datacenter build 14393

    Please let me know if you would like any further details!

    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 →
  11. Which server member in a cluster holds the quorum disk (Active/Passive)

    Every month we have to go thru a list of servers sometimes as many as 800 plus servers and determine which of the 2 member servers of a cluster holds the quorum disk. Could be 2 or 4 nodes in the cluster. Helps when running our patching process and how we schedule our patching process. TIA - Bob

    3 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 →
  12. OpenSource NetTCPIP and put it in a GitHub repo.

    I am extremely annoyed by Test-NetConnection and would like to make it better. Why is there not a skip ICMP flag, or a timeout flag?

    Please, OpenSource this so the community could improve this tooling for all.

    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 →
  13. Add 'StopExisting' as a valid argument for New-ScheduledSettingsSet -MultipleInstances

    Only Parallel, Queue, and IgnoreNew are supported right now. One would expect that the option available from the Task Scheduler GUI would be available in the powershell interface.

    Steps to reproduce

    $a = New-ScheduledTaskSettingsSet -MultipleInstances StopExisting

    Expected behavior

    The task's multiple instances policy is set to kill existing tasks before starting another instance.
    Actual behavior

    value "StopExisting" to type "Microsoft.PowerShell.Cmdletization.GeneratedTypes.ScheduledTask.MultipleInstancesEnum".
    Error: "Unable to match the identifier name StopExisting to a valid enumerator name. Specify one of the following
    enumerator names and try again:
    Parallel, Queue, IgnoreNew"
    At line:1 char:131
    + ... ngOnBatteries -ExecutionTimeLimit $b -MultipleInstances StopExisting
    + ~~~~~~~~~~~~
    + CategoryInfo…

    3 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 →
  14. Windows PowerShell ISE freezes in windows 10

    Windows powershell ISE freezes very often after running even simple command. This has been happening since we moved to Windows 10.

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

    We’ll send you updates on this idea

    4 comments  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →

    Hey there,

    We haven’t heard anything about this from anyone else, so I’m guessing there might be something messed up with your machine configuration. Would you mind posting the output of $PSVersionTable. Also, is this happening on all Win10 machines across your deployment? Do you have similar issues when using powershell.exe isnstead of PowerShell ISE, or is it limited to the ISE?

    Thanks,
    Joey

  15. Remote powershell should not return error for FileSystem validation

    SCENARIO
    On Machine1:
    SCHTASKS /Create /RU SYSTEM /SC ONSTART /TN "Map I drive" /TR "net use I: \\someServer\someShare somePassword /user:someDomain\someUser"

    On Machine2 run:
    $Script = { Write-Output "Hello world!" }
    Invoke-Command -ComputerName Machine1 -ScriptBlock $Script

    As a result you get "Hello world!" but also an error
    "Attempting to perform the InitializeDefaultDrives operation on the 'FileSystem' provider failed."

    The error belongs to I drive which should have been returned as a warning and not error. The invoke does not even use the I drive so why fail on it (we in this case dont even want the invoke to have access…

    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 →
  16. PowerShell StackOverFlowException: get-childitem -path HKLM:\ -recurse -include *Windows*

    PowerShell has a bug in it which causes a "StackOverFlowException" when running the following command:
    get-childitem -path HKLM:\ -recurse -include *Windows*

    It was originally reproduced while looking for something different than:
    Windows

    This is consistently reproducible in latest updates applied of Windows 10 x64 Business and Home, with both PowerShell.exe, and ISE, x86 and standard.

    $PSVersionTable.PSVersion

    Major Minor Build Revision
    ----- ----- ----- --------
    5 1 16299 98

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

    We’ll send you updates on this idea

    3 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  17. SendMail needs ReplyTo parameter

    This is a standard SMTP option and glaring oversite in PowerShell.

    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 →
  18. How do I download modules manually from gallery behind a firewall/proxy?

    For companies like banks which are very restrictive regarding internet downloads, I have no internet connectivity directly from powershell, only from my browsers. As such I cannot use install-module from powershell.

    Our desktops are only windows 7 but locked down running ps version 2 and powershell console doesn't have proxy access. I cannot run install-module on my servers neither as my servers have no internet connection.

    Is there a workaround to download a module manually as a zipped file so that I can I unzip and install them manually in my server?

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

    We’ll send you updates on this idea

    3 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  19. Collapsed region in dark mode is hardly visible

    When using the dark theme in ISE, a collapsed region is hardly visible because the font color is black and the background darkblue. There is no way the set the colors for a collapse region in the theme editor.

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

    We’ll send you updates on this idea

    survey  ·  3 comments  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
  20. copy-item

    Add -Directory and -File switch parameters to Copy-Item, just like Get-ChildItem.

    A -File switch would make it possible to avoid copying empty folders. Also, in some situations (see [question posted on StackOverflow](https://stackoverflow.com/questions/48026637/powershell-copy-item-doesnt-copy-when-filter-is-used/48026959?noredirect=1#comment83054046_48026959) getting the desired result requires Convert-Path | Copy-Item, but then "already exists" errors arise due to copying the folder multiple times. A -Files switch would avoid those errors. (Currently, you'd have to add -Force if you want to suppress the errors.)

    A -Directory switch would provide an equivalent to xcopy /T.

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

Feedback and Knowledge Base