# 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.
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. ## Enable configuration version tracking for compiled DSC configurations

As a part of infrastructure as code or using DSC in the deployment pipelines, it is desired that we be able to identify the version of the node configuration. With all configurations being put into a source / version control repository, it won't be difficult to promote the version number for a given configuration document. However, at this point in time, there is no way to specify the version of the configuration document itself anywhere. This makes it hard to determine or identify what version of the configuration is being used on a target node without using a 3rd party…

Check!
(thinking…)
Reset
Signed in as (Sign out)

We’ll send you updates on this idea

• ## BUG: binary module loading fails silently on Fall Creators update on some machines

occurs in PS 5.1 on Windows 10, Fall Creators update
First observed with SqlServer module 21.0.17199
Also occurs with PsWindowsUpdate v2.0.0.0 , SqlServer 21.0.17224

Pretty much what it says - with either autoload or Import-Module, the module loads with no complaints but the cmdlets aren't there. The assemblies _do_ get loaded into the appdomain. I found no obvious clues poking around with ProcMon and Trace-Command (obvious to me, anyway). Happens on some machines, not others. Reported by 3 users (that I know of), in each case after updating to the Fall Creators update. If you have any debugging hints, they'd…

Check!
(thinking…)
Reset
Signed in as (Sign out)

We’ll send you updates on this idea

• ## Better Write-Progress bar, like in yarn.

The current Write-Progress bar is ugly, and shows at the top of the sreen. Showing yello text over dark cyan, representing progress with some weird circles...

It should be more like the yarn progress bar, that shows immediately after the command.

https://imgur.com/GfJRHfp

Check!
(thinking…)
Reset
Signed in as (Sign out)

We’ll send you updates on this idea

• ## Dynamic param is silently ignored

Dynamic param is silently ignored, and no errors are thrown when CmdletBinding is not defined.

[CmdletBinding()]
Param()

The following code should either run successfully, or throw an error:

DynamicParam {
$ParamAttribute = New-Object Parameter$ParamAttribute.Mandatory = $true$ParamAttribute.ParameterSetName = '__AllParameterSets'

$AttributeCollection = New-Object System.Collections.ObjectModel.Collection[System.Attribute]$AttributeCollection.Add($ParamAttribute)$controlTypes = @("TextBox", "Label", "DataGrid")

$AttributeCollection.Add((New-Object ValidateSet($controlTypes)))

$RuntimeParam = New-Object System.Management.Automation.RuntimeDefinedParameter('Type', [string],$AttributeCollection)

$RuntimeParamDictionary = New-Object System.Management.Automation.RuntimeDefinedParameterDictionary$RuntimeParamDictionary.Add('Type', $RuntimeParam) return$RuntimeParamDictionary
}

Process {
Write-Host ($PSBoundParameters['Type']) } } Add-Control -Type "Test" #$null

Check!
(thinking…)
Reset
Signed in as (Sign out)

We’ll send you updates on this idea

• ## 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…

Check!
(thinking…)
Reset
Signed in as (Sign out)

We’ll send you updates on this idea

• ## BUG: The certificate for the WMF 5.1 setup has expired WMF 5.1 cannot be installed

The certificate for Win7AndW2K8R2-KB3191566-x64.msu has expire and installing WMF 5.1 fails with the following error in Event Log/Windows Logs/Setup

Windows update "Update for Windows (KB3191566)" could not be installed because of error 2148204801 "A required certificate is not within its validity period when verifying against the current system clock or the timestamp in the signed file." (Command line: ""C:\Windows\system32\wusa.exe" "C:\Users\username\Downloads\Win7AndW2K8R2-KB3191566-x64\Win7AndW2K8R2-KB3191566-x64.msu" ")

Is WMF 5.1 still supported?

Check!
(thinking…)
Reset
Signed in as (Sign out)

We’ll send you updates on this idea

Thanks for the report. We are working to address this.
Don’t have an ETA at this time, but it is being actively worked on.

• ## Set-Location/Push-Location should update process' current directory

The Set-Location/Push-Location cmdlets do not update the calling process' current directory. This leads to surprising behavior when working with non-PowerShell APIs. Simple example below.

1 vote
Check!
(thinking…)
Reset
Signed in as (Sign out)

We’ll send you updates on this idea

• ## Some new default cmdlet parameters?

We have -ErrorVariable and -WarningVariable. To capture verbose output to a variable, you can $VerboseRecords = (Write-Verbose -Verbose "test") 4>&1 # and find it in$VerboseRecords.Message, but wouldn't it make sense to add a -VerboseVariable? Maybe even a -WriteHostVariable?

1 vote
Check!
(thinking…)
Reset
Signed in as (Sign out)

We’ll send you updates on this idea

• ## Include System.Data.SQLite in PowerShell

Include System.Data.SQLite in PowerShell, so that we have an SQL database engine (SQLite) +ADO.NET provider built in in PowerShell.

Check!
(thinking…)
Reset
Signed in as (Sign out)

