デプロイメント サーバー A が 1 台、ローカル マシン B、アクセスしているサーバー C があります。B -> C からテスト スクリプトを実行すると成功します。同じスクリプトを A -> C から実行すると失敗します。ping は実行できますが、他の操作は実行できません。
テストスクリプト:
$credential2 = New-Object System.Management.Automation.PsCredential(("Test\ci"), (ConvertTo-SecureString "Password" -AsPlainText -Force))
Test-Connection -ComputerName C
invoke-command -computername C { get-UICulture } -Credential $credential2
エラーメッセージ:
[C] Connecting to remote server failed with the following error message : WinRM cannot process the request. The
following error occured while using Kerberos authentication: There are currently no logon servers available to service
the logon request.
Possible causes are:
-The user name or password specified are invalid.
-Kerberos is used when no authentication method and no user name are specified.
-Kerberos accepts domain user names, but not local user names.
-The Service Principal Name (SPN) for the remote computer name and port does not exist.
-The client and remote computers are in different domains and there is no trust between the two domains.
After checking for the above issues, try the following:
-Check the Event Viewer for events related to authentication.
-Change the authentication method; add the destination computer to the WinRM TrustedHosts configuration setting or us
e HTTPS transport.
Note that computers in the TrustedHosts list might not be authenticated.
-For more information about WinRM configuration, run the following command: winrm help config. For more information,
see the about_Remote_Troubleshooting Help topic.
+ CategoryInfo : OpenError: (:) [], PSRemotingTransportException
+ FullyQualifiedErrorId : PSSessionStateBroken
最終メモ: - A と B は同じドメインにあり、C はワークグループです - Enable-PSRemoting (完了) - グループ ポリシーの変更 (完了) - Set-ExecutionPolicy (完了) - ファイアウォールを開く (完了)
アイデアが尽きてきました。何か推測できることやフォローアップすべきことはありますか? ご協力ありがとうございます。
答え1
重要な部分は、ポリシー設定を確認することだったようです。サーバー C (ワークグループ) は、ドメイン上のサーバー A、B などの接続を許可するように設定されていました。ある時点で、サーバー A を同じ設定で設定しました。C はワークグループ上にあるため、A はそれを信頼しませんでした。
修正方法は、このシナリオに対応するために A から設定を削除/更新することでした。