- Konu sahibi
- #1
Active Directory grubunun üyelerini listelemek için Windows PowerShell'de ActiveDirectory modülünü yükleyip
Active Directory etki alanına erişebilen bir Windows bilgisayarda Windows PowerShell açın. Dizin bilgilerini okuyabilen bir hesap ve sorgulayacağınız grubun hesap adı gerekir. Önce modülün kullanılabildiğini kontrol edin:
İlk komut modülü listelemiyorsa yönetim araçlarını yükleyin. Windows Server'da yönetici olarak açılmış PowerShell'de aşağıdaki komutu çalıştırabilirsiniz:
Desteklenen Windows istemcilerinde ise yönetici PowerShell oturumunda şu komutu kullanın:
Kurulumdan sonra modülü yeniden içe aktarın. Grubun hesap adından emin değilseniz, aşağıdaki varsayımsal aramada
Sonuçtaki
Aşağıdaki örnekte
Her satır bir doğrudan üyeyi gösterir.
İç içe grupların üyelerini de görmek için aynı sorguya
Örneğin Muhasebe_Erisim grubunun doğrudan üyesi başka bir grupsa, özyinelemeli sorgu o grubun içindeki üyeleri de getirir; ara grup nesnelerini listelemez. Bu nedenle üyeliğin hangi ara grup üzerinden geldiğini bulmak için doğrudan üyeleri listeleyip ilgili alt grubu ayrıca sorgulayın. Liste, tek başına bir kullanıcının belirli bir kaynağa erişebildiğini kanıtlamaz; erişim başka izinlere de bağlıdır.
Başka bir etki alanını veya belirli bir etki alanı denetleyicisini sorgulamanız gerekiyorsa komuta
Örneğin özyinelemeli sonuçları mevcut
Klasör yoksa önce oluşturun; aynı yoldaki mevcut dosyanın üzerine yazılacağını dikkate alın. Dosyayı açarak sütunları ve beklenen üyeleri kontrol edin. Üyelik bilgileri hassas olabileceğinden dosyayı yalnız yetkili kişilerin erişebileceği bir konumda tutun.
Hatasız ama boş bir çıktı, sorgunun döndürdüğü üye bulunmadığı anlamına gelir; doğru grubu ve sunucuyu seçtiğinizi ayrıca doğrulayın. Özyinelemeli sonuçta alt grup adlarının görünmemesi beklenen davranıştır; doğrudan üyelik sorgusuyla karşılaştırın.
Komut tanınmıyorsa modülün kurulumunu ve içe aktarılmasını yeniden kontrol edin. Grup bulunamıyorsa hesap adını veya tam ayırt edici adını ve
Get-ADGroupMember -Identity "GrupAdi" komutunu çalıştırın. Komut doğrudan üyeleri gösterir; iç içe gruplardaki üyeleri de görmek için -Recursive kullanabilirsiniz.Modülü hazırlayın ve grubu bulun
Active Directory etki alanına erişebilen bir Windows bilgisayarda Windows PowerShell açın. Dizin bilgilerini okuyabilen bir hesap ve sorgulayacağınız grubun hesap adı gerekir. Önce modülün kullanılabildiğini kontrol edin:
Kod:
Get-Module -ListAvailable ActiveDirectory
Import-Module ActiveDirectory
İlk komut modülü listelemiyorsa yönetim araçlarını yükleyin. Windows Server'da yönetici olarak açılmış PowerShell'de aşağıdaki komutu çalıştırabilirsiniz:
Kod:
Install-WindowsFeature -Name RSAT-AD-Tools -IncludeAllSubFeature
Desteklenen Windows istemcilerinde ise yönetici PowerShell oturumunda şu komutu kullanın:
Kod:
Add-WindowsCapability -Online -Name Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0
Kurulumdan sonra modülü yeniden içe aktarın. Grubun hesap adından emin değilseniz, aşağıdaki varsayımsal aramada
Muhasebe bölümünü grup adından bildiğiniz bir parçayla değiştirin:
Kod:
Get-ADGroup -Filter 'Name -like "*Muhasebe*"' |
Select-Object Name, SamAccountName, DistinguishedName
Sonuçtaki
SamAccountName grubun hesap adıdır; benzer isimli gruplar varsa DistinguishedName alanından doğru dizin konumunu ayırt edin. Hiç sonuç yoksa arama metnini ve sorgulanan etki alanını kontrol edin.Doğrudan ve iç içe üyeleri listeleyin
Aşağıdaki örnekte
Muhasebe_Erisim yerine kendi grubunuzun hesap adını yazın:
Kod:
Get-ADGroupMember -Identity "Muhasebe_Erisim" |
Select-Object Name, SamAccountName, ObjectClass
Her satır bir doğrudan üyeyi gösterir.
ObjectClass değeri, örneğin üyenin kullanıcı, bilgisayar veya başka bir grup olup olmadığını ayırt etmenizi sağlar. Bir grup satırı görünüyorsa bu ilk komut onun içindeki üyeleri ayrı ayrı açmaz.İç içe grupların üyelerini de görmek için aynı sorguya
-Recursive ekleyin:
Kod:
Get-ADGroupMember -Identity "Muhasebe_Erisim" -Recursive |
Select-Object Name, SamAccountName, ObjectClass
Örneğin Muhasebe_Erisim grubunun doğrudan üyesi başka bir grupsa, özyinelemeli sorgu o grubun içindeki üyeleri de getirir; ara grup nesnelerini listelemez. Bu nedenle üyeliğin hangi ara grup üzerinden geldiğini bulmak için doğrudan üyeleri listeleyip ilgili alt grubu ayrıca sorgulayın. Liste, tek başına bir kullanıcının belirli bir kaynağa erişebildiğini kanıtlamaz; erişim başka izinlere de bağlıdır.
Başka bir etki alanını veya belirli bir etki alanı denetleyicisini sorgulamanız gerekiyorsa komuta
-Server "dc01.ornek.local" ekleyin ve adresi kendi ortamınıza göre değiştirin. Gerekirse -Credential ile dizini okuma yetkisi olan farklı bir hesap kullanın.Listeyi CSV dosyasına kaydedin
Örneğin özyinelemeli sonuçları mevcut
C:\Raporlar klasörüne kaydetmek için şu komutu çalıştırın:
Kod:
Get-ADGroupMember -Identity "Muhasebe_Erisim" -Recursive |
Select-Object Name, SamAccountName, ObjectClass |
Export-Csv -Path "C:\Raporlar\grup-uyeleri.csv" -NoTypeInformation -Encoding UTF8
Klasör yoksa önce oluşturun; aynı yoldaki mevcut dosyanın üzerine yazılacağını dikkate alın. Dosyayı açarak sütunları ve beklenen üyeleri kontrol edin. Üyelik bilgileri hassas olabileceğinden dosyayı yalnız yetkili kişilerin erişebileceği bir konumda tutun.
Sonuç gelmezse veya hata oluşursa
Hatasız ama boş bir çıktı, sorgunun döndürdüğü üye bulunmadığı anlamına gelir; doğru grubu ve sunucuyu seçtiğinizi ayrıca doğrulayın. Özyinelemeli sonuçta alt grup adlarının görünmemesi beklenen davranıştır; doğrudan üyelik sorgusuyla karşılaştırın.
Komut tanınmıyorsa modülün kurulumunu ve içe aktarılmasını yeniden kontrol edin. Grup bulunamıyorsa hesap adını veya tam ayırt edici adını ve
-Server değerini doğrulayın. Bağlantı ya da yetki hatasında etki alanı denetleyicisine erişimi ve kullanılan hesabın dizin okuma yetkisini inceleyin. Sorun sürerse yöneticinize grup hesap adını, hedef sunucuyu, çalıştırılan komutu ve hata metnini iletip bağlantı ile okuma yetkisinin incelenmesini isteyin; parola veya diğer gizli bilgileri paylaşmayın.