PowerShell New-PSSession - WinRM cannot process the request. The following error occurred while using Kerberos authentication: Cannot find the computer

imageВ предыдущей заметке я рассматривал вопрос автоматизации перевода объектов мониторинга в режим обслуживания на SCOM. Позже пришла в голову мысль об использовании в качестве имени сервера SCOM (при вызове скрипта управления режимом обслуживания) вместо FQDN-имени какого-то отдельно взятого сервера управления SCOM, имени NLB экземпляра, у которого в бакэнде 2 сервера управления SCOM. Однако в таком режиме вызова скрипта я столкнулся с ошибкой, говорящей о том, что сервер, с которого запускается скрипт, не имеет доверия к NLB-имени и удалённая сессия PSSession не может использовать механизм аутентификации Kerberos.

New-PSSession : [KOM-AD01-SCOMCL.holding.com] Connecting to remote server KOM-AD01-SCOMCL.holding.com failed with the following error message : WinRM cannot process the request. The following error occurred while using Kerberos authentication: Cannot find the computer KOM-AD01-SCOMCL.holding.com. Verify that the computer exists on the network and that the name provided is spelled correctly. For more information, see the about_Remote_Troubleshooting Help topic.

Последнее предложение в сообщении об ошибке содержит отсылку на справочную информацию PS, почитав которую можно понять суть проблемы. Вызвать эту справочную информацию можно командой:

Get-Help about_Remote_Troubleshooting | more

Кстати, если при попытке чтения справки PowerShell вы столкнётесь с ошибкой Интернет-обновления этой самой справки при условии, что у вас используется прокси, то, возможно, вам пригодится заметка Как выполнить обновление справки PowerShell (Update-Help) при использовании прокси.

Чтобы хост, с которого мы выполняем запуск скрипта доверял указанному нами имени удалённого хоста, нужно чтобы он был добавлен в пространство WSMan:\localhost\Client\TrustedHosts

Посмотреть текущее значение этого пространства можно так:

Get-Item WSMan:\localhost\Client\TrustedHosts

Установить новое значение (предыдущее значение будет переписано) можно так:

Set-Item WSMan:\localhost\Client\TrustedHosts -Value "KOM-AD01-SCOMCL.holding.com"

Если установка значения будет использоваться где-то в скриптах, чтобы подавить запрос на изменение значения, можно добавить к команде ключ -Force

Чтобы полностью ослабить этот механизм проверки можно воспользоваться командой:

Set-Item WSMan:\localhost\Client\TrustedHosts -Value "*" -Force

image

После этого скрипт направленный на имя хоста не имеющее привязки к Kerberos (или даже вообще при использовании IP адреса вместо имени) выполниться без вышеописанной ошибки.

Всего комментариев: 2 Комментировать

  1. Лучше конечно не "ослаблять" доверии до "*", остановись хотя бы на "*.holding.com".

    1. Алексей Максимов / Автор записи

      Разумеется я так не делал. Просто привёл такую возможность для примера.

Добавить комментарий