2015-11-06 97 views
8

我的服务器上运行PowerShell的版本2:运行远程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'. 

有没有人有什么我可以尝试下什么想法? 感谢

+5

什么在2不是3?为什么更容易?我真的很好奇。 –

+2

你运行了什么机器“Register-PSSessionConfiguration”......你的电脑或“服务器”?服务器的操作系统是什么?我只是尝试了technet文章中的步骤,它完美地工作。我的2008服务器远程运行我的Windows 7机器运行2.0 PSSessionConfiguration。你是否尝试过使用不同的服务器或主机? – Matt

+0

@RitchMelton - 唉SharePoint 2010集成(https://support.microsoft.com/en-us/kb/2796733) – Pete

回答

3

你在什么机器上运行Register-PSSessionConfiguration?你的电脑还是“服务器”?

您需要在目标服务器上进行配置。这就是你将运行托管的PSSessionConfiguration。

我刚刚尝试了technet article中的步骤,它完美地工作。我的2008服务器远程运行我的Windows 7机器运行2.0 PSSessionConfiguration。

在目标服务器/主机:

Register-PSSessionConfiguration -Name PS2 -PSVersion 2.0 

然后,在客户机上,参考 'PS2' 的配置。

$s = New-PSSession -ComputerName Server01 -ConfigurationName PS2 
0

我认为以下无法正常工作或:

#Requires -version 2.0 

你可以尝试另一种克卢格是创建目标计划任务和有任务火了你的脚本Powershell.exe -version 2

相关问题