リモートマシンからマシン上でPowerShellコマンドを実行するには、リモートマシンをホストマシンの信頼できるホストリストに追加する必要があります。
次のコマンドを使用して、マシンAをマシンBの信頼できるホストに追加しています。
winrm set winrm/config/client ‘@{TrustedHosts="machineA"}’
マシンBの信頼できるホストリストにマシンC、マシンDなどのマシンを追加するにはどうすればよいですか?
回答:
私はPSDriveで作業することを好みWSMan:\
ます。
TrustedHostsを取得する
Get-Item WSMan:\localhost\Client\TrustedHosts
TrustedHostsを設定する
単一のコンマ区切りのコンピューター名の文字列を指定します
Set-Item WSMan:\localhost\Client\TrustedHosts -Value 'machineA,machineB'
または(危険な)ワイルドカード
Set-Item WSMan:\localhost\Client\TrustedHosts -Value '*'
リストに追加するには、-Concatenate
パラメータを使用できます
Set-Item WSMan:\localhost\Client\TrustedHosts -Value 'machineC' -Concatenate
winrm set winrm/config/client '@{TrustedHosts="machineA,machineB"}'
Error: Invalid use of command line ...
応答を
Error: Invalid use of command
関係なく取得します。
Error: Invalid use of command
。
提案された答えロイックMICHELは盲目的TrustedHostsのエントリに新しい値を書き込みます。
最初にTrustedHostsにクエリを実行するのがより良い方法だと思います。ジェフリー・ヒックスは、2010年に投稿された、最初のクエリTrustedHostsのエントリを:
PS C:\> $current=(get-item WSMan:\localhost\Client\TrustedHosts).value
PS C:\> $current+=",testdsk23,alpha123"
PS C:\> set-item WSMan:\localhost\Client\TrustedHosts –value $current
信頼できるホストの処理を少し簡単にするモジュールpsTrustedHostsを作成しました。あなたはレポを見つけることができ、ここでGitHubの上。それは簡単に信頼されたホストで作業する4つの機能を提供しますAdd-TrustedHost
、Clear-TrustedHost
、Get-TrustedHost
、とRemove-TrustedHost
。次のコマンドを使用して、PowerShellギャラリーからモジュールをインストールできます。
Install-Module psTrustedHosts -Force
あなたの例では、ホスト「machineC」と「machineD」を追加したい場合は、単に次のコマンドを使用します。
Add-TrustedHost 'machineC','machineD'
明確にするために、これにより、ホスト「machineC」と「machineD」が既存のホストに追加され、既存のホストが上書きされることはありません。
このAdd-TrustedHost
コマンドはパイプライン処理もサポートしているため(コマンドもサポートしていRemove-TrustedHost
ます)、次のことも実行できます。
'machineC','machineD' | Add-TrustedHost