我的服务器的PS版本是版本3或1,具体取决于请求是在本地shell上完成还是远程执行:
我在本地服务器上获得PS版本3
PS C:\Users\ea_admin> (Get-Host).Version
Major Minor Build Revision
----- ----- ----- --------
3 0 -1 -1
我在运行(Get-Host)的同一台服务器上获得PS版本1。远程版本:
Invoke-Command -Session $session {
return (Get-Host).Version
}
"Major": 1,
"Minor": 0,
"Build": 0,
"Revision": 0,
"MajorRevision": 0,
"MinorRevision": 0,
"PSComputerName": "remote.server1234567890.com.au",
"RunspaceId": "23634ba8-bfe3-4242-8593-bed3d9aa8ad1",
"PSShowComputerName": true
本地执行命令有什么区别 远程?
我有一个我无法访问的脚本,它正在给出一个 关于我的PS版本的警告信息,我需要摆脱那条消息。
感谢
答案 0 :(得分:3)
远程处理使用不同的主机。如果您只是Get-Host
,您应该会看到其他一些差异。你应该能够specify which version to use within the session。
Register-PSSessionConfiguration -Name PS3 -PSVersion 3.0
$s = New-PSSession -ComputerName Server01 -ConfigurationName PS3
答案 1 :(得分:0)
(Get-Host).Version返回主机应用程序的版本。
(Get-Host).Runspace.Version返回PowerShell操作环境的版本。