Як додати більше одного комп'ютера до списку надійних хостів за допомогою winrm


82

Для запуску команд PowerShell на машині з віддаленої машини ми повинні додати віддалену машину до списку надійних хостів на хост-машині.

Я додаю машину A до надійних хостів машини B, використовуючи таку команду:

winrm set winrm/config/client ‘@{TrustedHosts="machineA"}’

Як додати більше машин, скажімо машина C, машина D до списку надійних хостів машини B?

Відповіді:


131

Я вважаю за краще працювати з 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

чи є спосіб додати хостів до списку? тому що я не міг знайти жодного API для додавання.
Сніг

11
Ви можете додати за допомогою -Value "machineB" -Concatenate
SxMT

@dhcgm Це рішення НЕ працює для доменних серверів, які покладаються на Kerberos для автентифікації. Ви можете підтвердити? Отже, незважаючи на додавання явних надійних хостів, я все одно можу використовувати ненадійні хости для доступу до сервера, якщо у мене є права адміністратора на сервері. Я думаю, це працює лише для комп’ютерів робочих груп. Дякую.
objectNotFound

@objectNotFound У моєму середовищі я використовував віддалене управління Powershell лише на комп’ютерах робочих груп, тому не можу підтвердити вашу тезу. Але я звучу правдоподібно.
hdev

63
winrm set winrm/config/client '@{TrustedHosts="machineA,machineB"}'

19
якщо хтось отримає Error: Invalid use of command line ...відповідь, спробуйте видалити одинарні лапки
сварог

Це просто не працює для мене, окремі лапки чи ні. Я отримую Error: Invalid use of commandнезалежно.
Hylle 21.03.18

@svarog для мене це було навпаки. Мені довелося додати одинарні лапки. Раніше у мене була та сама помилка Error: Invalid use of command.
Бруно Бієрі,

12

Запропонована відповідь 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

5

Я створив модуль для полегшення роботи з надійними хостами, psTrustedHosts . Ви можете знайти репо тут на GitHub. Вона забезпечує чотири функції , які роблять роботу з довіреними хостами легко: Add-TrustedHost, Clear-TrustedHost, Get-TrustedHost, і Remove-TrustedHost. Ви можете встановити модуль із PowerShell Gallery за допомогою такої команди:

Install-Module psTrustedHosts -Force

У вашому прикладі, якщо ви хочете додати хости 'machineC' та 'machineD', ви просто використаєте таку команду:

Add-TrustedHost 'machineC','machineD'

Щоб бути зрозумілим, це додає хости 'machineC' та 'machineD' до будь-яких хостів, які вже існують, і не перезаписує існуючі хости.

Add-TrustedHostОбробки команд підтримують трубопровід , а також (так робить Remove-TrustedHostкоманду) , щоб ви могли зробити наступне:

'machineC','machineD' | Add-TrustedHost

@HerbM Доменні імена працюють нормально. Здається, діапазони із символами підстановки працюють лише для одного значення, тобто ви можете мати список машин, розділених комами, або рядок, що містить символи підстановки, але не список, відокремлений комами, де одне зі значень у списку має підстановочний знак. Це схоже на проблему з WinRM. Це буде перешкоджати вам додати значення з маскою підмережі , але це , здається, не інтерпретувати його як діапазон мережі при спробі підключитися до машини в діапазоні , так що не схоже на роботу.
Джейсон Бойд

2
І мабуть, вам доведеться використовувати "підмережу" бідної людини (на кордонах октетів), а не позначення CIDR або MASK: 192.168.230. * НЕ: 192.168.224.0/19 # або що завгодно
HerbM
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.