Gefunden unter https://www.msxfaq.de/konzepte/adminsdholder.htm
AdminSDHolder ist die Ursache für einige Probleme, deren Ursache zunächst verwirrend ist:
Diese Liste ist nicht vollständig.
In einem Active Directory gibt es Administratoren und normale Benutzer. Und es gibt besondere Gruppen, über die ein Benutzer mehr Berechtigungen erhalten kann (wie z.B. Kontenoperatoren). Bei einer ungeschickten Konfiguration könnte dies zu einer Sicherheitslücke führen: Beispiel:
Der Helpdesk-Mitarbeiter könnte so das Kennwort des administrativen Kontos zurücksetzen, sich damit anmelden und Schaden anrichten.
Das Active Directory „schützt“ daher seine Admin-Konten. Dieser Prozess läuft auf jedem DC per Default alle Stunde. Diese Vorgabe kann in der Registrierung angepasst werden.
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters] "AdminSDProtectFrequency"=dword:00000e10
Der Wert wird in Sekunden angegeben und kann zwischen 60 und 7200 (2 Stunde) liegen.
Genau dieser Hintergrundthread sucht regelmäßig nach Objekten in administrativen Gruppen und führt dann vier Dinge aus:
Log Name: Security
Source: Microsoft-Windows-Security-Auditing
Event ID: 4780
Task Category: User Account Management
Level: Information
Keywords: Audit Success
Computer: dc1.msxfaq.de
Description:
The ACL was set on accounts which are members of administrators groups.
Subject:
Security ID: ANONYMOUS LOGON
Account Name: ANONYMOUS LOGON
Account Domain: NT AUTHORITY
Logon ID: 0x3e6
Target Account:
Security ID: MSXFAQ\DC1 $
Account Name: DC1$
Account Domain: DC=msxfaq,DC=de
Additional Information:
Privileges: -
Every hour, the Windows domain controller that holds the primäry domain controller
(PDC) Flexible Single Master Operation (FSMO) role compares the ACL on all security
principal accounts (Users, groups, and machine accounts) present für its domain in
Active Directory and that are in administrative groups against the ACL on the
AdminSDHolder object. If the ACL on the principal account differs from the ACL
on the AdminSDHolder object, then the ACL on the principal account is reset to
match the ACL on the AdminSDHolder object and this event is generated.
Also stellt sich die Frage, welche Gruppen denn als „schützenswert“ zählen.
Windows schützt die eingebauten administrativen Gruppen gegen zu viele Berechtigungen. Dazu sind im Active Directory so genannte Standardrechte hinterlegt die auf gekennzeichnete Objekte immer wieder angewendet werden. Die sind z.B. die Gruppen:
Zusätzlich sind auch noch folgende Benutzer besonders geschützt:
Der Schutz bezieht sich aber nicht nur auf die Gruppen selbst, sondern auch auf die Konten, die Mitglieder dieser Gruppen sind. Dabei wirken sich sogar indirekte Mitgliedschaften über andere Gruppen hinweg aus und auch die Mitgliedschaft über Verteiler aus, also Gruppen ohne SID. Das ist zu beachten, da das Tool „WHOAMI“ solche Verteiler nicht mit berücksichtigt.
<box 90% round #FFFFCC|Hinweis>Der Schutz durch AdminCount ist wichtig, da z.B. Exchange 2010 der Gruppe „Organization Management“ umfangreiche Berechtigungen vergibt, z.B. Um die Mitglieder von Verteilern zu pflegen. Leider wird hier nicht zwischen Gruppen die für Exchange relevant und anderen Gruppen unterschieden. Nur dank AdminSDHolder kann sich also ein Exchange Administrator nicht zum Domänen Administrator aufschwingen.</box>
<box 90% round #FFFFCC|Hinweis> Das Feld „AdminCount“ ist nicht in den GC repliziert. Wer mehrere Domänen hat, muss also nacheinander alle Domains durchlaufen und absuchen. Sh. http://msdn.microsoft.com/en-us/library/windows/desktop/ms675212(v=vs.85).aspx</box>
Mit einer einfachen LDAP-Abfrage können Sie dies z.B. gegen den DC abfragen. Im GC ist das Attribut nicht vorhanden!
REM Export in Textdatei ldifde -d "dc=msxfaq,dc=de" -r "(admincount=*)" -f admincount.txt -l "dn,admincount"
Export auf Bildschirm
dsquery * -filter "(admincount=1)"
In einer PowerShell können diese Informationen über ADSI abgefragt werden (EMC):
# Suche der Adminaccounts in der aktuellen Domain ([adsisearcher]"(AdminCount=1)").findall()
Eine Abfrage mit Softerra LDAP-Browser oder LDP funktionieren genauso. Selbst mit der normalen MMC für Benutzer und Computer können Sie eine passende benutzerdefinierte Suche ausführen:

Bei Exchange 2007 kann auch ein Eventlogeintrag hilfreich sein. Wenn ein Benutzer erstmals ein Postfach bekommt, dann versucht Exchange die Mailbox Security Descriptoren zu setzen. Das funktioniert natürlich auch nicht, wenn der Benutzer keine vererbten Berechtigungen hat. Im Eventlog findet sich dann:
Ereignistyp: Warnung Ereignisquelle: MSExchangeIS Ereigniskategorie: Allgemein Ereignis-ID: 9554 Datum: 12.09.2008 Zeit: 19:22:44 Benutzer: Nicht zutreffend Computer: SRV01 Beschreibung: Die Postfach-SD in der DS konnte nicht aktualisiert werden. Postfach-Guid: 12345678-1234-1234-1234-123456789abd. Fehlercode 0x80070005
Administratoren sollten kein Postfach haben oder Benutzer mit Postfach sollten nie auch Administrator sein.
Möglicherweise ist einfach die Vererbung abgeschaltet. Aber auch dann hilft ADFind http://www.joeware.net/freetools/tools/adfind/ weiter.
adfind -sc aclnoinherit -b "dc=msxfaq,dc=de"
Damit werden am Bildschirm alle Objekte ausgegeben, bei denen die Vererbung deaktiviert ist. Besonders perfide sind natürlich Gruppenmitgliedschaften, die man auf den ersten Blick auch mal übersehen kann.

