[英]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.