Ç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,
- Aktif dizindeki
Get-AdForestcmdlet'ini kullanarak bir alan adı listesi alın - 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 - ForEach'i kullanarak,
Get-AdUsercmdlet'ini kullanarak etki alanındaki reklam kullanıcısını elde etmek için$DCListüzerinde yineleme yapın - 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 GlobalCatalogGlobalCatalog 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.