簡體   English   中英

以版本2運行遠程Powershell會話

[英]Run remote Powershell session as version 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之前,至少不要讓我在控制台中輸入其他任何內容)。

我也嘗試過執行Invoke-Command:

PS C:\> Invoke-Command -Session $sess -ScriptBlock { Powershell -version 2 }

它也一樣。

我也嘗試按照這里注冊PSSessionConfiguration: https : //technet.microsoft.com/zh-cn/library/hh847899.aspx

PS C:\> Register-PSSessionConfiguration -Name PS2 -PSVersion 2.0

但是我得到:

Register-PSSessionConfiguration: a parameter cannot be found that matches parameter name 'PSVersion'.

有人對我接下來可以嘗試的東西有任何想法嗎? 謝謝

您在哪台計算機上運行Register-PSSessionConfiguration 您的計算機還是“服務器”?

您需要在目標服務器上進行配置。 那就是您將要運行的PSSessionConfiguration。

我只是嘗試了Technet文章中的步驟,所以效果很好。 我的2008服務器遠程到運行2.0 PSSessionConfiguration的Windows 7計算機。

在目標服務器/主機上:

Register-PSSessionConfiguration -Name PS2 -PSVersion 2.0

然后,在客戶端計算機上,參考“ PS2”配置。

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

我認為以下方法也不起作用:

 #Requires -version 2.0

您可以嘗試的另一種方法是在目標上創建計划任務,並使用Powershell.exe -version 2使任務啟動腳本

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM