# 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.
• Hot ideas
• Top ideas
• New ideas
• My feedback
1. ## verify yeah all that stuff

2 years I cramed tech school im locksmith security is security

(thinking…)
Signed in as (Sign out)

We’ll send you updates on this idea

2. ## Exceptions when filtering .etl trace files using New-PefTraceSession

Scenario:
We are filtering traces captured in *.etl files using the following Cmdlets: New-PefTraceSession, Add-PefMessageSource, and Start-PefTraceSession. After the filter we expect the filtered file to be saved as a .matu file. The traces themselves are captured using netevents sessions, logman and xperf. Most of these works fine but occassionally we run into the below error which causes that particular .etl trace file to not be analyzed/filtered.

at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
at System.Collections.Generic.Dictionary2.Insert(TKey key, TValue value, Boolean add) at Microsoft.ProtocolTools.Runtime.Persistence.Project.AddMetadataSection(Nullable1 id, String name, String type, String description, String…

(thinking…)
Signed in as (Sign out)

We’ll send you updates on this idea

3. ## Failed to populate environments in settings

EDIT: Our Win 2016 server was recently patched with KB4569746 (.NET Framework 4.8 cumulative). Could that be the cause?

Hi, we're getting the following error when trying to connect to Power BI Service using PBI modules MicrosoftPowerBIMgmt:

Login-PowerBI : Failed to populate environments in settings
At line:1 char:1
+ ~~~~~~~~~~~~~

+ CategoryInfo          : WriteError: (Microsoft.Power...IServiceAccount:ConnectPowerBIServiceAccount) [Connect-PowerBIServiceAccount], Exception
+ FullyQualifiedErrorId : Failed to populate environments in settings,Microsoft.PowerBI.Commands.Profile.ConnectPowerBIServiceAccount


We also tried connecting via Get-Credential and using registered App credentials. The Powershell script has been working for months.

Here are the things we've tried but to no avail: …

(thinking…)
Signed in as (Sign out)

We’ll send you updates on this idea

4. ## i need powershell to support the sed command

i need powershell to support the sed command

(thinking…)
Signed in as (Sign out)

We’ll send you updates on this idea

5. ## New Parameter on Format-List to exclude null/empty properties

Format-List (and perhaps Format-Table) should have a parameter to exclude null/empty properties. This would allow finding relevant data more quickly.

(thinking…)
Signed in as (Sign out)

We’ll send you updates on this idea

6. ## Get-ADUser should be able to use UserPrincipalName for the Identity field

Currently the Get-ADUser cmdlet does not support the usage of User Principal Names to identify user accounts. This is less than optimal when you need to correlate UPNs sourced from one data source, like an Intune-generated CSV, to the respective user accounts. It would be really nice to get that rather basic functionality added.

(thinking…)
Signed in as (Sign out)

We’ll send you updates on this idea

7. ## NetNat behavior has changed between Windows Server 2012 R2 and Windows Server 2019

Windows Server 2019 and Powershell 5.1 have broken the -ExternalIPInterfaceAddressPrefix parameter in the New-NetNat cmdlet. In 2012 R2, you specify the external networks on your server using this parameter and specifying the Network and CIDR mask (10.95.1.0/24). In 2019 and Powershell 5.1, this parameter is broken and you receive an error saying "The parameter is incorrect" invariably. The only way to create a NAT configuration in 2019 is to use the new InternalIPInterfaceAddressPrefix parameter, but this seems to prevent you from creating new External Addresses. Whenever I create a NAT in Server 2019 using the InternalIPInterfaceAddressPrefix parameter, I am unable…

1 vote
(thinking…)
Signed in as (Sign out)

We’ll send you updates on this idea

8. ## Explorer 'Pinned Items' on the taskbar opening in PowerShell 7 rather than explorer

I have pinned folders to my task bar under Explorer.exe. Since installing PowerShell 7 these links open in PowerShell rather than explorer.

(thinking…)
Signed in as (Sign out)

We’ll send you updates on this idea

Whenever I troubleshoot Conditional Access issues, I use to retrieve the certificate hash of AzureADDevice. Long story short, I retrieve "AlternativeSecurityIds.Key" property of AzureADDevice.

Get-AzureADDevice -SearchString XXXX| fl displayname,deviceid,objectid,@{n='DevCerHash';e={ [System.Text.Encoding]::Unicode.GetString($_.AlternativeSecurityIds.key).substring(21,40) }} I know that PS7 isn't compatible with AzureAD module, and for this reason I use "-UseWindowsPowerShell" flag to load the module. Unfortunately, in PS5 the byte array is properly read, while in PS7 (-UseWindowsPowerShell) an object of wrong type is returned. Get-AzureADDevice -SearchString XXXX| select AlternativeSecurityIds |gm The above command returns "TypeName: Selected.Microsoft.Open.AzureAD.Model.Device" in PS5… 5 votes Sign in (thinking…) Sign in with: Facebook Google Signed in as (Sign out) We’ll send you updates on this idea 10. ## Add support for LiteralPath to Get-DfsrFileHash cmdlet The Get-DfsrFileHash cmdlet would be a lot more versatile if it included support for the LiteralPath argument as other cmdlets like Get-FileHash and Get-ChildItem do. Without support for the argument the cmdlet currently generates an error when file paths containing special characters (such as []) are passed via the pipeline into the cmdlet. This makes obtaining DFS-R file hashes for files in bulk very difficult. 1 vote Sign in (thinking…) Sign in with: Facebook Google Signed in as (Sign out) We’ll send you updates on this idea 11. ## 3 tb 256, 2 128 gb micro 2 votes Sign in (thinking…) Sign in with: Facebook Google Signed in as (Sign out) We’ll send you updates on this idea 12. ## Suggestion: Rich PowerShell help / documentation Here are the facts: 1. PowerShell documentation and help pages are produced in Markdown on GitHub 2. They are converted to plain text before being delivered to the end-user. They don't look good. 3. PowerShell is fully capable of displaying Markdown, via the Show-Markdown cmdlet. So, I suggest that PowerShell help and documentation pages should be delivered to the end-user in untouched Markdown format. Even without a terminal app that renders VT100 code, Markdown looks VERY good. 1 vote Sign in (thinking…) Sign in with: Facebook Google Signed in as (Sign out) We’ll send you updates on this idea 13. ## Need Teams PS cmdlet to create bulk or multiple teams Current New-team does not work as expected in for each loop ps script. need new bulk create cmdlet 1 vote Sign in (thinking…) Sign in with: Facebook Google Signed in as (Sign out) We’ll send you updates on this idea 14. ## More Network Layer Troubleshooting Tools in Test-NetConnections Two things that a Network Engineer needs to troubleshoot issue at Network layer are MTR (multitraceroute) and TCP/UDP traceroute. Both are either missing or available with minimum options in Test-NetConnections 1 vote Sign in (thinking…) Sign in with: Facebook Google Signed in as (Sign out) We’ll send you updates on this idea 15. ## install module hi i am unable to install the module..when i do so i get this error emssage The term 'install-module' 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 + install-module * + ~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (install-module: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 16. ## Powershell command subommand parameters interactive list with ? button A function like cisco devices that show a list of powershell parameters with the ? button: Example: Restart-Computer -c?  -computername -credential -others  1 vote Sign in (thinking…) Sign in with: Facebook Google Signed in as (Sign out) We’ll send you updates on this idea 17. ## Dismount-VHD regression for vhds in shared folders Bug - Regression in Dismount-VHD (This is behavior that worked at some point in the last several months.) To reproduce: 1) Mount a .vhdx file stored on a network share that requires domain credentials. mount-vhd &quot;\\server\path\to\my.vhdx&quot; -NoDriveLetter 2) Open a Powershell session as a user that does not have domain credentials (such as System, or a local admin account). 3) In the non-domain Powershell session, Dismount the VHD by disk number: Dismount-VHD -DiskNumber 2 Observe that the command reports error: "Dismount-VHD: Windows cannot find a mounted virtual hard disk with the specified disk number." Note: This command does still succeed… 1 vote Sign in (thinking…) Sign in with: Facebook Google Signed in as (Sign out) We’ll send you updates on this idea 18. ## Powershell "Get-ChildItem -Recurse" does not work on Windows Server 2019 Win Server 2019 (Azure VM) For non-exist dir, powershell print a Windows Defender path. Something interesting: 1. It's fine without "-Recurse" (see the 2nd command in above screenshot) 2. It's limited to certain path. C:\non-exist-dir cause different output from C:\Program Files\non-exist-dir while D:\non-exist-dir is fine. 3. There's no issue with existing dir. I guess somehow Windows Defender kicks in during powershell execution and did some strange relocation? Here's the full log in text form: PS C:&gt; Get-ChildItem "${Env:ProgramFiles}/non-exist-dir" -Recurse
At line:1 char:1
+ Get-ChildItem "\${Env:ProgramFiles}/non-exist-dir" -Recurse
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+
1 vote
(thinking…)
Signed in as (Sign out)

We’ll send you updates on this idea

19. ## 注册表添加codepage无法更改快捷方式指向的Microsoft powershell的活动代码页

注册表的HKEYcurrentUser\console\systemroot_windowspowershell里面添加codepage：DWORD32=0x0000fde9

无法更改活动代码页为UTF8

powershell7也不行

1 vote
(thinking…)
Signed in as (Sign out)

We’ll send you updates on this idea

20. ## test-modulemanifest RequiredAssemblies fails on strong name preventing Publish-Module

When attempting to publish a module or test a module that has RequiredAssembly defined with a strong name, it fails saying the assembly is invalid.

RequiredAssemblies = @(

&quot;PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;,


)

However Add-Type -AssemblyName works perfectly with these values and the module does import correctly.

1 vote
(thinking…)