Чтобы запускать команды PowerShell на машине с удаленной машины, мы должны добавить удаленную машину в список доверенных хостов хост-машины.
Я добавляю машину A к доверенным узлам машины B, используя следующую команду:
winrm set winrm/config/client ‘@{TrustedHosts="machineA"}’
Как добавить больше машин, скажем, машины C, машины D в список доверенных хостов машины B?
windows
powershell
hosts
winrm
cmm пользователь
источник
источник
winrm set winrm/config/client '@{TrustedHosts="machineA,machineB"}'
источник
Error: Invalid use of command line ...
ответ, попробуйте убрать одинарные кавычкиError: Invalid use of command
независимо.Error: Invalid use of command
.Предложенный ответ Лоик МИШЕЛЬ слепо записывает новое значение в запись 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. Она обеспечивает четыре функции , которые делают работу с доверенными хостами легко:
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
источник