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

## 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. ## After years: please allow your customers(!) to repair PowerShell

Good day
We have only about 150 computers running Windows 10, and PowerShell regularly stops working. The current case:

Install-Module : The term 'Install-Module' is not recognized as the name of a cmdlet, ...

Because Install-Module is part of the Windows 10 PowerShell basic installation, we don't want to patch until it is running again. We simply remove PowerShell, restart the computer and reinstall PowerShell.

(Of course) since Windows 7 M is still not able to solve this bug. We get since years:

Install-Module : The term 'Install-Module' is not recognized as the name of a cmdlet, ...

So: Microsoft…

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

We’ll send you updates on this idea

• ## Get-DhcpServerv4Lease is not available in Windows 10. Remove the reference or update the text.

Get-DhcpServerv4Lease : The term 'Get-DhcpServerv4Lease' 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 line:1 char:1
+ Get-DhcpServerv4Lease
+ ~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Get-DhcpServerv4Lease:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

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

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

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

We’ll send you updates on this idea

• ## Remote powershell should not return error for FileSystem validation

SCENARIO
On Machine1:
SCHTASKS /Create /RU SYSTEM /SC ONSTART /TN "Map I drive" /TR "net use I: \\someServer\someShare somePassword /user:someDomain\someUser"

On Machine2 run:
$Script = { Write-Output "Hello world!" } Invoke-Command -ComputerName Machine1 -ScriptBlock$Script

As a result you get "Hello world!" but also an error
"Attempting to perform the InitializeDefaultDrives operation on the 'FileSystem' provider failed."

The error belongs to I drive which should have been returned as a warning and not error. The invoke does not even use the I drive so why fail on it (we in this case dont even want the invoke to have access…

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

We’ll send you updates on this idea

• ## Classes do not support data hiding.

I am grateful for the addition of classes in PS, and I know why PowerShell classes do not support true data hiding, but it is a significant shortcoming. It does not allow full control of setting a property for example. I can write my own class method for setting it, but it can be changed outside of that method. And if that method also updates the value of another class property, it can get changed directly, without going through the desired logic so the class method can be bypassed.
And it is nice to have the get_ and set_ automatically…

1 vote
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

• ## Invalid Path error in SQL Agent power job step

While running PowerShell script through SQL Agent Job I am getting below error . I am running script through account which has full permission on the path.

The error information returned by PowerShell is: 'Invalid Path: 'D:\'. '. Process Exit Code -1. The step failed.

The below is script :

$backuppath = "D:\MSSQL\BACKUP" #$destpath = "D:\"

$file =get-childitem -path$backuppath -Filter "Test*.bak" |

where-object { -not $_.PSIsContainer } | sort-object -Property$_.CreationTime |

select-object -last 1 |Copy-Item -Destination "D:\" -PassThru |
Rename-Item -NewName "Test_new.bak"

Thanks
Manoj

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

We’ll send you updates on this idea

• ## Www.Geelsuge.com

I am ibnu geelsuge

1 vote
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

• ## BUG: Is it an error or not an error; Inconsistent output and error message

The following codes were extracted to test a simple $arrayName +=$NewObject code that kept replacing the entire array with each new $NewObject. # *** START$dataArray = @() # Array to store data
$outputProperty = @{ Hostname =$Null
IPv4 = $Null MAC =$Null
MACDesc = $Null }$dataObject = New-Object -TypeName PSObject -Property $outputProperty$dataObject.Hostname = 'Computer 1'
$dataObject.IPv4 = '111.111.111.1111'$dataObject.MAC = '11:11:11:11:11:11'
$dataObject.MACDesc = 'NIC 1' "Content of dataObject:$dataObject"
# Line 1 **********
$dataArray +=$dataObject
"Content of dataArray: $dataArray"$dataObject.Hostname = 'Computer 2'
$dataObject.IPv4 = '222.222.222.222'$dataObject.MAC = '22:22:22:22:22:22'
$dataObject.MACDesc = 'NIC 2' 1 vote Sign in Check! (thinking…) Reset or sign in with Signed in as (Sign out) We’ll send you updates on this idea • ## dsc Partial configuration - pull server 0 down vote favorite I have a big issue that I cant solve, need help! Im using partial configuration to configure 3 servers. The problem is mof file name. In Microsoft documentation (https://docs.microsoft.com/en-us/powershell/dsc/partialconfigs) says: "If you are pulling more than one partial configuration from a pull server, the configuration document can be named (...) ..mof, where ConfigurationName is the name of the partial configuration, and NodeName is the name of the target node." I'm trying ..mof and it returns the warning "WARNING: [DSC-3]: [] Executing Get-Action on partial configuration 'PreStagging' Failed. Please ensure the parital configuration and its… 1 vote Sign in Check! (thinking…) Reset or sign in with 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 Sign in Check! (thinking…) Reset or sign in with 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 Sign in Check! (thinking…) Reset or sign in with 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 Sign in Check! (thinking…) Reset or sign in with 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