web-dev-qa-db-ja.com

powershell v2リモーティング-暗号化されていないトラフィックを有効にする方法

リモートサーバーに対して実行したいPowerShell v2スクリプトを書いています。実行すると、エラーが発生します。

リモートサーバーへの接続が次のエラーメッセージで失敗しました:WinRMクライアントは要求を処理できません。暗号化されていないトラフィックは、現在クライアント構成で無効になっています。クライアント構成を変更して、要求を再試行してください。詳細については、about_Remote_Troubleshootingヘルプトピックを参照してください。

_ 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

暗号化されていないトラフィックを有効にするにはどうすればよいですか?

31
Peter Walke

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> set-item。\ allowunencrypted $ true

お役に立てれば、

  • オイシン
45
x0n

おそらくクライアントとサービスの両方でAllowUnencrypted構成設定を設定する必要があります。以下を使用して、リモートサーバーでサービス設定を変更する必要があります。

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

また、ダイジェスト認証も有効にすることを忘れないでください:

set-item -force WSMan:\localhost\Service\Auth\Digest $true
12
KenSV

これは私のために働きました:

enable-wsmancredssp –role server
1
c0D3l0g1c