Назад | Перейти на главную страницу

Почему setspn -q возвращает «такой spn не найден», когда setspn -l находит spn?

Я пытаюсь устранить причину сбоя проверки подлинности Windows для веб-сайта, размещенного в IIS, на сайте клиента. При выполнении setspn -l serviceUser чтобы перечислить spns, связанные с учетной записью службы, мы получаем следующий вывод

Registered ServicePrincipalNames for CN=serviceUser,CN=Users,DC=test,DC=local:
        http/service.test.local test\serviceUser

Однако, когда мы ищем spn, используя setspn -q http/service.test.local получаем следующий результат:

Checking domain DC=test,DC=local

No such SPN found.

Что может привести к тому, что spn будет найден одним путем, а не другим?

Проблема заключалась в том, что клиент фактически создал SPN с именем пользователя, включенным в SPN. Я не уверен, как они это сделали, возможно, не с помощью setspn.

Если бы я уделил больше внимания, я бы заметил, что при выводе setspn -l serviceUser поскольку он включал имя пользователя в вывод spn.

Как только это было исправлено путем удаления имени пользователя из spn, результат setspn будет таким, как ожидалось.

c:\>setspn -l serviceUser
Registered ServicePrincipalNames for CN=serviceUser,CN=Users,DC=test,DC=local:
        http/service.test.local

c:\>setspn -q http/service.test.local
Checking domain DC=test,DC=local:
CN=serviceUser,CN=Users,DC=test,DC=local:
        http/service.test.local