Fix issue #1609 - Get-PSSession -computername fails on nano
Root cause: Microsoft.WSMan.Management and Microsoft.PowerShell.Commands.Diagnostics are not put in the default snapin list for win-ops, and thus when a runspace is created using RunspaceConfiguration, those 2 are not loaded as snapins by default, which is a behavior change compared to Nano PS. Fix: Replace the guard 'PORTABLE' to be 'UNIX' so that they are in the default snapin list when targeting windows platform.
This commit is contained in:
parent
70aea51cb1
commit
dc9b326587
2 changed files with 11 additions and 2 deletions
|
@ -1284,7 +1284,7 @@ namespace System.Management.Automation
|
||||||
{
|
{
|
||||||
s_defaultMshSnapins = new List<DefaultPSSnapInInformation>()
|
s_defaultMshSnapins = new List<DefaultPSSnapInInformation>()
|
||||||
{
|
{
|
||||||
#if !PORTABLE // Microsoft.PowerShell.Commands.Diagnostics.dll needs to be ported
|
#if !UNIX
|
||||||
new DefaultPSSnapInInformation("Microsoft.PowerShell.Diagnostics", "Microsoft.PowerShell.Commands.Diagnostics", null,
|
new DefaultPSSnapInInformation("Microsoft.PowerShell.Diagnostics", "Microsoft.PowerShell.Commands.Diagnostics", null,
|
||||||
"GetEventResources,Description", "GetEventResources,Vendor"),
|
"GetEventResources,Description", "GetEventResources,Vendor"),
|
||||||
#endif
|
#endif
|
||||||
|
@ -1303,7 +1303,7 @@ namespace System.Management.Automation
|
||||||
"SecurityMshSnapInResources,Description","SecurityMshSnapInResources,Vendor")
|
"SecurityMshSnapInResources,Description","SecurityMshSnapInResources,Vendor")
|
||||||
};
|
};
|
||||||
|
|
||||||
#if !PORTABLE
|
#if !UNIX
|
||||||
if (!Utils.IsWinPEHost())
|
if (!Utils.IsWinPEHost())
|
||||||
{
|
{
|
||||||
s_defaultMshSnapins.Add(new DefaultPSSnapInInformation("Microsoft.WSMan.Management", "Microsoft.WSMan.Management", null,
|
s_defaultMshSnapins.Add(new DefaultPSSnapInInformation("Microsoft.WSMan.Management", "Microsoft.WSMan.Management", null,
|
||||||
|
|
|
@ -3,5 +3,14 @@ Describe 'Basic engine APIs' -Tags "CI" {
|
||||||
It 'can create default instance' {
|
It 'can create default instance' {
|
||||||
[powershell]::Create() | Should Not Be $null
|
[powershell]::Create() | Should Not Be $null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
It "can load the default snapin 'Microsoft.WSMan.Management'" -skip:(-not $IsWindows) {
|
||||||
|
$ps = [powershell]::Create()
|
||||||
|
$ps.AddScript("Get-Command -Name Test-WSMan") > $null
|
||||||
|
|
||||||
|
$result = $ps.Invoke()
|
||||||
|
$result.Count | Should Be 1
|
||||||
|
$result[0].PSSnapIn.Name | Should Be "Microsoft.WSMan.Management"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue