Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makale, bölge çoğaltma kapsamını değiştirdikten sonra DNS bölgesi aktarım seçeneklerinin sıfırlanması sorununu çözmeye yardımcı olur.
Özgün KB numarası: 4050194
Belirtiler
Aşağıdaki senaryoyu değerlendirin:
contoso.com adlı bir etki alanı, DC1.contoso.com ve DC2.contoso.com olmak üzere iki etki alanı denetleyicisi içerir.
Her iki etki alanı denetleyicisi de bölgeyi barındıran Etki Alanı Adı Sistemi (DNS) sunucularıdır
Contoso.com
.Bölge çoğaltma kapsamı aşağıdaki değere ayarlanır:
Etki alanındaki tüm etki alanı denetleyicilerine (Windows 2000 uyumluluğu için):
contoso.com
DC1 ve DC2 üzerindeki contoso.com bölgesi, ikincil sunuculara Bölge aktarımlarına izin ver olarak yapılandırılır.
Bölge çoğaltma kapsamını aşağıdaki değere ayarlarsınız:
Bu etki alanındaki etki alanı denetleyicilerinde çalışan tüm DNS sunucularına:
contoso.com
Bu değişiklik DC2'ye çoğaltılır ve ardından contoso.com bölgesi DC2'de DNS hizmeti tarafından yeniden yüklenir.
Bu senaryoda DC2'deki bölge aktarımı ayarları kaldırılır. Aşağıdaki değişiklikler gerçekleşir:
Bölge aktarımları için izin ver onay kutusu temizlendi.
Daha önce bölge aktarımına izin verilen sunucuların listesi kaldırılır. Sunucu değerleri de kayıt defterinden kaldırılır.
Not
Bu sorun oluştuğunda, DC1'de bölge aktarım ayarları etkilenmez.
Neden
Bu sorun, var olan bölge nesnesi bölümden silindiği ve çoğaltma kapsamı değiştirildiğinde ilgili bölümde yeni bir nesne oluşturulduğu için oluşur. Bu değişiklik tüm etki alanı denetleyicilerinde çoğaltılır.
DC2'de yoklama iş parçacığı değişikliği yeni bölümden çektiğinde için kayıt defteri ayarları sıfırlanır. SecureSecondaries değeri 3 olarak ayarlandığından bölge aktarımı devre dışı bırakıldı. Ayrıca, SecondaryServers değeri kaldırıldığından, bölge aktarımı listesindeki yapılandırılmış sunucular kaldırılır. DNS açısından bakıldığında, bu işlem farklı bir bölümde yeni bölge oluşturmaya benzer.
Çözüm
Çoğaltma kapsamını değiştirmeden önce bölge aktarımı ayarlarını not edin. Çoğaltma kapsamı değiştirildikten sonra bölge aktarımı ayarlarını yeniden yapılandırın.
Ayarları yedeklemek ve geri yüklemek için aşağıdaki betikleri de kullanabilirsiniz.
Not
Bu betikler olduğu gibi sağlanır. Bu betikleri üretim ortamında kullanmadan önce kapsamlı bir şekilde test etmenizi öneririz.
Yedekleme betiği
Aşağıdaki kodu BackupZoneTransferSettings.ps1 adlı bir dosya olarak kaydedin.
# 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
Betiği geri yükleme
Aşağıdaki kodu RestoreZoneTransferSettings.ps1 adlı bir dosya olarak kaydedin.
# 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
Yedekleme betiği, belirli bir bölge için bölge aktarım ayarlarını yedekler. (Kolaylık olması için yedekleme, hive altındaki HKEY_CURRENT_USER
kayıt defterinde depolanır.)
Not
İmzasız betiklere izin vermek için Set-ExecutionPolicy PowerShell cmdlet'ini çalıştırabilirsiniz.
Aşağıdaki ekran görüntüsündeki ikinci komut (vurgulanmış), "test3.com" adlı bölge için bölge aktarım ayarlarının yedeğini alır.
Ayarların kayıt defterinde yedeklendiği yer
Bölge aktarım ayarlarını geri yüklemek için betiği çalıştırma (geri yükleme betiği yalnızca bu iki değeri geri yükler)
Geri yükleme işleminden önce kayıt defterindeki bölge aktarımı ayarları
Geri yükleme işleminden sonra kayıt defterinde bölge aktarımı ayarları
Not
Geri yükleme betiğini çalıştırdıktan sonra, değişiklikleri uygulamak için DNS hizmetini yeniden başlatmanız gerekir.
Daha Fazla Bilgi
Bölge aktarım ayarları depolama
Bölge aktarım ayarları, DNS sunucusundaki kayıt defterinde aşağıdaki yolda depolanır:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DNS Server\Zones\<domain name>
Bölge aktarımı belirli sunuculara veya IP adreslerine ayarlandığında aşağıdaki değerler doldurulur:
- SecureSecondaries, 0x2 olarak ayarlanır. Bu, Yalnızca aşağıdaki sunucular seçeneğine karşılık gelir.
- SecondaryServers adlı çok dizeli bir değer, sunucuların IP adresleri kullanılarak oluşturulur.
Ayarlar
Kayıt Defteri
Not
Bölge aktarımı ayarları Active Directory'de depolanmaz. Bu nedenle, ayarlar Active Directory çoğaltmasının bir parçası olarak çoğaltılamaz.
DS yoklama iş parçacığı
DNS hizmeti, bölümleri düzenli aralıklarla yoklayan ve tüm bölgelerin listesini alan bir DS yoklama iş parçacığı tutar. Daha fazla bilgi için bkz. DNS Sunucusu Hizmeti Yeni veya Değiştirilmiş Veriler için AD'yi Ne Sıklıkta Denetler?
Varsayılan olarak, DNS hizmeti 180 saniyede bir (3 dakikada bir) Active Directory'de değişiklik yoklar. DsPollingInterval kayıt defteri anahtarını veya dnscmd /dspollinginterval anahtarını kullanarak bu işlemi denetleyebilirsiniz.
Not
anahtar, 0 ile 3.600 saniye arasında değerleri kabul eder. Ancak, 1 ile 29 değerlerine izin verilmez. Kabul edilebilir en düşük değer 30 saniyedir.
Daha fazla bilgi için bkz . Dnscmd yapılandırması.