원격 컴퓨터의 컴퓨터에서 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"}'
답변
Loïc MICHEL 이 제안한 답변 은 TrustedHosts 항목에 맹목적으로 새 값을 씁니다.
더 나은 방법은 TrustedHosts를 먼저 쿼리하는 것입니다. Jeffery Hicks가 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 에서 저장소를 찾을 수 있습니다 . 쉽게 신뢰할 수있는 호스트 작업을 만든다 네 가지 기능을 제공 : Add-TrustedHost
, Clear-TrustedHost
, Get-TrustedHost
,와 Remove-TrustedHost
. 다음 명령을 사용하여 PowerShell 갤러리에서 모듈을 설치할 수 있습니다.
Install-Module psTrustedHosts -Force
귀하의 예에서 호스트 ‘machineC’및 ‘machineD’를 추가하려면 다음 명령을 사용하면됩니다.
Add-TrustedHost 'machineC','machineD'
명확하게하기 위해이 추가 이미 그것을 덮어 존재하지 않는 호스트를 존재하는 호스트에 호스트 ‘machineC’와 ‘가공’을.
이 Add-TrustedHost
명령은 파이프 라인 처리도 지원하므로 ( 명령도 마찬가지 Remove-TrustedHost
) 다음을 수행 할 수도 있습니다.
'machineC','machineD' | Add-TrustedHost