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. Case-Sensitive option for Test-Path

    An option to force Test-Path to be case-sensitive would be extremely helpful, especially given a script could be run on either a case-sensitive filesystem or a case-insensitive one and produce different output. At the moment, this requires a fair amount of manual work for a common goal. An option to force case-insensitivity may also be desitable, given PowerShell can encounter case-sensitive filesystems.

    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. Error attempting to create a RAP/CAP policy containing parenthesis characters

    In module "RemoteDesktopServices"

    Run powershell as administrator, execute next:

    Import-Module RemoteDesktopServices
    New-Item -Path "RDS:\GatewayServer\RAP" -Name "TestRAP1 (test)" -UserGroups "Remote Users@DomainName" -ComputerGroupType 1 -ComputerGroup "RDS_group@DomainName"

    Get error:
    New-Item : The path contains characters that are not valid.
    At line:1 char:1
    + New-Item -Path "RDS:\GatewayServer\RAP" -Name "TestRAP1 (test 123)" ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : InvalidArgument: (RDS:\GatewaySer...AP_1 (test 123):String) [New-Item], ArgumentException
    
    + FullyQualifiedErrorId : IllegalCharacters,Microsoft.PowerShell.Commands.NewItemCommand

    but if execute without parenthesis characters, its will executed with success

    New-Item -Path "RDS:\GatewayServer\RAP" -Name "TestRAP1 test" -UserGroups "Remote Users@DomainName" -ComputerGroupType 1 -ComputerGroup "RDS_group@DomainName"

    Moreover, if you create a policy through…

    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. Please use your own Naming Conventions for PmemDisk.ps1xml / PmemPhysicalDevice.ps1xml

    M$$ will probably ignore this issue, too:

    All 110 format ps1xml Files use the Naming Convention:
    <Type>.Format.ps1xml

    Once more, it's a shame that the Naming Convention is not validated before a M$$ Product is deployed, those files would fail:

    PmemDisk.ps1xml
    PmemPhysicalDevice.ps1xml

    Such bugs are annoying - and could very easily be prevented. If you need help with the basics, please ask.

    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. M$ Shame #1427: Invalid XML File: MSFT_NetEventWFPCaptureProvider.format.ps1xml

    Yes, this will be the ignored issue #1427:

    This XML File does not pass any XML Validation:
    c:\Windows\System32\WindowsPowerShell\v1.0\Modules\NetEventPacketCapture\MSFT_NetEventWFPCaptureProvider.format.ps1xml

    M$$ is really not able to integrate the most basic function tests before Files are distributed to many millions of paying customers?

    This is really one more issue which must never happen at M$$.
    A scripting kiddy could make this kind of errors - but usually, they smart enough...

    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. Bug: wrong encoding in some *.format.ps1xml files

    It's probably useless and a shame that M$$ is usually not fixing this kind of bugs:

    Some PowerShell xml Files have the wrong encoding, for example this one:
    c:\Windows\System32\WindowsPowerShell\v1.0\Event.Format.ps1xml

    It states that it is using:
    <?xml version="1.0" encoding="utf-8" ?>
    but in fact, it's utf-16.

    Test it:
    $xmldoc = New-Object xml.XmlDocument
    $xmldoc.Load('c:\Windows\System32\WindowsPowerShell\v1.0\Event.Format.ps1xml')
    Exception calling "Load" with "1" argument(s): "'.', hexadecimal value 0x00, is an invalid character. Line 2, position 1."

    Change the header to:
    <?xml version="1.0" encoding="utf-16" ?>
    and it will work.

    M$ still does not have the most basic unit tests to assure that config files must have the right…

    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. Bug: wrong encoding in some *.format.ps1xml files

    It's probably useless and a shame that M$$ is usually not fixing this kind of bugs:

    Some PowerShell xml Files have the wrong encoding, for example this one:
    c:\Windows\System32\WindowsPowerShell\v1.0\Event.Format.ps1xml

    It states that it is using:
    <?xml version="1.0" encoding="utf-8" ?>
    but in fact, it's utf-16.

    Test it:
    $xmldoc = New-Object xml.XmlDocument
    $xmldoc.Load('c:\Windows\System32\WindowsPowerShell\v1.0\Event.Format.ps1xml')
    Exception calling "Load" with "1" argument(s): "'.', hexadecimal value 0x00, is an invalid character. Line 2, position 1."

    Change the header to:
    <?xml version="1.0" encoding="utf-16" ?>
    and it will work.

    M$ still does not have the most basic unit tests to assure that config files must have the right…

    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. BUG: Get-DnsServer* cmdlets with -ErrorAction SilentlyContinue mask pipeline exceptions

    PS > Get-DnsServerZone -ComputerName properdnsserver -ZoneName existingdnszone -ErrorAction SilentlyContinue| % { throw "OOPS!" }

    NO ERROR !

    PS > Get-DnsServerZone -ComputerName properdnsserver -ZoneName existingdnszone | % { throw "OOPS!" }
    Exception calling "EndProcessing" with "0" argument(s): "OOPS!"
    At line:354 char:17
    + $_cmdletizationobjectModelWrapper.EndProcessing()
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : NotSpecified: (:) [], ParentContainsErrorRecordException
    
    + FullyQualifiedErrorId : RuntimeException

    PS >Get-Item . -ErrorAction SilentlyContinue | % { throw "OOPS" }
    Get-Item : OOPS
    At line:1 char:1
    + Get-Item . -ErrorAction SilentlyContinue | % { throw "OOPS" }
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : OperationStopped: (OOPS:String)
    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. Get-Item / Get-ChildItem returns wrong Target-Property if Item is on a Directory Junction to another drive

    It's annoying that we have to report Bugs in UserVoices
    and its a shame that M$$ is fixing BUGS only if there are enough UserVoices.

    Anyway:

    Hello

    If we create this Directory Junction between local Drives:
    mklink /J C:\Temp D:\Data\Temp\

    So that accessing: C:\Temp\
    in fact works here: D:\Data\Temp

    Now, if we call e.g.
    (Get-Item C:\Temp\MyFile.txt).Target

    We get:

    Wrong: Target : {C:\Data\Temp\MyFile.txt}
    Should be: Target : {D:\Data\Temp\MyFile.txt}
    It's a shame that M$ still does not have Unit Tests to validate the most basic situations.
    (Assuring to return the right Target on different LinkTypes, is the most important reason for 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 →
  9. Get-Item / Get-ChildItem returns wrong Target-Property if Item is on a Directory Junction to another drive

    It's annoying that we have to report Bugs in UserVoices
    and its a shame that M$$ is fixing BUGS only if there are enough UserVoices.

    Anyway:

    Hello

    If we create this Directory Junction between local Drives:
    mklink /J C:\Temp D:\Data\Temp\

    So that accessing: C:\Temp\
    in fact works here: D:\Data\Temp

    Now, if we call e.g.
    (Get-Item C:\Temp\MyFile.txt).Target

    We get:

    Wrong: Target : {C:\Data\Temp\MyFile.txt}
    Should be: Target : {D:\Data\Temp\MyFile.txt}
    It's a shame that M$ still does not have Unit Tests to validate the most basic situations.
    (Assuring to return the right Target on different LinkTypes, is the most important reason for 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. 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. 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 →
  12. 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 →
  13. 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 →
  14. 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 →
  15. 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&quot; | out-printer &#39;Microsoft XPS Document Writer&#39;
    &quot;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 →
  16. 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 →
  17. 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. 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 →
  19. 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 →
  20. 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 →
  • Don't see your idea?

Feedback and Knowledge Base