Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel enthält Hilfe zum Beheben eines Problems, bei dem DNS-Zonenübertragungsoptionen zurückgesetzt werden, nachdem Sie den Zonenreplikationsbereich geändert haben.
Ursprüngliche KB-Nummer: 4050194
Problembeschreibung
Stellen Sie sich folgendes Szenario vor:
Eine Domäne mit dem Namen contoso.com enthält zwei Domänencontroller, DC1.contoso.com und DC2.contoso.com.
Beide Domänencontroller sind DNS-Server (Domain Name System), die die
Contoso.com
Zone hosten.Der Bereich für die Zonenreplikation wird auf den folgenden Wert festgelegt:
Für alle Domänencontroller in der Domäne (für Windows 2000-Kompatibilität):
contoso.com
Die contoso.com Zone auf DC1 und DC2 ist so konfiguriert, dass Zonenübertragungen an sekundäre Server zugelassen werden.
Sie legen den Zonenreplikationsbereich auf den folgenden Wert fest:
Für alle DNS-Server, die auf Domänencontrollern in dieser Domäne ausgeführt werden:
contoso.com
Diese Änderung wird in DC2 repliziert, und dann wird die contoso.com Zone vom DNS-Dienst auf DC2 neu geladen.
In diesem Szenario werden die Zonenübertragungseinstellungen für DC2 entfernt. Folgende Änderungen werden vorgenommen:
Das Kontrollkästchen "Zonenübertragungen zulassen" ist deaktiviert.
Die Liste der Server, auf die die Zonenübertragung zuvor zulässig war, wird entfernt. Die Serverwerte werden auch aus der Registrierung entfernt.
Notiz
Wenn dieses Problem auftritt, sind die Zonenübertragungseinstellungen auf DC1 nicht betroffen.
Ursache
Dieses Problem tritt auf, da das vorhandene Zonenobjekt aus der Partition gelöscht wird und ein neues Objekt in der entsprechenden Partition erstellt wird, wenn der Replikationsbereich geändert wird. Diese Änderung wird auf allen Domänencontrollern repliziert.
Wenn der Abrufthread auf DC2 die Änderung von der neuen Partition abruft, werden die Registrierungseinstellungen zurückgesetzt. Die Zonenübertragung ist deaktiviert, da der Wert von SecureSecondaries auf 3 festgelegt ist. Außerdem werden alle konfigurierten Server in der Zonenübertragungsliste entfernt, da der Wert "SecondaryServers " entfernt wird. Aus DNS-Sicht ähnelt dieser Prozess dem Erstellen einer neuen Zone in einer anderen Partition.
Lösung
Bevor Sie den Replikationsbereich ändern, beachten Sie die Zonenübertragungseinstellungen. Konfigurieren Sie die Zonenübertragungseinstellungen neu, nachdem der Replikationsbereich geändert wurde.
Sie können auch die folgenden Skripts verwenden, um die Einstellungen zu sichern und wiederherzustellen.
Notiz
Diese Skripts werden auf der Basis von "as-is" bereitgestellt. Es wird empfohlen, diese Skripts gründlich zu testen, bevor Sie sie in einer Produktionsumgebung verwenden.
Sicherungsskript
Speichern Sie den folgenden Code als Datei mit dem Namen BackupZoneTransferSettings.ps1.
# Begin Script
param([string]$ZoneName = "test2.com")
#Build the vars
$TargetRoot = "HKCU:\DNSZoneConfigMigration\"
$TargetKeyPath = $TargetRoot
$SourceRoot = "HKLM:\Software\Microsoft\Windows Nt\CurrentVersion\DNS Server\Zones\"
$SourceKeyPath = $SourceRoot + $ZoneName
#Copy the Item
#Check for the presence of the item
Get-Item HKCU:\DNSZoneConfigMigration -ErrorAction SilentlyContinue >$null
if($?)
{
"DNSZoneConfigMigration key present already!"
}
else
{
New-Item -Path HKCU:\DNSZoneConfigMigration -ErrorAction SilentlyContinue >$null
}
if($?)
{
Copy-Item -Path $SourceKeyPath -Destination $TargetKeyPath -ErrorAction SilentlyContinue >$null
if($?)
{
"Key backed up in registry (Current User Hive) successfully!"
}
else
{
"Key Backup Failed.Error Code is " + $Error[0].Exception.Message
}
}
else
{ "Unable to Create Backup Key.Error code is " + + $Error[0].Exception.Message + ".Exiting"
}
# End Script
Skript wiederherstellen
Speichern Sie den folgenden Code als Datei mit dem Namen "RestoreZoneTransferSettings.ps1".
# Begin Script
param([string]$ZoneName = "test2.com")
#Build the vars
$SourceRoot = "HKCU:\DNSZoneConfigMigration\"
$SourceKeyPath = $SourceRoot + $ZoneName
$DestinationRoot = "HKLM:\Software\Microsoft\Windows Nt\CurrentVersion\DNS Server\Zones\"
$DestinationKeyPath = $DestinationRoot + $ZoneName
#Copy the ItemProperty Values
Copy-ItemProperty -Path $SourceKeyPath -Destination $DestinationKeyPath -Name "SecureSecondaries" -ErrorAction SilentlyContinue >$null
if($?)
{
"SecureSecondaries Value Successfully Restored for " + $ZoneName
Copy-ItemProperty -Path $SourceKeyPath -Destination $DestinationKeyPath -Name "SecondaryServers" -ErrorAction SilentlyContinue >$null
if($?)
{
"SecondaryServers Value Successfully Restored for " + $ZoneName "Restore Successful! Deleting the backup" Remove-Item -Path $SourceKeyPath
if(-Not $?)
{
"Unable to Delete Backup Key. Delete Manually. Error :" + $Error[0].Exception.Message
}
}
else
{
"Failed to restore SecondaryServers value. " + $Error[0].Exception.Message
}
}
else
{
"Failed to restore SecureSecondaries value. " + $Error[0].Exception.Message
}
# End Script
Das Sicherungsskript sichert die Zonenübertragungseinstellungen für eine bestimmte Zone. (Aus Gründen der Einfachheit wird die Sicherung in der Registrierung unter der HKEY_CURRENT_USER
Struktur gespeichert.)
Notiz
Sie können das PowerShell-Cmdlet Set-ExecutionPolicy ausführen, um nicht signierte Skripts zuzulassen.
Der zweite Befehl (hervorgehoben) im folgenden Screenshot erstellt eine Sicherung der Zonenübertragungseinstellungen für die Zone mit dem Namen "test3.com".
Wo die Einstellungen in der Registrierung gesichert werden
Ausführen des Skripts zum Wiederherstellen der Zonenübertragungseinstellungen (das Wiederherstellungsskript stellt nur diese beiden Werte wieder her)
Zonenübertragungseinstellungen in der Registrierung vor dem Wiederherstellungsvorgang
Zonenübertragungseinstellungen in der Registrierung nach dem Wiederherstellungsvorgang
Notiz
Nachdem Sie das Wiederherstellungsskript ausgeführt haben, müssen Sie den DNS-Dienst neu starten, um die Änderungen anzuwenden.
Weitere Informationen
Speicher für Zonenübertragungseinstellungen
Die Zonenübertragungseinstellungen werden in der Registrierung auf dem DNS-Server im folgenden Pfad gespeichert:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DNS Server\Zones\<domain name>
Wenn die Zonenübertragung auf bestimmte Server oder IP-Adressen festgelegt ist, werden die folgenden Werte aufgefüllt:
- SecureSecondaries ist auf 0x2 festgelegt. Dies entspricht der Option "Nur für die folgenden Server ".
- Ein Mehrfachzeichenfolgenwert namens SecondaryServers wird mithilfe der IP-Adressen der Server erstellt.
Einstellungen
Registrierung
Notiz
Die Zonenübertragungseinstellungen werden nicht in Active Directory gespeichert. Daher werden die Einstellungen nicht als Teil der Active Directory-Replikation repliziert.
DS-Umfragethread
Der DNS-Dienst verwaltet einen DS-Abrufthread, der in regelmäßigen Abständen Partitionen abruft und die Liste aller Zonen abruft. Weitere Informationen finden Sie unter Wie oft überprüft der DNS-Serverdienst AD auf neue oder geänderte Daten?
Standardmäßig fragt der DNS-Dienst Active Directory für Änderungen alle 180 Sekunden ab (3 Minuten). Sie können diesen Prozess steuern, indem Sie den Registrierungsschlüssel "DsPollingInterval " oder den Dnscmd /dspollinginterval-Switch verwenden.
Notiz
Der Schalter akzeptiert Werte von 0 bis 3.600 Sekunden. Werte von 1 bis 29 sind jedoch nicht zulässig. Der minimal zulässige Wert beträgt 30 Sekunden.
Weitere Informationen finden Sie in der Dnscmd-Konfiguration.