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

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

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

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

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

• ## Env:OS Variable Set for both Windows and Linux versions of powershell

We have been stumped trying to find a way to be able to to call a Variable that would exist on both Windows and Linux versions so that we can make scripts OS independent between the 2 versions. I have checked a few places but $Env:OS resides on windows and$psverstiontable.OS is where you find it on linux. if you were able to find it in the same location regardless of where you are running powershell, it would be easier to deal with doing the OS check for pathing reasons.

Issue also submitted on GitHub as I am not sure…

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

We’ll send you updates on this idea

• ## Bug? Test-Connection forces enumeration of reparse points

I've noticed some behavior in PowerShell that I can't explain, but I'm hoping that someone else can.

If I want to build a list of file objects from drive C:\, and I want to ignore shortcut folders (reparse points) such as C:\Documents and Settings\. The following command works well:

$FileList = @(Get-ChildItem -Path C:\ -Recurse -Force -Attributes !ReparsePoint);$FileList | Where-Object {\$_.DirectoryName -like "*Documents and Settings*"};

The Where-Object command returns no files as expected, since C:\Documents and Settings\ is a reparse point.

However, if I run the Test-Connection command first, then the Get-ChildItem command appears to ignore the -Attributes !ReparsePoint…

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

We’ll send you updates on this idea

https://github.com/PowerShell/PowerShell/issues/3021

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

We’ll send you updates on this idea

• ## Get-Acl WebDAV error because of @SSL

After connecting to a SharePoint Online site or a OneDrive 4 Business site as a external drive (https://support.microsoft.com/en-us/help/2616712/how-to-configure-and-to-troubleshoot-mapped-network-drives-that-connec) you get an code 1 error when executing Get-Acl on this WebDAV path.
I assume is because of the @ssl part in the path.

Steps to reproduce:
Get-Acl -Path \customer-my.sharepoint.com**@ssl**\DavWWWRoot\personal\user_customer_com\Documents

Expected behavior:
Acl's are returned for the item (file or folder).

Actual behavior:
error code 1 is returned.
"Get-Acl : Method failed with unexpected error code 1."

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

We’ll send you updates on this idea

• ## Fix the typo in the shortcut of PowerShell Core 6 for Windows

This shouldn't take more than one minute of the developer's time, right?

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

We’ll send you updates on this idea

• ## RegEx pattern match causes infinite loop

The following pattern match causes infinite loop.

'"name":"XYZ" Go to Library for reading' | select-string -Pattern '"(.*)+"'

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

We’ll send you updates on this idea

• ## How to put credentials in powershell script in secure form?

I want to put credentials in ps script in secure form, such that if anyone else checks/reads my script he/she should not be able to see my credentials in script.

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

We’ll send you updates on this idea

• ## Add erroraction parameter to Remove-MailboxPermission cmdlet

Remove-MailboxPermission use to have ErrorAction parameter in earlier versions of exchange but don't see it in Exchange 2013. Would be nice to have this error handling capability specially when we are making bulk changes on cloud.

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

We’ll send you updates on this idea

• ## [datetime] type accelerator only uses en-US culture

The [datetime] when used as a type accelerator only uses the en-US culture and therefore other date formats either error out or they are interpreted incorrectly, This makes using the ConvrtFrom-String difficult when adding type accelerators to automatically discover the property type from text. If we use the Get-Date command then the correct culture is used. It appears to be just the [datetime] type accelerator that is not consistent with this? Please fix!!

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

We’ll send you updates on this idea

• ## Remove the implied Get- verb

Please remove the ability to use the implied Get verb. It is cryptic, expensive and unnecessary.
Thanks.

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

We’ll send you updates on this idea

• ## Compress-Archive does not detect -WhatIf when inside a script.

When you call a script using the -WhatIf parameter, Compress-Archive still performs its normal actions while other cmdlets such as Remove-Item do not.

Tested with PowerShell 5.1

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

We’ll send you updates on this idea

• ## Include function to show bytes human readable like linux.

In Linux in many commands like "ls", "df", and other have an option to show bytes sizes in human readable formats (bytes, KB, MB, GB, TB, etc).
In powershell is necessary to create a function to do this.
Would be interesting create some function to powershell convert the bytes value in the human readable value.

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

We’ll send you updates on this idea

• ## Change default font of PS on OSX

on OSX, the shell is white, not black or blue.

The yellow is a really bad UI implementation.

1 vote
Check!
(thinking…)
Reset