Windows 型電腦上發生的事件 ID 5788 和 5789
本文提供當 DNS 功能變數名稱和 Active Directory 功能變數名稱在 Windows 電腦上不同時,事件標識碼 5788 和事件標識碼 5789 的問題的解決方案。
原始 KB 編號: 258503
徵兆
您可能會遇到下列其中一個問題:
在 Windows Vista 和更新版本上,您會在互動式登錄期間收到下列錯誤訊息:
伺服器上的安全性資料庫沒有此工作站信任關係的計算機帳戶。
使用網域型帳戶的互動式登錄無法運作。 只有具有本機帳戶的登入才能運作。
下列事件訊息會記錄在系統記錄檔中:
事件類型:錯誤
事件來源:NETLOGON
事件類別目錄:無
事件標識碼:5788
計算機:ComputerName
描述:
嘗試更新 Active Directory 中電腦對象的服務主體名稱 (SPN) 失敗。 發生下列錯誤: <視原因而有所不同的詳細錯誤訊息。>事件類型:錯誤
事件來源:NETLOGON
事件類別目錄:無
事件標識碼:5789
計算機:計算機
描述:
嘗試更新 Active Directory 中電腦物件的 DNS 主機名失敗。 發生下列錯誤: <視原因而有所不同的詳細錯誤訊息。>注意
這些事件的詳細錯誤訊息會列在「原因」一節中。
原因
當計算機嘗試但不會寫入 Active Directory 網域服務 (AD DS) 網域中計算機帳戶的 dNSHostName 和 servicePrincipalName 屬性時,就會發生此行為。
如果下列條件成立,計算機會嘗試更新這些屬性:
- 在 Windows 電腦加入網域之後,計算機會嘗試為新網域中的電腦帳戶設定 dNSHostName 和 servicePrincipalName 屬性。
- 在已是 AD DS 網域成員的 Windows 電腦上建立安全性通道時,計算機會嘗試更新網域中電腦帳戶的 dNSHostName 和 servicePrincipalName 屬性。
- 在 Windows 型域控制器上,Netlogon 服務會每隔 22 分鐘嘗試更新 servicePrincipalName 屬性。
更新失敗有兩個可能的原因:
計算機沒有足夠的許可權可完成其計算機帳戶之 dNSHostName 或 servicePrincipalName 屬性的 LDAP 修改要求。
在此情況下,對應至「徵兆」一節中所述之事件的錯誤訊息如下所示:
事件 5788
存取遭拒。
事件 5789
系統找不到指定的檔案。
計算機的主要 DNS 後綴與計算機所屬 AD DS 網域的 DNS 名稱不符。 此設定稱為「脫離命名空間」。
例如,計算機是Active Directory網域
contoso.com
的成員。 不過,其 DNS FQDN 名稱為member1.nyc.contoso.com
。 因此,主要 DNS 後綴與 Active Directory 功能變數名稱不符。因為屬性值的必要寫入驗證失敗,因此此設定會封鎖更新。 寫入驗證失敗,因為安全性帳戶管理員 (SAM) 預設會要求計算機的主要 DNS 後綴符合電腦所屬 AD DS 網域的 DNS 名稱。
在此情況下,對應至「徵兆」一節中所述之事件的錯誤訊息如下所示:
事件 5788
指定給目錄服務的屬性語法無效。
事件 5789
參數錯誤。
解決方法
若要解決此問題,請依照「原因」一節所述尋找最有可能的原因。 然後,使用適合原因的解決方案。
原因 1 的解決方案
若要解決此問題,您必須確定計算機帳戶有足夠的許可權可更新自己的計算機物件。
在 ACL 編輯器中,確定受託人帳戶 「SELF」 有存取控制專案 (ACE),且其具有下列延伸許可權的「允許」存取權:
- 已驗證寫入 DNS 主機名
- 已驗證寫入服務主體名稱
然後,確認任何可能套用的拒絕許可權。 除了計算機的群組成員資格之外,下列信任項也適用於計算機:
- 每個人
- 已驗證的使用者
- SELF
適用於這些受託人的 ACE 也可能拒絕對屬性的寫入存取,或拒絕「已驗證寫入 DNS 主機名」或「已驗證寫入服務主體名稱」延伸許可權。
原因 2 的解決方案
若要解決此問題,請視需要使用下列其中一種方法:
方法 1:更正非預期的脫離命名空間
如果脫離組態不小心,而且如果您想要還原為連續命名空間,請使用此方法。
如需如何在 Windows Server 2003 上還原為連續命名空間的詳細資訊,請參閱下列 Microsoft TechNet 文章:
從脫離命名空間轉換至連續命名空間
如需 Windows Server 2008 和 Windows Vista 和更新版本,請參閱下列 Microsoft TechNet 文章:
反轉意外建立的脫離命名空間
方法 2:確認脫離的命名空間組態正常運作
如果您想要保留脫離的命名空間,請使用此方法。 若要這樣做,請遵循下列步驟進行一些設定變更,以解決錯誤。
如需如何確認脫離命名空間在 Windows Server 2003 R2、Windows Server 2003、Windows Server 2003 Service Pack 1 (SP1) 和 Windows Server 2003 Service Pack 2 (SP2) 上正常運作的詳細資訊,請參閱下列 Microsoft TechNet 文章: 建立脫離命名空間
如需如何確認脫離命名空間在 Windows Server 2008 R2 和 Windows Server 2008 上正常運作的詳細資訊,請參閱下列Microsoft TechNet 文章: 建立脫離命名空間
藉由擴充 「原因」區段中最後一個主要項目符號點中所提及的範例,您會將 新增 nyc.contoso.com
為 屬性的允許後綴。
其他相關資訊
本文的舊版提到變更計算機對象的許可權,以啟用一般寫入許可權來解決此問題。 這是 Windows 2000 中唯一存在的方法。 不過,它比使用 msDS-AllowedDNSSuffixes 不安全。
msDS-AllowedDNSSuffixes 會限制用戶端將任意 SPN 寫入 Active Directory。 “Windows 2000 方法” 可讓用戶端撰寫 SPN,以封鎖 Kerberos 與其他重要伺服器搭配運作(建立重複專案)。 當您使用 msDS-AllowedDNSSuffixes 時,只有在其他伺服器具有與本機電腦相同的主機名時,才會發生 SPN 衝突。
LDAP 修改要求回應的網路追蹤會顯示下列資訊:
win: 17368, src: 389 dst: 1044
LDAP: ProtocolOp: ModifyResponse (7)
LDAP:MessageID
LDAP:ProtocolOp = ModifyResponse
LDAP:結果碼 = 條件約束違規
LDAP:錯誤訊息 = 0000200B:AtrErr: DSID-03151E6D 在此網路追蹤中,200B 十六進位等於 8203 十進位。
net helpmsg 8203 命令會傳回下列資訊:指定給目錄服務的屬性語法無效。網路監視器 5.00.943 會顯示下列結果碼:「條件約束違規」。Winldap.h 會將錯誤 13 對應至 “LDAP_CONSTRAINT_VIOLATION。
如果下列一或多個條件成立,DNS 功能變數名稱和 Active Directory 功能變數名稱可能會有所不同:
TCP/IP DNS 組態包含的 DNS 網域與計算機所屬的 Active Directory 網域不同,以及 停用網域成員資格變更 選項時變更主要 DNS 後綴。 若要檢視此選項,請以滑鼠右鍵按兩下 [我的計算機],按兩下 [內容],然後按兩下 [ 網络識別 ] 索引標籤。
Windows Server 2003 型或 Windows XP Professional 型電腦可能會套用組策略設定,將主要後綴設定為與 Active Directory 網域不同的值。 組策略設定如下:計算機設定\系統管理範本\網络\DNS 用戶端:主要 DNS 後綴
域控制器位於由 Rendom.exe 公用程式重新命名的網域中。 不過,系統管理員尚未從先前的 DNS 功能變數名稱變更 DNS 後綴。 網域重新命名程式不會更新主要 DNS 後綴,以符合 DNS 功能變數名稱重新命名後的目前 DNS 功能變數名稱。 Active Directory 樹系中沒有相同階層式功能變數名稱的網域位於不同的網域樹狀結構中。 當不同的網域樹狀結構位於樹系中時,根域不是連續的。 不過,此設定不會建立脫離的 DNS 命名空間。 您有多個 DNS,甚至 Active Directory DNS 根域。 脫離命名空間的特點是主要 DNS 後綴與電腦所屬的 Active Directory 功能變數名稱之間的差異。
在某些情況下,可以謹慎使用脫離命名空間。 不過,在所有案例中都不支援。