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. The task "Windows Defender Verification" is producing a restore point every day.

    The task "Windows Defender Verification" is producing a restore point every day. There should be an additional parameter in "Set-MpPreference" to handle that issue.

    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. why isn't there a simple command to get the number of open connections to a specific share?

    get-smbsession lists open share sessions and get-smbshare lists shares but where is the command to get the list who is connected to which share?

    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. BUG: Test-Certificate -AllowUntrustedRoot does not validate expiration

    Test-Certificate with the -AllowUntrustedRoot parameter does not fail validation if the certificate has expired. This can be shown by creating a self-signed certificate with New-SelfSignedCertificate -NotAfter (Get-Date).AddMinutes(1) and waiting for expiration. This is contrary to the online documentation for Test-Certificate.

    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 →
  4. PowerShell Compare-Object odd output when comparing recursive items with -Exclude

    This works:

    $one = Get-ChildItem -Recurse -Path $PathLocal
    $two = Get-ChildItem -Recurse -Path $PathMirror
    Compare-Object -ReferenceObject $one -DifferenceObject $two

    This gets the wrong result:

    $one = Get-ChildItem -Recurse -Path $PathLocal -Exclude .txt
    $two = Get-ChildItem -Recurse -Path $PathMirror -Exclude
    .txt
    Compare-Object -ReferenceObject $one -DifferenceObject $two

    Somehow -Exclude is breaking the functionality.

    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. Out-Printer appears to mishandle tab characters

    Tab characters in strings sent to Out-Printer appear to be mishandled:


    • Printing to an XPS or PDF document quietly strips tab characters.


    • Printing to the 'Generic / Text Only' printer results in a broken 2-line / 2-column layout.


    Verify with the following commands:

    ```powershell

    "col1tcol2" | out-printer 'Microsoft XPS Document Writer'
    "col1
    tcol2" | out-printer 'Microsoft Print to PDF'

    "col1`tcol2" | out-printer 'Generic / Text Only'

    ```

    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 →
  6. PowerShell ISE - PackageManagement\Register-PackageSource : The property 'Name' cannot be found on this object.

    Facing issue with PowerShell repository registering

    PackageManagement\Register-PackageSource : The property 'Name' cannot be found on this object.

    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 →
  7. 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 →
  8. BUG: Manage RDS certificates using powershell fails after WMF 5.1

    Trying to manage Remote Desktop certificates using powershell after installing WMF 5.1 on Windows Server 2012 fails with the following error message:
    PS C:\Users\MyUser> Import-Module RemoteDesktop
    PS C:\Users\MyUser> Set-RDCertificate -Role RDWebAccess

    Get-Server : The term 'Get-Server' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a
    path was included, verify that the path is correct and try again.
    At C:\Windows\system32\WindowsPowerShell\v1.0\Modules\RemoteDesktop\Certificate.psm1:304 char:22
    + $webaccess = Get-Server -ConnectionBroker $ConnectionBroker - ...
    + ~~~~~~~~~~

    + CategoryInfo          : ObjectNotFound: (Get-Server:String) [], CommandNotFoundException
    
    + FullyQualifiedErrorId : CommandNotFoundException

    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. Export-ODataEndpointProxy duplicate key sequence errors on redfish endpoint

    I'm getting some parse issues with Export-ODataEndpointProxy. It creates 119 cdxml files from my Redfish endpoint, but 8 of them have "duplicate key sequence" errors. That's pretty good at 8 of 119, but I'm unable to run any cmdlets because when I Import-Module on the folder of cdxml files, it returns the "duplicate key sequence" errors.

    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 →
  10. Bug: The Get-ADGroupMember -Recursive option doesn't work correctly

    Get-ADGroupMember -Recursive only reads the Group Members property. It does not also add users to the list who have a group as their primary group. Here is what it should be doing...

    (Get-ADGroupMember -Identity "Domain Admins" | select distinguishedName).distinguishedName

    Here is what it is actually doing...

    Get-ADGroup -Identity "Domain Admins" -Properties Member | select -ExpandProperty member

    Which is a different answer!

    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 →
  11. Powershell 5.1 returns error on special characters when passing in an array of arguments

    Hello,

    I have Set the arguments in the code:

    $installArguments = ""-p" "$ISMFileFolder" -o "$MergeModuleFolder" -y "$VersionNumber" $PathVariableArguments -b "$MediaOutputFolder""

    and run the exe with arguments:
    & $IScmdBldRootDir $installArguments
    The same scripts is running fine on Windows server 2008 R2 that has the Powershell 4.0 and it fails and return error on Windows server 2016 that has the Powershell 5.1.
    The error is:
    -1113: The 'p E:\Builds\Installer' switch is not recognized.

    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 →
  12. Add commandlets to configure NAT in the RemoteAccess module

    Please, expand the RemoteAccess module with commandlets that allow you to configure simple NAT like you would do with the RRAS GUI.
    So far, the module allow you to configure Direct Access and VPN but not NAT and it feels like it's missing.

    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. Add SNMP Cmdlets (Get, Walk, Table, etc.)

    Hi,

    it would be very useful to have SNMP cmdlets available. SNMP is still defacto standard for managing many kinds of 'network-devices'.

    It could help also considering IOT devices.

    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. TrimStart() method trimming more than specified

    Attempting to compare two strings. When constructing one of the strings, the TrimStart method is trimming more of the string than it should. Example:

    (Get-Content -Path 'C:\Program Files\SplunkUniversalForwarder\etc\system\local\server.conf' | Select-String -Pattern 'serverName').ToString().TrimStart('serverName = ')

    returns

    rver1.domain.company.com

    expected output is

    server1.domain.company.com

    I expanded the TrimStart method like so:

    (Get-Content -Path 'C:\Program Files\SplunkUniversalForwarder\etc\system\local\server.conf' | Select-String -Pattern 'serverName').ToString().TrimStart('serverName').TrimStart(' ').TrimStart('=').TrimStart(' ')

    and get the same erroneous output. The problem appears to be with trimming the last space character.

    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 →
  15. Write-Verbose should be controllable

    Hello

    Although "UserVoice" is misused by M$$ to silence customers(!) (e.g. errors(!), which are easy to correct, are ignored for years)
    I still write a suggestion for improvement.

    Usually, the -verbose switch is used if one would like to get more information about one module or script.
    The reality is, however, that we're flooded with verbose messages.

    Therefore it would be great if -verbose could be controlled. Just two ideas:
    - By specifying a nesting level, e.g. -Verbose <NestingLevel>
    -Verbose 2 would activate verbose messages in the directly called script and in all commands which are called by the script…

    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. Shared or Custom-Common Parameters for PowerShell Modules

    I would like a way to define common parameters that all functions within that module or perhaps session share. I moved to a new position and am refactoring my automation to work in a new paradigm. This means changing a bunch of parameter names to make sense. It's about 100 cmdlets and only slightly more complex than search and replace, but still I thought to myself "There has to be a better way"

    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. Allow Us to Use our MSA to Report Errors in Microsoft Documentation

    I will NOT create another account (in GetHub) to report errors in the official Microsoft documentation. I should use my MSA account. There are several errors in the documentation for Set-ADUser, for example, that I reported years ago in Connect (now retired). The documentation for the -Office and -Replace parameters are wrong.

    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. Change sorting of Get-ChildItem -Recurse, it currently tears content appart

    > Get-ChildItem -Name -Recurse -Directory

    ... currently tears directories appart because it FIRST iterates through a directory and THEN iterates through its childen recursively (I added blank lines to the output here to emphasize the issue):

    a
    b
    c

    a\1
    a\2
    a\3

    a\1\x

    b\a
    b\b
    b\c

    b\b\a
    b\b\b

    b\b\a\x
    b\b\b\1
    b\b\b\2

    c\1
    c\2
    c\3

    I believe this kind of sorting doesn't make much sense.

    I couldn't think of any use case to deal with some parent information item without processing its children and then, after other parent information items have been dealt with (probably even relying on a thorough processing…

    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 →
  19. Represent $null values Active Directory fields when exporting to CSV files

    Using Export-CSV should represent $null values from Active Directory by printing "null" in the column instead of just removing the column for that line.

    When using the Get-ADUser cmdlet to export properties of User accounts to a CSV file (Export-CSV), $null values are not represented and therefore end up being removed from the CSV. For example, if I am exporting the properties for SAMAccountName, Title, and Manager to my CSV and User A has all three properties but User B has no Title, then User B's Manager is now listed in the Title column of the CSV, which causes data…

    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 →
  20. Test-NetConnection doesn't fully honor -ErrorAction

    When I run:
    > Test-NetConnection my.host.net -port 443 -ErrorAction Ignore

    An error ends up in $Error like:
    Resolve-DnsName : my.host.net : DNS record does not exist
    At C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\NetTCPIP\Test-NetConnection.psm1:314 char:63
    + ... ecords = @( Resolve-DnsName $ComputerName -LlmnrNetbiosOnly -NoHost ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : ResourceUnavailable: (my.host.net:String) [Resolve-DnsName], Win32Exception
    
    + FullyQualifiedErrorId : RECORD_DOES_NOT_EXIST,Microsoft.DnsClient.Commands.ResolveDnsName

    Looks like Test-NetConnection.psm1 @ lines 313 - 315 has the error preference for the Resolve-DNSName calls hard coded. Specifying -Ignore should not result in anything in $Error.

    $PSVersionTable

    Name Value


    PSVersion 5.1.16299.248
    PSEdition Desktop
    PSCompatibleVersions {1.0, 2.0, 3.0, 4.0, 5.0, 5.1.16299.248}
    BuildVersion 10.0.16299.248
    CLRVersion 4.0.30319.42000
    WSManStackVersion 3.0
    PSRemotingProtocolVersion…

    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