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. get-adcomputer will not bind properly to another function even when it contains a valid string parameter with the 'name' alias.

    Bug filing.

    According to other articles I read this problem may be prevalent in other/all AD cmdlets. To work around this bug you have to use | Select * | as an intermediate step to correctly bind to your $computername/$name parameter.

    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 →
  2. DPM's Get-DPMCloudSubscription does not work when run inside a scheduled task.

    If you run a regular DPM report PowerShell script and wish to include the total used space in Azure, the Get-DPMCloudSubscription command fails.

    If you run the script manually you are given the information you need, but the scheduled task reports always show 0 space used. For instance here is the command and result in the ISE:

    SubscriptionName : Azure Backup
    UsedSpace : 272188669250
    TotalSpace : 322122547200
    StorageQueriedTime : 09/01/2018 00:24:02
    RegistrationStatus : AgentInstalledAndRegistered

    but the same part of the report when in a scheduled task shows:
    SubscriptionName : Azure Backup
    UsedSpace : 0
    TotalSpace : 322122547200
    StorageQueriedTime : 09/01/2018…

    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. SSMS 17 - Start Powershell returns 'No SQL Server cmdlets found on this computer' but sqlserver module is installed

    SSMS 17 - Start Powershell returns 'No SQL Server cmdlets found on this computer' but sqlserver module is installed and works outside of SSMS 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 →
  4. Add Recipient Property 'Capabilities' to be filterable by Set-DynamicDistributionGroup

    When trying to create Dynamic Distribution Groups via Powershell with the Set-DynamicDistributionGroup cmdlet, there are many filterable properties. The properties are supposed to be what you see via 'Get-Recipient'.

    One Property in particular, 'Capabilities' does not appear to be valid for use with Set-DynamicDistributionGroup.

    Could this be added, as it would be very useful to filter people based on what license(s) they have assigned.

    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. Set-DynamicDistributionGroup ProhibitSendReceiveQuota filter doesn't work

    When trying to create a Dynamic Distribution Group via PowerShell using Set-DynamicDistributionGroup, TechNet lists many filterable properties, including 'ProhibitSendReceiveQuota'. However, it doesn't appear to actually work.

    The only way I've gotten it to produce any results is to say:

    Get-Recipient -RecipientPreviewFilter {(ProhibitSendReceiveQuota -lile "*")}

    If you do a 'Get-Recipient', 'ProhibitSendReceiveQuota' isn't even a property returned.

    https://technet.microsoft.com/en-us/library/bb125127(v=exchg.160).aspx

    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. new-service, assign virtual service account

    When creating a new service, I would like to set the user account to a virtual service account. Since the -Credential parameter expects a PSCredential object, which doesn't seem to accept predefined local accounts at all, this isn't currently possible.

    Having a -VirtualAccount switch would be great.

    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. Get-MpPreference .AttackSurfaceReductionRules_Actions returns incorrect value(s)

    Get-MpPreference .AttackSurfaceReductionRules_Actions returns incorrect value(s) compared to registry. Specifically a value of 2 is always returned for rule id BE9BA2D9-53EA-4CDC-84E5-9B1EEEE46550. There may be other anomalies that I haven't yet found for different rule id's.

    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]register-scheduledjob and new-jobtrigger bug report

    If I scheduled a job for weekly running on specific days it will always fail with error code Task Scheduler stopped instance "{[GUID]}" of task "\Microsoft\Windows\PowerShell\ScheduledJobs[myjob]" as request by user [my windows logon]

    However the job works with the -daily switch. It only fails with -daysofweek

    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. Test-Path returns false for quoted path

    Test-Path returns false for valid paths contained within quotes. See example below. Due to the frequent need to quote paths containing spaces, this leads to needless bugs.

    Repro follows.

    PS C:\WINDOWS\system32> Test-Path 'C:\Windows\System32\ntdll.dll'
    True

    PS C:\WINDOWS\system32> Test-Path '"C:\Windows\System32\ntdll.dll"'
    False

    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. Extend get-childitem with support for file systems exposed via WEBDAV, SFTP, FTP, HTTP

    Extend get-childitem with pluggable support for file systems exposed via HTTP, SCP, SFTP, FTP, WEBDAV.

    Meanwhile, still using curl and custom scripting.

    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. [Issue] Get-MessageTrace pipe to Get-MessageTraceDetail

    I got some weird data when running below cmdlet

    Get-MessageTrace -StartDate "09/11/2017 00:00:00" -EndDate "09/15/2017 00:00:00" -PageSize 10 -Page 1 | Get-MessageTraceDetail | Select-Object Date, MessageTraceID, Event, Data, Detail | Out-GridView

    It seems the last event of the first MessageTraceID keeps repating itself and was added next to last event of the next MessageTraceID. And its data keep growing. Please see below image for the clear representation of the issue.
    https://1drv.ms/i/s!AtOz2sztWjOapgIwkbjyq-sy4_jm

    Below image is the correct MessageDetail of MessageTraceId 2b87f940-0eee-4c39-71a9-08d4f9757430
    https://1drv.ms/i/s!AtOz2sztWjOapgPFCL102diF6jRz

    And below image is the correct MessageDetail of MessageTraceId f602c9c7-2a5b-4a5a-1256-08d4f8e9ba58
    https://1drv.ms/i/s!AtOz2sztWjOapgSFXfJiKurb23w0

    Can you please check why it is happening?

    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 →
  12. active directory get-adcomputer FQDN

    get-adcomputer accepts FQDNs for the "server" (domain controller) parameter, but doesn't accept them for the "identity" (the adcomputer i'm trying to get-) parameter.

    so

    get-adcomputer -identity domaincontroller
    get-adcomputer -identity domaincontroller -server domaincontroller
    get-adcomputer -identity domaincontroller -server domaincontroller.domain.com

    all work.

    get-adcomputer -identity domaincontroller.domain.com

    does not work.

    what's the logic there?

    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. Import-Clixml - Serialized XML is nested too deeply.

    Import-Clixml 'data.xml'

    Import-Clixml : Serialized XML is nested too deeply.
    At line:1 char:1
    + Import-Clixml 'data.xml ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : NotSpecified: (:) [Import-Clixml], XmlException
    
    + FullyQualifiedErrorId : System.Xml.XmlException,Microsoft.PowerShell.Commands.ImportClixmlCommand

    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. Stop-Transcript -ErrorAction doesn't work

    The ErrorAction parameter on Stop-transcript doesn't work.

    for instance with SilenlyContine:

    PS G:> Stop-Transcript -ErrorAction SilentlyContinue
    Stop-Transcript : An error occurred stopping transcription: The host is not currently transcribing.
    At line:1 char:1
    + Stop-Transcript -ErrorAction SilentlyContinue
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidOperation: (:) [Stop-Transcript], PSInvalidOperationException
    + FullyQualifiedErrorId : InvalidOperation,Microsoft.PowerShell.Commands.StopTranscriptCommand

    Or with stop:
    Script: Stop-Transcript -ErrorAction Stop; write-output "This message sould not be printed"
    Result: Stop-Transcript : An error occurred stopping transcription: The host is not currently transcribing.
    At home\Untitled4.ps1:1 char:1
    + Stop-Transcript -ErrorAction Stop
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidOperation: (:) [Stop-Transcript], PSInvalidOperationException
    + FullyQualifiedErrorId : InvalidOperation,Microsoft.PowerShell.Commands.StopTranscriptCommand

    This message sould…

    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. OutVariable gets the output from the next command (select) in the pipeline

    When running something like:
    gsv -ov all | sort -ov sorted | select name -first 10 -ov first10

    I'd expect $all.Count to be equal to $sorted.Count, but $sorted.Count is 10 and contains the same objects as $first10.
    This is different than in older versions (tried with -ver 2, and the variables have the expected objects. e.g. $all.Count == $sorted.Count)

    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. Get- and Remove-DnsServerResourceRecord deficiencies

    Get- and Remove-DnsServerResourceRecord have a couple of deficiencies:

    1) most cmdlets support piping from Get- to Remove-, this does not currently work properly with Remove-DnsServerResourceRecord...

    "The input object cannot be bound because it did not contain the information required to bind all mandatory parameters: ZoneName"

    So, the objects returned from Get-DnsServerResourceRecord should contain the ZoneName property.

    2) Remove-DnsServerResourceRecord does not respect -Confirm:$false, even when it's specified, it asks for confirmation every time.

    i.e. this will ask for confirmation 200 times if you have 200 records (and -ZoneName must be specified because of the aforementioned issue!), at least thankfully you…

    2 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    2 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  17. Hardware Manufacturing Guides: Adding DISM cmdlets in PowerShell to complement guides & GitHub contribution

    Following the Manufacturing guides - the PowerShell DISM Module is still lacking several cmdlets for the remaining DISM command lines available in the command prompt.
    Is there a reason for not having them all there?
    I wanted to make some scripts for the module, but could only find the DSC xDISMFeature
    Is there a DISM Module GitHub repository?

    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]: Get-ADUser -Filter {[attribute] -ne "ms"} filters out objects that return as null

    If you do a get-aduser -filter {company -ne "ms"}, the results filter out accounts that have no value for the company attribute defined. In my opinion this should not be the expected behavior; it should return all accounts, including the ones with a null company attribute, however it should not include results that have the company equal to "ms". The same behavior is also present with other attributes, such as "manager".

    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. [BUG]New-PSDrive FileSystem does not work for Backup-SqlDatabase

    The -BackupFile parameter for the Backup-SqlDatabase cmdlet does not work properly with a drive created with the New-PSDrive cmdlet. It will first pull the default backup drive for the SQL Server then append the string for the file system. For example:

    New-PSDrive -Name "fs" -PSProvider FileSystem -Root "\MyFileServer\Backups"
    Backup-SqlDatabase -Database "MyDatabase" -ServerInstance "MySQLServer" -BackupFile "fs:\MyDatabase.bak"

    Would error with "Cannot find the path 'C:\BackupPath\fs:\MyDatabase.bak'"

    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. When is Powershell v6 due to be released?

    When is Powershell v6 due to be released Will it work with Windows 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 →
  • Don't see your idea?

Feedback and Knowledge Base