Skip to content

Calling powershell.exe in PSCore6 on Windows starts Windows PowerShell #4194

@SteveL-MSFT

Description

@SteveL-MSFT

On Windows, $env:Path has Windows PowerShell in the path before $PSHOME which means that if you're in PowerShell Core 6 and type powershell, it starts Windows PowerShell 5.1 instead of a nested instance of PowerShell Core 6. This may be unexpected for end users as it seems that one would expect powershell to refer to the currently running version of PowerShell.

The immediate impact is that partner teams running existing PowerShell script tests in PowerShell Core 6 that spawn powershell will get incorrect results as that process is running Windows PowerShell.

cc @joeyaiello @HemantMahawar

Steps to reproduce

# within PowerShell Core 6
powershell
$psversiontable

Expected behavior

PowerShell Core 6

Actual behavior

Windows PowerShell 5.1

Environment data

Name                           Value
----                           -----
PSVersion                      6.0.0-beta
PSEdition                      Core
GitCommitId                    v6.0.0-beta.3
OS                             Microsoft Windows 10.0.16225
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

Metadata

Metadata

Assignees

Labels

Area-SideBySiderelated to ability to run PS7 side-by-side with WinPS or different versions of PS7OS-WindowsResolution-FixedThe issue is fixed.

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions