Fehlermeldung ADPREP /RODCPREP oder DCDIAG ForestDnsZones und DomainDnsZone

Problem:
Beim Durchführen des ADPREP-Befehls kommt es zu folgender Fehlermeldung:
Adprep konnte kein Replikat für Partition DC=ForestDnsZones,DC=Root-Domäne erreichen.
ADPREP hat einen LDAP-Fehler festgestellt.
Fehlercode: 0x0. Erweiterter Server-Fehlercode: 0x0, Server-Fehlermeldung:(null).

und

Adprep konnte kein Replikat für Partition DC=DomainDnsZones,DC=Domäne,DC=de erreichen.
ADPREP hat einen LDAP-Fehler festgestellt.
Fehlercode: 0x0. Erweiterter Server-Fehlercode: 0x0, Server-Fehlermeldung:(null).


der Fehler kann aber auch beim ausführen des Befehls DCDIAG auffallen, der sich wie folgt äußert:
Starting test: NCSecDesc
Fehler: NT-AUTORITÄT\DOMÄNENCONTROLLER DER ORGANISATION besitzt
keine Replicating Directory Changes In Filtered Set
Zugriffsrechte für den Namenskontext:
DC=DomainDnsZones,DC=Domäne,DC=TLD
Fehler: NT-AUTORITÄT\DOMÄNENCONTROLLER DER ORGANISATION besitzt
keine Replicating Directory Changes In Filtered Set
Zugriffsrechte für den Namenskontext:
DC=ForestDnsZones,DC=Domäne,DC=TLD
.................. DCON01 hat den Test NCSecDesc nicht bestanden.


Lösung:
Beim Verschieben und Neuerstellen der FSMO-Rollen auf einem anderen Server werden die Anwendungspartitionen ForestDnsZones und DomainDnsZone nicht angepaßt. Dadurch wird der neue Infrastructuremaster nicht in diese Partitionen übernommen und es kommt zu den Fehlermeldungen.
Da Microsoft weder einen Hinweis noch einen Protokoll-Eintrag zur Verfügung stellt, muß man hier manuell auf die Änderung durchführen, bzw. ein von Microsoft veröffentlichtes Skript verwenden.
Hier das Skript, dass bei mir zum erfolgreichen Umzug des "RoleOwners" für beide Partitionen geführt hat:
-------fixfsmo.vbs------------------
const ADS_NAME_INITTYPE_GC = 3
const ADS_NAME_TYPE_1779 = 1
const ADS_NAME_TYPE_CANONICAL = 2

set inArgs = WScript.Arguments

if (inArgs.Count = 1) then
' Assume the command line argument is the NDNC (in DN form) to use.
NdncDN = inArgs(0)
Else
Wscript.StdOut.Write "usage: cscript fixfsmo.vbs NdncDN"
End if

if (NdncDN <> "") then

' Convert the DN form of the NDNC into DNS dotted form.
Set objTranslator = CreateObject("NameTranslate")
objTranslator.Init ADS_NAME_INITTYPE_GC, ""
objTranslator.Set ADS_NAME_TYPE_1779, NdncDN
strDomainDNS = objTranslator.Get(ADS_NAME_TYPE_CANONICAL)
strDomainDNS = Left(strDomainDNS, len(strDomainDNS)-1)

Wscript.Echo "DNS name: " & strDomainDNS

' Find a domain controller that hosts this NDNC and that is online.
set objRootDSE = GetObject("LDAP://" & strDomainDNS & "/RootDSE")
strDnsHostName = objRootDSE.Get("dnsHostName")
strDsServiceName = objRootDSE.Get("dsServiceName")
Wscript.Echo "Using DC " & strDnsHostName

' Get the current infrastructure fsmo.
strInfraDN = "CN=Infrastructure," & NdncDN
set objInfra = GetObject("LDAP://" & strInfraDN)
Wscript.Echo "infra fsmo is " & objInfra.fsmoroleowner

' If the current fsmo holder is deleted, set the fsmo holder to this domain controller.

if (InStr(objInfra.fsmoroleowner, "\0ADEL:") > 0) then

' Set the fsmo holder to this domain controller.
objInfra.Put "fSMORoleOwner", strDsServiceName
objInfra.SetInfo

' Read the fsmo holder back.
set objInfra = GetObject("LDAP://" & strInfraDN)
Wscript.Echo "infra fsmo changed to:" & objInfra.fsmoroleowner

End if

End if

gestartet wird das ganze dann wie folgt (Anpassung des Domänennames ist nötig - hier als Beispiel: contoso.com):
cscript fixfsmo.vbs DC=DomainDnsZones,DC=contoso,DC=com


