In einer Active Directory Domain ist es zu dem Problem gekommen, dass keine neuen Rechner mehr zum Active Directory hinzugefügt werden konnten. Die Fehlermeldung beim Hinzufügen des Clients lautete wie folgt:
Im Active Directory ist ein Konto mit diesem Namen vorhanden. Die erneute Verwendung des Kontos wurde durch eine Sicherheitsrichtlinie blockiert
In der Domain werden konnten durch einen Identity Manager vor dem Hinzufügen des Rechners im Active Directory angelegt (Pre-Staged) und nicht erst beim Hinzufügen des Rechners zum AD. In diesem Fall existiert also das Computer Konto schon und wurde von einem Service Accounts des Identity Managers erstellt (in diesem Beispiel heißt der Service Account „IdentityManager“). Mit einem anderem Benutzeraccount, welches nur für den Domain Join verwendet wird, wurde nun versucht den neuen Client zum Active Directory hinzuzufügen. Einfach gesagt: Das Computerkonto des Clients wird durch BenutzerA angelegt und BenutzerB möchte den Computer zum AD hinzufügen. Dabei kommt es zu den oben beschriebenen Fehler.
Eine Sicherheitsrichtlinie verhindert in diesem Fall, dass ein Benutzer Computerkonten verwenden kann, welche von einem anderen Benutzer erstellt wurden. BenutzerB (DomainJoin) kann also nicht das Computerkonto anpassen / wiederverwenden, welches durch durch BenutzerA (IdentityManager) erstellt wurde.
Bei dem Fehler handelt es sich um ein Feature, welches eigentlich nicht neu ist, in dieser Domain aber aufgrund des Identity Managers nun aber aufgetreten ist. Die entsprechende Sicherheitsrichtlinie „Domain join hardening changes“ wurde schon seit dem Oktobger 2022 vorbereitet und mit den Windows Updates vom 13.08.2024 angepasst.
Im Netsetup.log des Clients wird die folgende Zeile protokolliert:
NetpModifyComputerObjectInDs: Account exists and re-use is blocked by policy. Error: 0xaac
Hier mal alle relevanten Zeilen aus dem Logfile c:\Windows\debug\Netsetup.log des betreffenden Clients:
01/02/2025 13:59:43:058 NetpReadAccountReuseModeFromAD: Got 0 Entries.
01/02/2025 13:59:43:058 Returning NetStatus: 0, ADReuseMode: 0
01/02/2025 13:59:43:058 IsLegacyAccountReuseSetInRegistry: RegQueryValueEx for 'NetJoinLegacyAccountReuse' returned Status: 0x2.
01/02/2025 13:59:43:058 IsLegacyAccountReuseSetInRegistry returning: 'FALSE''.
01/02/2025 13:59:43:074 NetpDsValidateComputerAccountReuseAttempt: returning NtStatus: c0000022, NetStatus: 5
01/02/2025 13:59:43:074 NetpDsValidateComputerAccountReuseAttempt: returning Result: FALSE
01/02/2025 13:59:43:074 NetpCheckIfAccountShouldBeReused: Active Directory Policy check with SAM_DOMAIN_JOIN_POLICY_LEVEL_V2 returned NetStatus:0x5.
01/02/2025 13:59:43:074 NetpCheckIfAccountShouldBeReused:fReuseAllowed: FALSE, NetStatus:0x0
01/02/2025 13:59:43:074 NetpModifyComputerObjectInDs: Account exists and re-use is blocked by policy. Error: 0xaac
01/02/2025 13:59:43:074 NetpProvisionComputerAccount: LDAP creation failed: 0xaac
01/02/2025 13:59:43:074 ldap_unbind status: 0x0
01/02/2025 13:59:43:074 NetpJoinCreatePackagePart: status:0xaac.
01/02/2025 13:59:43:074 NetpJoinDomainOnDs: Function exits with status of: 0xaac
01/02/2025 13:59:43:074 NetpJoinDomainOnDs: status of disconnecting from '\\dc.domain.local': 0x0
01/02/2025 13:59:43:074 NetpResetIDNEncoding: DnsDisableIdnEncoding(RESETALL) on 'domain.local' returned 0x0
01/02/2025 13:59:43:074 NetpJoinDomainOnDs: NetpResetIDNEncoding on 'domain.local': 0x0
01/02/2025 13:59:43:074 NetpDoDomainJoin: status: 0xaac
Um das Problem mit der Sicherheitsrichtlinie zu beheben, kann eine neue GPO für die Domain Controller erstellt werden, welche die Wiederverwendung von bereits erstellten Computerkonten erlaubt.
Für die Gruppenrichtlinie wird zunächst eine neue Gruppe benötigt, über diese Gruppe werden die Konten berechtigt, welche Computerkonten wiederverwenden dürfen. Ich habe die Gruppe „Allow_Reuse_Computer_Accounts“ genannt:
Die Accounts, welche Computerkonten erstellen und die Benutzerkonten welche Computerkonten wiederverwenden, also Clients zur Domain hinzufügen, werden als Mitglieder der neuen Gruppe eingetragen:
Jetzt wird eine neue Gruppenrichtlinie erstellt. Die neue Gruppenrichtlinie habe ich „Domain Controller Allow Reuse Computer Accounts“ genannt:
In der Gruppenrichtlinie kann nun die folgende Einstellung aktiviert werden:
- Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> Domain Controller: Allow Computer account re-use during domain join
In der Einstellung wird nun die Gruppe „Administrators“ gelöscht und die zuvor erstellte Gruppe hinzugefügt:
Zusätzlich muss die neue Gruppe auf für die folgende Einstellung eingetragen werden:
- Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> Network Access: Restricts clients allowed to make calls to SAM
Die neue Gruppenrichtlinie muss zum Schluss mit der Organisationseinheit „Domain Controller“ verbunden werden:
Nach Anwenden der Gruppenrichtlinie können die Mitglieder der Gruppe Computerkonten wiederverwenden, bzw. überhaupt wieder Clients zum Active Directory hinzufügen.
Danke für den Beitrag. Kann man das ganze auch auf lokale Ebene runterbrechen – also in die dortige lokale Gruppenrichtlinie?
Verstehe nicht so ganz, weshalb man Computerkonten wiederverwenden sollte. Wir löschen sie grundsätzlich, bevor wir den gleichen Hostname wiederverwenden.