We’ll send you updates on this idea

• ## Possible bug in Exchange PowerShell Get-Group filter?

Hi,

I just noticed a strange thing. Get-User filter parameter doesn't seem to work when using a variable:

$email = user@domain.com$dn = (Get-User $email).DistinguishedName Get-Group -Filter { ManagedBy -eq$dn }

This returns a bunch of groups that has nothing to do with the user. It works correctly when I specify the DistinguishedName manually, e.g. ManagedBy -eq "CN=User,OU=lalala, ..."

Is this a bug in the cmdlet? Because I know that Get-ADGroup works when I use a variable in the filter.

1 vote
Check!
(thinking…)
Reset
Signed in as (Sign out)

We’ll send you updates on this idea

• ## [Bug] Bitwise AND operation on long value is ignored when Most-Significant 32 bits is masked with zero

[Bug] Bitwise AND operation on long value is ignored when Most-Significant 32 bits is masked with zero

Sample Code to replicate issue:

[BitConverter]::GetBytes([BitConverter]::ToInt64(@(1,1,168,192,255,255,255,255), 0) -band 0x00000000ffffffff)

Should return: @(1,1,168,192,0,0,0,0)
Actually returns : @(1,1,168,192,255,255,255,255)

Check!
(thinking…)
Reset
Signed in as (Sign out)

We’ll send you updates on this idea

• ## get-childitem should show listed directory, not the current one

reproduce:
go, for example, to c:\windows directory and type

get-childitem c:\users

-> get-childitem first line says Directory: c:\windows, and then it lists users directory contents. Is this intended behavior? If it is, it's quite confusing. Same with earlier versions. This is also very confusing when using filter to search subdirectories.

I would expect "directory:" to show the listed directory's name, not the current.

1 vote
Check!
(thinking…)
Reset
Signed in as (Sign out)

We’ll send you updates on this idea

• ## Provide information (at least a link to it) on the object that is returned by a command, e.g Get-IISSite

Provide information (at least a link to it) on the object that is returned by a command, e.g Get-IISSite

1 vote
Check!
(thinking…)
Reset
Signed in as (Sign out)

We’ll send you updates on this idea

• ## 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
Check!
(thinking…)
Reset
Signed in as (Sign out)

We’ll send you updates on this idea

• ## utf-8 without bom

Bug: Scripts encoded with utf-8 without bom are producing errors when the character "Ä" is used between double quotation marks.

Frequency: always

How to reproduce: Create a powershell file with the following contents:

$test = "Ä" Save it with the encoding "utf-8 without bom" (often just called utf-8. The counterpart, utf-8 with bom, can also be called "utf-8 signature"). Run the file, and you will get the following error: At C:\location\to\file\test.ps1:1 char:9 +$test = "Ã„"
+ ~~~~
The string is missing the terminator: ".
+ CategoryInfo : ParserError: (:) [], ParseException
+ FullyQualifiedErrorId : TerminatorExpectedAtEndOfString

Check!
(thinking…)
Reset
Signed in as (Sign out)

We’ll send you updates on this idea

• ## Notification option for authors when publishing to PS Gallery

When an author publishes an update to their module hosted on the gallery it should provide an option to push a notification to their configured social media accounts.

So an author configures Twitter and LinkedIn profiles on their account/profile. A configuration option within the module being published should allow for a setting that will push a notification to their social media, on their behalf, announcing a new release of that module.

Check!
(thinking…)
Reset
Signed in as (Sign out)

We’ll send you updates on this idea

• ## PowerShell ISE 5.1 is crashing during initialization

PowerShell ISE 5.1 is crashing during initialization, i.e., when the SPLASH-SCREEN is still visible.

Please, see my other bug report: PowerShell ISE crashes after latest Windows Update

Other relevant informations, are:

1- System is Windows 7 Starter SP1

2- \$PSVersionTable

Name Value
---- -----
PSVersion 5.1.14409.1012
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.14409.1012
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1

3- The only 2 events logged into APPLICATION event-log are:

EventID : 1001
MachineName : FREELANCERCOMPUTER
Data : {}
Index : 85373
Category : (0)
CategoryNumber : 0
EntryType : Information
Message : Fault bucket , type…

1 vote
Check!
(thinking…)
Reset
Signed in as (Sign out)

We’ll send you updates on this idea

• ## BUG: PowerShell SendMail requires To address

Current specs say -To address is required. This should be changed to "at least one address is required". I consistently, using other SMTP mailers, add all my addresses as BCC, with 'To' and "cc" empty. Everyone then sees only their address in their email. This thwarts a 'Reply All' going somewhere it shouldn't.

1 vote
Check!
(thinking…)
Reset
Signed in as (Sign out)

We’ll send you updates on this idea

• ## SendMail needs ReplyTo parameter

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

1 vote
Check!
(thinking…)
Reset
Signed in as (Sign out)

We’ll send you updates on this idea

• ## 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
Check!
(thinking…)
Reset