web-dev-qa-db-ja.com

PowerShellアクセスが拒否されました。 PSRemotingTransportException + FullyQualifiedErrorId:PSSessionStateBroken

別のシステムへのリモート接続を確立し、いくつかの基本的なコマンドを実行しようとしました。

以下は私が行ったステップです:

  • シェルコマンドを受け入れるようにリモートマシンを構成しました-Enable-PSRemoting – Force
  • リモートマシンの構成をテストしました-Test-WsMan COMPUTERNAME。
  • ホストマシンで次のコマンドを実行しました。

1 .Invoke-Command -ComputerName COMPUTERNAME -ScriptBlock { Get-ChildItem C:\ } -credential USERNAME

2 .Invoke-Command -ComputerName COMPUTERNAME -ScriptBlock { Get-ChildItem C:\ } -credential $Credentials

3 .Invoke-Command -ComputerName COMPUTERNAME -ScriptBlock { Get-ChildItem C:\ }

すべてのケースで、アクセス拒否エラーが発生していました。

Access is denied. For more information, see the about_Remote_Troubleshooting Help topic. + CategoryInfo   : OpenError: (:) [], PSRemotingTransportException 
+ FullyQualifiedErrorId : PSSessionStateBroken
4
Ajmal Moideen

から [〜#〜] msdn [〜#〜]

  1. Windows PowerShellショートカットを右クリックし、[管理者として実行]を選択して、Windows PowerShellを管理者として起動します。

  2. WinRMサービスは、デフォルトで手動起動用に構成されています。スタートアップの種類を[自動]に変更し、使用する各コンピューターでサービスを開始する必要があります。 PowerShellプロンプトで、次のコマンドを使用してWinRMサービスが実行されていることを確認できます。get-service winrm出力のStatusプロパティの値は「Running」である必要があります。

  3. Windows PowerShellをリモート処理用に構成するには、次のコマンドを入力します。Enable-PSRemoting –force

多くの場合、他のドメインのリモートコンピュータを操作できます。ただし、リモートコンピューターが信頼されたドメインにない場合、リモートコンピューターは資格情報を認証できない可能性があります。認証を有効にするには、リモートコンピューターをWinRMのローカルコンピューターの信頼できるホストのリストに追加する必要があります。これを行うには、次のように入力します。winrm s winrm/config/client '@ {TrustedHosts = "RemoteComputer"}'ここで、RemoteComputerは次のようにリモートコンピューターの名前にする必要があります。winrm s winrm/config/client '@ {TrustedHosts = "CorpServer56"} '

winrmが実行されているかどうかを確認する必要があります。また、リモートホストを信頼できるホストのリスト(またはローカルマシン)に追加します。

お役に立てば幸いです。

4
Moerwald