Quellen für weitere Informationen bzw. manuellen Umzug der Rolle:
smtp25.blogspot.com: Replicating Directory Changes in Filtered Set access rights for the naming context
dikmenoglu.de: DCDIAG: NCSecDesc Fehler
dikmenoglu.de: Die Infrastrukturmaster der Anwendungsverzeichnispartitionen
Microsoft KB949257: Error message when you run the "Adprep /rodcprep" command in Windows Server 2008: "Adprep could not contact a replica for partition DC=DomainDnsZones,DC=Contoso,DC=com"

Profil anlegen über VPN ohne DC Kontakt bei Anmeldung

Der Eintrag ist jetzt keine Wirkliche Problemlösung eher ein kleiner Trick , in meinem Job kann es vorkommen das für einen Außendienstmitarbeiter ein neues Profil auf dem Rechner angelegt werden muss. Wenn z.B. das lokale Profil defekt ist oder ein Kollege die Anpassung des Laptops auf den User verschlafen hat ;-) Nun stellt sich die Frage wie legt man ein lokales Profil an wenn man keinen Kontakt zum DC (Domain Controller) bei der Anmeldung hat ?

Ich hab es so gelöst :

Man meldet sich mit einem beliebigen lokalen User an dem Laptop an und startet eine VPN Verbindung ins Firmennetz , wenn diese steht führt man ein Programm mit dem "Ausführen als" Dialog aus , Windows XP legt in diesem Schritt das Profil des User auf der lokalen HDD mit den aktuellen Kontoinformationen an. Nun meldet man den lokalen User ab und man kann sich mit dem AD User ohne Probleme anmelden.

Weiterführende Links :

Aktivieren von RunAs

Alternativ dazu kann natürlich auch die Kommandozeile diese Aufgabe erfüllen -> RunAs

ActiveDirectory kein Zugriff / DNS-Zonen werden nicht geladen / Global Catalog Event 1026

Problem:
Sie können sich nicht mehr an Ihrer Domäne anmelden. Die DNS-Zonen werden nicht mehr angezeigt.
In der Ereignisanzeige überschlagen sich die Meldungen wie folgt:

1869 - Active Directory has located a global catalog in the following site....
1655 - Active Directory attempted to communicate with the following global catalog and the attempts were unsuccessful... Additional Data Error value: 5 Access is denied.
1126 - Active Directory was unable to establish a connection with the global catalog.... Additional Data Error value:
8430 The directory service encountered an internal failure. / Internal ID: 3200c89

Es ist keine DNS-Auflösung möglich hier fallen vorallem folgende Events beim Starten des DNS-Servers auf:
Ereigniskennung 4000
Beschreibung: Der DNS-Server konnte Active Directory nicht öffnen. Dieser DNS-Server ist für die Verwendung von Informationen vom Verzeichnis für diese Zone konfiguriert und kann die Zone ohne es nicht laden. Stellen Sie sicher, dass das Active Directory ordnungsgemäß funktioniert, und laden Sie die Zone neu. Die Ereignisdaten enthalten den Fehlercode.
-und-
Ereignis-ID 4013
Der DNS-Server konnte das Active Directory nicht öffnen. Dieser DNS-Server wurde für die Verwendung von Verzeichnisdienstinformationen konfiguriert und kann ohne Zugriff zu dem Verzeichnis nicht fehlerfrei ausgeführt werden. Der DNS-Server wird so lange angehalten, bis das Verzeichnis gestartet wird. Sollte der Server gestartet worden sein und das Ereignis ist nicht protokolliert worden, so wird der Server angehalten, bis das Verzeichnis gestartet wird.


Lösung:
Das Problem ist, dass die DNS-Zonen nicht mehr aus der ActiveDirectory-Datenbank ausgelesen werden können, da der gesicherte Kanal zwischen AD und DNS nicht mehr funktioniert. Sollte die Kommunikation zwischen den beiden Diensten einige Zeit nicht stattfinden, dann können sie nicht mehr aufeinander zugreifen. Man muß diesen Kanal bzw. das Passwort neu initialisieren. Hierzu gibt es den Befehl "NLTEST", der bei den Support Tools integreiert ist.

1.) Support Tools für die entsprechende Serverversion herunterladen und installieren
2.) Folgenden Befehl ausführen:
nltest /sc_change_pwd:domain.name

wobei domain.name der FQDN der Domäne ist (z.B.: test.local)


Es ist KEIN Neustart des Servers nötig. Danach ist der DNS-Dienst wieder verfügbar. Bitte noch Dateireplikation und Verzeichnisreplikation überprüfen und ggf. die Dienste neu starten.

Quelle: eggheadcafe.com: Active Directory DNS broken, NTDS Global Catalog error 1126

Download Support Tools Server 2003: Microsoft: Windows Server 2003 Service Pack 2 32-bit Support Tools

Download Support Tools Server 2000: Microsoft: Windows 2000 Service Pack 4 Support Tools

Fehler beim Zugriff einer Serverfreigabe über den DNS-Alias (CNAME)

Problem:
Es wird folgende Fehlermeldung angezeigt, wenn ein Clientcomputer eine Freigabe (z.B. Logon-Skript) auf einem Dateiserver über den Alias-Namen (DNS CNAME) zu öffnen versucht:
Systemfehler 52 ist aufgetreten.
Ein doppelter Name ist in dem Netzwerk vorhanden.

Lösung:
1.) Erstellen Sie den CNAME-Eintrag für den Dateiserver auf dem entsprechenden DNS-Server, wenn der CNAME-Eintrag nicht bereits vorhanden ist.
2.) Wenden Sie auf dem Dateiserver die folgende Registrierungsänderung an.Starten Sie den Registrierungseditor (Regedt32.exe).
3.) Suchen Sie den folgenden Registrierungsschlüssel und klicken Sie darauf
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters

4.) Klicken Sie in dem Menü "Bearbeiten" auf "Wert hinzufügen", und fügen Sie dann den folgenden Registrierungswert hinzu:
Wertname: DisableStrictNameChecking
Datentyp: REG_DWORD
Basis: Dezimal
Wert: 1
5.) Beenden Sie den Registrierungseditor und starten Sie den Dateiserver neu

Quelle: Microsoft KB Artikel-ID: 281308

Event 2103 - AD-Datenbank wurde anhand eines Verfahrens nicht unterstützte Wiederherstellung wiederhergestellt

Problem
Nach einem Restore eines DCs aus einem Snapshot oder ähnlichen Wiederherstellungsvorgängen wird im Eventlog folgender Eintrag protokolliert:

Ereignistyp: Fehler
Ereignis Quelle: NTDS Allgemein
Ereigniskategorie: Steuerung
Ereignis-ID: 2103
Beschreibung: Die Active Directory-Datenbank wurde anhand eines Verfahrens nicht unterstützte Wiederherstellung wiederhergestellt. Active Directory können Benutzer anmelden, während das Problem weiterhin besteht. Als Ergebnis wurde der Netlogon-Dienst angehalten. Benutzer Aktion Siehe vorherige Ereignisprotokolle Einzelheiten. Weitere Informationen finden Sie im Hilfe- und Supportcenter unter http://support.microsoft.com.


Wenn man eine manuelle Replikation unter AD Standort und Dienste durchführt erhält man die Fehlermeldung:

Der Quellserver nimmt keine Replikationsanforderung entgegen


Lösung
Durch die "unspupportete" Wiederherstellung der AD Datenbank wird diese als "not writeable" gesetzt und es ist keine Replikation möglich. Mit folgendem Workaround kann man die Replikation wieder ans laufen bekommen...

HKLM\System\CurrentControlSet\Services\NTDS\Parameters
?“Dsa Not Writable” von 4 auf 0 setzen
?REG_DWORD “Ignore USN Rollback” anlegen und auf 0 setzen (Damit wird ein erneutes Auftreten des Fehlers unterdrückt)

Server neu starten (NetLogon sollte nun laufen)

Replikation wieder aktivieren:
?repadmin /options “Servername” -DISABLE_OUTBOUND_REPL
?repadmin /options “Servername” -DISABLE_INBOUND_REPL

Quellen:
How to resolve ActiveDirectory_DomainService event 2103 USN Rollback
Hyper-V, ADS-Controller und angewendete Snapshots [Update]

Tombstone abgelaufen

Problem:

Replikation zwischen DCs wurde beendet aufgrund der abgelaufenen Tombstone-Zeit

Lösung:

Zur Replizierung ist es nötig einen Registry-Eintrag einzufügen/ändern, damit der DC wieder die Replizierung von einem abgelaufenen DC annimmt.

Click Start, click Run, type regedit, and then click OK.

Navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters

In the details pane, create or edit the registry entry as follows:

If the registry entry exists in the details pane, modify the entry as follows:

In the details pane, right-click Allow Replication With Divergent and Corrupt Partner, and then click Modify.

In the Value data box, type 1, and then click OK.

If the registry entry does not exist, create the entry as follows:

Right-click Parameters, click New, and then click DWORD Value.

Type the name Allow Replication With Divergent and Corrupt Partner, and then press ENTER.

Double-click the entry. In the Value data box, type 1, and then click OK.

Reset the Registry to Protect Against Outdated Replication

When you are satisfied that lingering objects have been removed and replication has occurred successfully from the source domain controller, edit the registry to return the value in Allow Replication With Divergent and Corrupt Partner to 0.

Technet-Link: Event ID 2042 - If a domain controller has not replicated with its partner for longer than a tombstone lifetime
“Das einzig sichere System müsste ausgeschaltet, in einem versiegelten und von Stahlbeton ummantelten Raum und von bewaffneten Schutztruppen umstellt sein.”
Gene Spafford (Sicherheitsexperte)