Auf den ersten Blick fällt hier nicht auf, dass hier jemand irrtümlicherweise die Domänenbenutzer in die lokale Administratoren-Gruppe der Domäne addiert hat.
Function: Set-AdminUser – Clear AdminCount and Enable Security Inheritance \\http://www.ehloworld.com/1621
Das Problem ist natürlich auch Microsoft nicht unbemerkt geblieben, dass Administratoren auch „normale Anwender“ in vielleicht nur temporär administrative Gruppen addieren und die Folgen nicht bedenken. Um solche einen Irrtum rückgängig zu machen, reicht es leider nicht, den Benutzer wieder aus der Gruppe zu entfernen, denn die Änderungen werden dabei nicht rückgängig gemacht. Das Entfernen aus einer Admingruppe ist aber der Anfang der „Reparatur“.
Microsoft selbst hat ein VBScript (resetaccountsAdminSDHolder.vbs im KB Artikel 817433 Delegated permissions are not available and inheritance is automatically disabled) veröffentlicht, um alle Objekte mit „Admincount=1“ zu finden und sowohl die Vererbung wieder zu aktivieren als auch den Admincount auf 0 zu setzen. Es ist ziemlich ungefährlich, dieses Skript zu aktivieren, da der Hintergrundprozess entsprechende Administratoren schnell wieder schützt. Sie können also das Skript starten und einen Stunde später wieder nach dem Admincount suchen, um verbliebene Administratoren zu finden.
Allerdings setzt dieses Skript nicht die Standardrechte zurück. Dies ist aber auf folgenden Wegen möglich:
DSACLS ersetzt auch Rechte auf OUs, d.h. eventuell zur Delegierung von administrativ vergebene Berechtigungen werden ebenfalls entfernt. Verschiedene Programme (z.B. OCS) vergeben auch Berechtigungen an Dienstkonten</box> Daher sollten Sie DSACLS nie auf der kompletten Domäne ausführen, sondern immer nur auf ausgewählte Objekte.
Dsacls <dn> /S /T
Als DN kann entweder direkt ein Objekt oder auch eine OU angegeben werden. Ohne Angabe einer OU werden alle Objekte in der aktuellen Domäne wieder auf die „Standardwerte“ zurückgesetzt. Details hierzu finden Sie auch auf „281146 How to use Dsacls.exe in Windows Server 2003 and Windows 2000“. Leider kann man nicht mit DSQUERY eine Liste der User per STDIN /STDOUT an DSACLS zu senden.
Wenn ein Benutzer z.B. die Vererbung als administratives Konto deaktiviert hat, kommt auch Exchange nicht mehr an das Postfach heran. Das zeigt sich z.B. in einem Eventlogeintrag wie diesem:

Nun müssen Sie natürlich erst das Postfach mit der GUID finden. So einfach ist das nicht, da die Schreibweise hier nicht dem Feldinhalt im AD entspricht. Aber auch hier gib es Hilfe durch das Freeware-Tool ADFIND, welches mit dem passenden Aufruf auch die GUID in der Schreibweise aus dem Eventlog nimmt und nach dem passenden Objekt sucht.
adfind -gc -b "" -binenc -f " msExchMailboxGUID={{GUID: 68821c31-2938-4179-8a6b-96019c1e348c}}" -dn
In der EMC funktioniert die Suche über folgenden Befehl:
Get-Mailbox | fl name,guid > guid.txt
In der Textdatei können Sie dann auch versuchen die GUID zu finden Allerdings ist es mir auch schon passiert, dass ein Objekt nicht gefunden wurde. Ich tippe dann mal auf eine Mailbox, die z.B. „Disconnected“ ist oder von einer Migration als Rest zurück geblieben ist und es daher im Active Directory kein entsprechendes Objekt mehr gibt.
Auch im EWS unterliegen Administratoren weiteren Beschränkungen:
<box 90% round #E8FFDD |Hinweis>
„The calling account cannot be a member of any administrator group.
This permission is explicitly denied to those groups“
Quelle: Configuring Exchange Impersonation (Exchange Web Services)
http://msdn.microsoft.com/en-us/library/exchange/bb204095(v=exchg.80).aspx
</box>
Auch ActiveSync kann davon betroffen sein, da Exchange den Untercontainer nicht mehr anlegen kann.
Auch hier trifft ein AdminSDHolder bei der Migration auf Probleme z.B. beim Verschieben von Benutzern während der Migration von OCS nach Lync.

Auch das „neu Aktivieren“ von Benutzer geht nicht
Die Lync Dienste haben für Administratoren einfach zu wenig Berechtigungen. Auch hier hilft wieder nur die Aussage:
Administrative Benutzer sind keine Regelarbeitskonten mit Postfach, SIP-Adresse o.ä. sondern ausschließlich für die Administration vorgesehen.
Adding Domain or Enterprise Administratoren to Lync Server 2010
http://blog.unplugthepbx.com/2010/09/14/adding-domain-or-enterprise-Administratoren-to-lync-server-2010/