Invoke-Command работает только тогда, когда администратор домена вошел в систему на удаленном компьютере.

У нас есть 7 терминальных серверов, и по какой-то причине я могу использовать Invoke-Command только на этих двух, когда администратор домена зарегистрирован на серверах.

Я получу эту ошибку, когда попытаюсь использовать на них Invoke-Command, когда администратор домена не вошел в них. На остальных 5 серверах проблем нет. Как только я вхожу в систему с помощью удаленного администратора, он работает без нареканий.

[RDH004] Connecting to remote server RDH004 failed with the following error message : The WSMan service could not launch a host process to process the given request.  Make s
ure the WSMan provider host server and proxy are properly registered. For more information, see the about_Remote_Troubleshooting Help topic.
    + CategoryInfo          : OpenError: (RDH004:String) [], PSRemotingTransportException
    + FullyQualifiedErrorId : 2,PSSessionStateBroken

Я дважды проверил, работает ли служба удаленного управления Windows (WS-Management). И я создал объект групповой политики (разрешить удаленное управление сервером через WinRM), чтобы разрешить удаленные подключения.

Делал тоже самое, на всех серверах пытался включить. Все серверы являются клоном одного и того же шаблона в ESXi. И все серверы работают под управлением Windows Server 2016.

Я искал повсюду решения, но ни одно из решений не похоже на ту же проблему. Особенно нет, поскольку это работает, если на сервере, на который я пытаюсь отправить удаленную команду, вошел администратор домена.


person Heine Kristensen    schedule 24.02.2021    source источник
comment
Итак, давайте немного проясним это. Ваш компьютер обменивается данными по протоколу WS-Man или веб-служб для управления. Это протокол на основе HTTP(s), который может инкапсулировать множество различных коммуникаций. НА удаленном компьютере работает служба удаленного управления Windows (WinRM). Эта служба настроена на наличие одного или нескольких прослушивателей. Каждый прослушиватель ожидает входящего трафика WS-Man на определенном порту, каждый из которых привязан к определенному протоколу (HTTP или HTTPS), и на конкретном IP-адресе или на всех локальных адресах. У вашей учетной записи есть права доступа к удаленному ПК? Вы бегали Enable-PSRemoting   -  person Abraham Zinala    schedule 24.02.2021
comment
@AbrahamZinala Да, я действительно запускал Enable-PSRemoting. Я даже добавил к нему -Force. И я включил групповой адрес прослушивания как для IPv4, так и для IPv6 — просто для уверенности. Я думаю, что пробовал каждое решение на первых трех страницах Google, когда искал свою ошибку. С добавлением Powershell в поиск и без него. Также различаются комбинации неработающей команды вызова, ошибки удаленного управления powershell, не удалось запустить wsman и т. д. Но по какой-то причине это будет работать только тогда, когда администратор домена вошел в систему на этих двух серверах.   -  person Heine Kristensen    schedule 25.02.2021


Ответы (1)


Причина этой проблемы связана с контролем учетных записей Windows (UAC). Удаленная учетная запись должна быть учетной записью домена и членом группы администраторов удаленного компьютера. Если учетная запись является локальным компьютером, входящим в группу «Администраторы», то UAC не разрешает доступ к службе WinRM. Эта ошибка возникает, даже если учетная запись является локальным администратором, а командная строка запущена с правами администратора.

Чтобы решить эту проблему, необходимо отключить фильтрацию UAC для локальных учетных записей, создав следующую запись реестра DWORD и установив для нее значение 1:

[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System] LocalAccountTokenFilterPolicy

Дополнительная информация

https://docs.microsoft.com/en-us/windows/win32/winrm/obtaining-data-from-a-remote-computer

person Sal Emelin    schedule 24.02.2021
comment
Я пробовал именно это решение, которое вы публикуете. Это не решает мою проблему. Я все еще получаю ту же ошибку. - person Heine Kristensen; 24.02.2021