PowerShell kullanarak Active Directory Replication sorunlarını giderme


Windows Server 2012’de Microsoft, Active Directory forest ortamındaki replication durumunu yönetmek ve denetlemek için bir dizi PowerShell cmdlet’i ekledi. Bu makalede, bir AD yöneticisinin etki alanı denetleyicileri arasında replication’u denetlemek için kullanabileceği yararlı cmdlet’lere odaklanacağız.

AD replication’u yönetmek ve izlemek için kullanılan cmdlet’ler, Windows PowerShell için Active Directory modülünün bir parçasıdır. RSAT yüklemesinden sonra masaüstü Windows sürümlerinde etkinleştirebilirsiniz. PowerShell oturumunu başlatmak için şu komutu çalıştırın.

Import-Module ActiveDirectory

Not→ Active Directory Module for PowerShell, Windows Server 2012 R2 veya sonraki sürümlerinden başlayarak etki alanı denetleyicilerine otomatik olarak eklenir.

Active Directory modülündeki tam liste replication ile ilgili cmdlet’leri aşağıdaki gibi görüntüleyebilirsiniz.

get-command -module activedirectory -name *ADReplicat*

Belirli etki alanı denetleyicisi için replication hataları hakkında bilgi toplamak için Get-ADReplicationFailure cmdlet’ini kullanın.

Get-ADReplicationFailure -Target DC1

Birden çok DC’yi aynı anda sorgulayabilirsiniz.

Get-ADReplicationFailure -Target DC1,DC2

Bu durumda, 22 Şubat’ta etki alanı denetleyicisi DC2’de (bağlantı hatası) bağlantı sorunu olduğunu görebilirsiniz. Ancak şu anda bir hata yok.

Belirli bir site içinde bulunan tüm DC’lerin replication durumunu hızlı bir şekilde almak için.

Get-ADReplicationFailure -scope site -target Madrid | FT Server, LastError, Partner-Auto

Etki alanındaki veya forest içindeki tüm etki alanı denetleyicileri için ise;

Get-ADReplicationFailure -Target “contoso.local” -Scope Domain

Get-ADReplicationConnection cmdlet’i, geçerli etki alanı denetleyicisinin replication ortakları hakkında bilgi almak için kullanılır.

Get-ADReplicationConnection -Filter *

Belirli bir DC için replication bağlantılarını görüntülemek istiyorsanız, şu komutu çalıştırın.

Get-ADReplicationConnection -Filter {ReplicateToDirectoryServer -eq “DC2”}

Belirli bir objenin etki alanı denetleyicileri arasındaki senkronizasyonunu zorlamak için Sync-ADObject cmdlet’i kullanılır. Örneğin, bir AD nesnesi silindiğinde, AD Recycle Bin OU’suna taşındığında ve geri yüklendiğindeki durumu ele alalım. Nesne geri yüklendikten sonra, Sync-ADObject cmdlet’ini kullanarak kurtarılmış nesnenin tüm etki alanı denetleyicilerine çoğaltılmasını zorlayabilirsiniz.

Get-ADDomainController -filter * | foreach {Sync-ADObject -Object “cn=John Silvia,cn=Users,dc=contoso,dc=local” -source DC1 -Destination $_.hostname}

Get-ADReplicationPartnerMetadata cmdlet, DC’ler ve partnerler arasındaki meta verilerin çoğaltılması hakkında bilgi almanızı sağlar. Örneğin, en son bir partner ile replication denemesinin zamanı ve tüm DC’ler için son başarılı replication zamanı hakkında bilgi almak için aşağıdaki komutu girin.

Get-ADReplicationPartnerMetadata -Target “$env:userdnsdomain” -Scope Domain | Select-Object Server, LastReplicationAttempt, LastReplicationSuccess, Partner

Belirli bir nesnenin replication durumunu alabilirsiniz.

Get-ADReplicationAttributeMetadata -Object “CN=Maggie Skosana,OU=Users,DC=contoso,DC=local” -Server DC1

Get-ADReplicationQueueOperation cmdlet’ini kullanarak , belirli sunucudaki beklemede olan replication işlemlerinin listesini alabilirsiniz.

Get-ADReplicationUpToDatenessVectorTable cmdlet’i, replication partnerleri için USN değerlerinin listesini almayı sağlar.

Get-ADReplicationUpToDatenessVectorTable * | ft Partner,Server,UsnFilter

PowerShell, AD replication izleme ve sorun giderme için güçlü ve kullanışlı bir araçtır. Active Directory replication yönetimi işlerinde repadmin yerine kullanılabilir.

KAYNAKACTIVE DIRECTORY