Как добавить несколько машин в список доверенных хостов, используя winrm
Чтобы запустить команды powershell на машине с удаленной машины, мы должны добавить удаленный компьютер в список доверенных хостов хост-машины.
Я добавляю машину A к машинам B с доверенными хостами, используя следующую команду:
winrm set winrm/config/client ‘@{TrustedHosts="machineA"}’
Как добавить еще машины, скажем, машину C, машину D в список доверенных узлов машины B?
Ответы
Ответ 1
Я предпочитаю работать с PSDrive WSMan:\
.
Получить TrustedHosts
Get-Item WSMan:\localhost\Client\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
Ответ 2
winrm set winrm/config/client '@{TrustedHosts="machineA,machineB"}'
Ответ 3
Предлагаемый ответ Loïc 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
Ответ 4
Я создал модуль, чтобы упростить работу с доверенными хостами, psTrustedHosts. Здесь вы можете найти repo здесь на GitHub. Он предоставляет четыре функции, облегчающие работу с доверенными хостами: Add-TrustedHost
, Clear-TrustedHost
, Get-TrustedHost
и Remove-TrustedHost
. Вы можете установить модуль из галереи PowerShell со следующей командой:
Install-Module psTrustedHosts -Force
В вашем примере, если вы хотите добавить hostC 'и' machineD ', вы просто используете следующую команду:
Add-TrustedHost 'machineC','machineD'
Чтобы быть ясным, это добавляет узлы "machineC" и "machineD" к любым уже существующим хостам, они не перезаписывают существующие хосты.
Команда Add-TrustedHost
также поддерживает обработку конвейера (так же как и команда Remove-TrustedHost
), поэтому вы также можете сделать следующее:
'machineC','machineD' | Add-TrustedHost