Active-Directory
當 setspn -l 找到 spn 時,為什麼 setspn -q 返回“找不到這樣的 spn”?
我正在嘗試解決為什麼在客戶站點的 IIS 中託管的網站的 Windows 身份驗證失敗。執行
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