2009-09-24 37 views
28

我正在寫一個powershell v2腳本,我想在遠程服務器上運行。當我運行它,我得到的錯誤:powershell v2遠程處理 - 如何啓用未加密的流量

連接到遠程服務器與以下錯誤消息失敗 :本 WinRM的客戶端無法處理的 請求。未加密的流量爲 當前在客戶端 配置中禁用。更改客戶端 配置並再次嘗試請求 。有關詳細信息,請參閱 有關主題的遠程疑難解答幫助 。

我查看了關於_ Remote_Troubleshooting的在線幫助,但並未指出如何啓用未加密的流量。以下是我正在使用的腳本導致我遇到的問題。

注意:我已經在遠程機器上運行了Enable-PSRemoting,以允許它接受傳入的請求。
我試圖使用會話選項變量,但它似乎沒有任何區別。

$key = "HKLM:\SOFTWARE\Microsoft\PowerShell\1\ShellIds" 
Set-ItemProperty $key ConsolePrompting True 

$tvar = "password" 
$password = ConvertTo-SecureString -string $tvar -asPlainText –force 
$username="domain\username" 
$mySessionOption = New-PSSessionOption -NoEncryption 
$credential = New-Object System.Management.Automation.PSCredential($username,$password) 

invoke-command -filepath C:\scripts\RemoteScript.ps1 -sessionoption $mySessionOption -authentication digest -credential $credential -computername RemoteServer 

如何啓用未加密的流量?

回答

41

AllowEncrypted通過WSMAN:驅動器在客戶端定義。您必須以高級過程運行powershell.exe(或powershell_ise.exe)。

ps> cd WSMan:\localhost\Client 
ps> dir 
Name      Value 
----      ----- 
NetworkDelayms   5000 
URLPrefix     wsman 
AllowUnencrypted   false 
Auth 
DefaultPorts 
TrustedHosts 

你要改變它,像這樣(改變上述目錄後):

PS>設置項\ allowunencrypted $真

希望這有助於

  • Oisin
+0

+1這是...謝謝你的幫助 –

+1

這裏同樣的問題,即使做了你所說的,仍然拋出同樣的錯誤。任何想法? – unruledboy

+0

@unruledboy再看一遍 - 是否真的說「未加密的流量目前在_client_配置中被禁用」? – x0n

11

您可能需要設置AllowUnencrypted con客戶和服務中的無花果設置。

set-item -force WSMan:\localhost\Service\AllowUnencrypted $true 

而且不要忘了也開啓摘要授權:該服務設置已在遠程服務器上使用下面的改變

set-item -force WSMan:\localhost\Service\Auth\Digest $true 
+1

爲什麼你需要啓用摘要授權? –

+1

哦,傻了!當然是讓系統消化新的設置。 – x0n

+0

我很欣賞你的IT幽默@ x0n –

0

這爲我工作:

enable-wsmancredssp –role server