Çoklu Etki Alanı Ormanında Get-AdUser


Aktif dizinde birden fazla etki alanının ve alt etki alanlarının yapılandırılmış olduğu bir kuruluşta, tüm kullanıcıları büyük bir aktif dizin ormanında listelemek çok zorlaşır.

Get-AdUser cmdlet'i yalnızca kullanıcının o anda oturum açmış olduğu geçerli etki alanındaki kullanıcıları döndürür. Çok alanlı ormandaki veya ormanın tamamındaki get-aduser çözümü Get-AdDomainController cmdlet'i kullanılarak yapılabilir.

Bu makalede, çok alanlı ormanda aduser almanın veya ormanın tamamındaki kullanıcıların listesinin nasıl alınacağını ve kullanıcı listesinin CSV dosyasına nasıl aktarılacağını açıklayacağım.

Farklı etki alanlarından veya çok etki alanlı ormanlardan aktif dizin kullanıcılarının bir listesini almak için Get-Domain, Get-AdUser ve Get-AdDomainController cmdlet'lerine ihtiyacımız olacak.

Aşağıdaki örneklerde PowerShell kullanarak ormanın tamamında aduser elde etmeyi anlayalım.

Çok Alanlı Ormanda Get-AdUser

Kullanıcıları çok etki alanlı bir ormana almak için, aktif dizin ormanındaki toplam etki alanlarını bulun. Etki alanını kullanarak, aktif dizin ormanında etki alanı denetleyicilerinin listesini bulun.

Etki alanı denetleyicilerinin bir listesine sahip olduğunuzda, Get-AdUser kullanarak aduser cmdlet'ini bulun.

Tüm ormanda aduser elde etmek için aşağıdaki betiği çalıştırın

# Get Domain in Active Directory Forest
$Domains = (Get-ADForest).Domains

#Get Domain Controller list
$DClist = ForEach ($Domain in $Domains) 
{
Get-ADDomainController -DomainName $Domain -Discover -Service PrimaryDC | Select -ExpandProperty hostname
}

# Get AdUser from each domain controller.

$ADUsersList = ForEach ($DC in $DClist) 
{
    Get-ADUser -server $DC -Filter * -Properties *
}

$ADUsersList | Export-Csv -Path C:\ADUserList.csv -NoTypeInformation

Yukarıdaki PowerShell betiğinde,

  1. Aktif dizindeki Get-AdForest cmdlet'ini kullanarak bir alan adı listesi alın
  2. Aktif dizindeki Get-AdDomainController cmdlet'ini kullanarak her etki alanı denetleyicisinin Ana Bilgisayar adını almak için ForEach'i kullanarak $Domain üzerinde yineleme yapın
  3. ForEach'i kullanarak, Get-AdUser cmdlet'ini kullanarak etki alanındaki reklam kullanıcısını elde etmek için $DCList üzerinde yineleme yapın
  4. Export-Csv cmdlet'ini kullanarak ormanın tamamındaki ad kullanıcılarının listesini CSV dosyasına aktarın.

Yukarıdaki komutun çıktısı, ormanın tamamındaki aduser listesini CSV dosyasına aktaracaktır.

Önemli Not:

Aşağıdaki gibi Get-AdUser cmdlet'ini kullanarak çok alanlı ortamda aduser almaya çalışırsanız

Get-ADUser -Filter {SamAccountName -eq "Toms"}

Aşağıda bir hata alacaksınız

Get-ADUser : Cannot find an object with identity: 'Toms' under: 'DC=Sales,DC=SHELL,DC=com'.

Bu nedenle, birden fazla alan adındaki reklam kullanıcılarını veya farklı alan adlarındaki kullanıcıları elde etmek için global kataloğu sorgulamanız gerekir. Öncelikle aşağıdaki komutu kullanarak etki alanı denetleyicisinin global katalog olup olmadığını kontrol edin.

Get-ADDomainController -Discover -Service GlobalCatalog

GlobalCatalog niteliklerine sahip alan adlarını True olarak döndürür.

Genel katalog etki alanı denetleyicisine sahip olduğunuzda, etki alanı denetleyicisi adını alabilir ve bunu, aktif dizindeki farklı etki alanlarından veya birden çok etki alanından kullanıcıların bir listesini almak için Get-ADUser'ı kullanabilirsiniz.

Yukarıdaki örnek komut dosyasında, Get-AdUser Server genel katalog etki alanı denetleyicisi, aşağıdaki gibi etki alanındaki ad kullanıcılarının listesini alır

Get-ADUser -server $DC -Filter * -Properties *

Harika İpucu: PowerShell'de search-adaccount cmdlet'i nasıl kullanılır?

Çözüm

PowerShell kullanarak çoklu etki alanı ormanında nasıl aduser oluşturulacağına ilişkin yukarıdaki makalenin size yardımcı olacağını umuyorum.

Reklam kullanıcısını PowerShell'de CSV dosyasına aktarmak için daha fazlasını okuyun.

PowerShell Active Directory komutları ve PowerShell temelleri hakkında daha fazla konuyu ShellGeek ana sayfasında bulabilirsiniz.

İlgili makaleler