Powershell ile Active Directory yapınızda kaç kullanıcınız var, bu kullanıcılarla ilgili kaçı aktif, kaçı pasif durumda, hangi OU nun altındalar ve kaç kullanıcınız var gibi bilgilere rahatlıkla ulaşabiliriz.
Active Directory etki alanı kullanıcıları ve özellikleri hakkında bilgi almak için Get-ADUser cmdlet’i kullanabiliriz. Get-ADUser cmdlet’ini kullanarak, Active Directory’de bulunan bir kullanıcı hesabının herhangi bir özelliğinin değerini alabiliriz. Ve daha farklı olarak filtreleme ölçütleri belirtebilir, etki alanı kullanıcılarının ve attribut’lerin listesini oluşturabiliriz.
Get-AdUser cmdlet’ini kullanabilmek için Windows 10 da RSAT’ın uygun sürümünü yüklemek ve Denetim Masası’ndaki Active Directory Module for Windows PowerShell’i etkinleştirmek gerekiyor.
Get-ADUser cmdlet’inin ile neler yapabileceğinizin tam listesi aşağıdaki gibidir.
help Get-ADUser
Tüm AD de bulunan tüm hesaplarının listesini aşağıdaki komutla görebiliriz.
Get-ADUser -filter
NOT: Bu komutu, çok sayıda hesaba sahip etki alanlarında çalıştırmak tavsiye edilmez. DC sunucusuna aşırı yük binebilir.
Komut çıktısında, kullanıcı hesaplarına ait (DN, SamAccountName, Name, SID, vb.) 120’den fazla attribute’lerin yalnızca temel 10 tanesi görüntülenir.
Ve ayrıca, son şifre değişikliğinin zamanı hakkındaki bilgileri göremediğimizi fark etmişsinizdir.
Kullanılabilir tüm kullanıcı özellikleriyle ilgili ayrıntılı bilgileri görüntülemek için şu komutu çalıştırın.
Get-ADUser -identity testuser -properties *
Bu kadar bilgi, belirli attribute’larda işinize yaramayabilir. Sadece ilgilendiğiniz bilgilere ulaşmak için listeyi biraz daraltmanız gerekiyor. Aşağıdaki attribute’lere ait bilgileri görüntülemek istiyorsak eğer;
PasswordExpired
PasswordLastSet
PasswordNeverExpire
Komutumuz şu şekilde olmalı;
Get-ADUser testuser -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires
Bu bölümde neler olacak ?
Bu kısımda karşımıza kullanıcının verisinde son şifre değişiklik tarihi ve son kullanma tarihi ile ilgili bilgiler mevcut olduğunu görüyoruz.
Toplam kullanıcı sayısı için :
(get-aduser –filter ).count
Aktif kullanıcı sayısı için :
(get-aduser -filter *|where {$_.enabled -eq “True”}).count
Aktif olmayan kullanıcı sayısı için :
(get-aduser -filter *|where {$_.enabled -eq “False”}).count
Belirli bir OU altındaki kullanıcı sayısı için :
(Get-ADUser -Filter * -SearchBase “ou=ankara,dc=tolgaceyhan,dc=com”).count
Sonuç olarak Powershell ile AD üzerinde çalıştırıp istediğiniz kriterdeki bilgilere ulaşabilmeniz için birkaç kod paylaştım umarım kullanarak faydasını görürsünüz iyi çalışmalar dilerim kalın sağlıcakla…
Bunların dışında yine powershell ile Network üzerinde Ip taraması hakkında detaylı bilgi için;
PowerShell ile Network Üzerinde İp Taraması Nasıl Yapılır ? isimli makaleme de göz atabilirsiniz..