【发布时间】:2015-11-06 03:56:51
【问题描述】:
我在运行 Powershell 版本 2 的服务器上:
PS C:\> $PSVersionTable
Name Value
---- -----
...
PSVersion 2.0
然后我创建一个到另一台计算机的新远程会话并连接到它:
$sess = New-PSSession -ComputerName {ComputerName} -Credential $credential
它返回结果:
PS C:\> Invoke-Command -Session $sess -ScriptBlock { $PSVersionTable }
Name Value
---- -----
...
PSVersion 3.0
但是,我的脚本需要 Powershell 处于第 2 版,因此我进入了一个会话(以使其更容易)。然后我尝试让 Powershell 成为第 2 版:
C:\> Enter-PSSession -Session $sess
[{ComputerName}]: PS C:\> Powershell -Version 2
Windows Powershell
Copyright (C) 2009 Microsoft Corporation. All rights reserverd
然后它就挂了(或者至少在我 Ctrl-C 之前我不会在控制台中输入任何其他内容)。
我也尝试过调用命令:
PS C:\> Invoke-Command -Session $sess -ScriptBlock { Powershell -version 2 }
它也是如此。
我还尝试按照此处注册 PSSessionConfiguration:https://technet.microsoft.com/en-us/library/hh847899.aspx
PS C:\> Register-PSSessionConfiguration -Name PS2 -PSVersion 2.0
但我明白了:
Register-PSSessionConfiguration: a parameter cannot be found that matches parameter name 'PSVersion'.
有人知道我接下来可以尝试什么吗?! 谢谢
【问题讨论】:
-
2 中有什么不在 3 中?为什么更容易?我真的很好奇。
-
您运行的是什么机器
Register-PSSessionConfiguration...您的计算机还是“服务器”?服务器的操作系统是什么?我刚刚尝试了technet文章中的步骤,并且效果很好。我的 2008 服务器远程连接到运行 2.0 PSSessionConfiguration 的 Windows 7 机器。您是否针对不同的服务器或主机尝试过此操作? -
@RitchMelton - 唉 SharePoint 2010 集成 (support.microsoft.com/en-us/kb/2796733)
-
@Pete:对不起。我也很难过有些东西是看不见的。
-
@Matt - 你已经回答了他的问题。如果您将其作为答案输入,他可以将其标记为,我们不会将其视为未回答。
标签: powershell powershell-2.0 powershell-3.0