Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

PowerShell Core cannot start a job using Windows PowerShell #7059

Copy link
Copy link
@daxian-dbw

Description

@daxian-dbw
Issue body actions

When -PSVersion is specified, it should be respected. And all supported PSVersions (2.0 to 5.1) should be supported when the corresopnding version of Windows PowerShell is available.

Note that, when -PSEdition 2.0 is specified, Start-Job checks if PSv2 is installed using the method RemotingCommandUtil.CheckIfPowerShellVersionIsInstalled which will blindly throw exception in PSCore (see code below). If we want to support -PSEdition 2.0, then the #if CORECLR section of the method body should be removed.

        internal static void CheckIfPowerShellVersionIsInstalled(Version version)
        {
            // Check if PowerShell 2.0 is installed
            if (version != null && version.Major == 2)
            {
#if CORECLR
                // PowerShell 2.0 is not available for CoreCLR
                throw new ArgumentException(
                    PSRemotingErrorInvariants.FormatResourceString(
                        RemotingErrorIdStrings.PowerShellNotInstalled,
                        version, "PSVersion"));
#else
                // Because of app-compat issues, in Win8, we will have PS 2.0 installed by default but not .NET 2.0
                // In such a case, it is not enough if we check just PowerShell registry keys. We also need to check if .NET 2.0 is installed.
                ...

Steps to reproduce

PS:1> $job = Start-Job { $PSVersionTable.PSVersion } -PSVersion 5.1
PS:2> Receive-Job $job

Expected behavior

PS:2> Receive-Job $job

Major  Minor  Build  Revision
-----  -----  -----  --------
5      1      17134  81

Actual behavior

PS:2> Receive-Job $job

Major  Minor  Patch  PreReleas BuildLabel
                     eLabel
-----  -----  -----  --------- ----------
6      0      1

Environment data

> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      6.0.1
PSEdition                      Core
GitCommitId                    v6.0.1
OS                             Microsoft Windows 10.0.17134
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0
Reactions are currently unavailable

Metadata

Metadata

Assignees

No one assigned

    Labels

    Issue-BugIssue has been identified as a bug in the productIssue has been identified as a bug in the productWG-Enginecore PowerShell engine, interpreter, and runtimecore PowerShell engine, interpreter, and runtime

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      Morty Proxy This is a proxified and sanitized view of the page, visit original site.