Sistem yöneticilerinin vazgeçilmezi olan powershell ile özelikle AD DS yonetimi yapan arkadaşların işini kolaylaştıracak Active Directory üzerindeki kullanıcı sayınızı tespit edebileceğiniz basit bir powershell komutunu sizlerle paylaşmak isterim.

"get-aduser" komutu ve koutun temel kullanımı ile başlamak isterim.

get-aduser

Komutunu çalıştırdığınızda sizden "filter" tanımlamanızı isteyecektir. "*" olarak tanımlama yaparsanız AD DS üzerinde yeni eklenen userların çıktısını alabilirsiniz.

PS C:\Users\emreozanmemis> get-aduser
 
cmdlet Get-ADUser at command pipeline position 1
Supply values for the following parameters:
(Type !? for Help.)
Filter: *

Adım adım gidecek olursak "get-aduser" komutu sonrası filter için " * " giriyoruz. Aşağıdaki şekilde tüm kullanıcıların listesini çıkartıcaktır.

PS C:\Users\emreozanmemis> get-aduser
 
cmdlet Get-ADUser at command pipeline position 1
Supply values for the following parameters:
(Type !? for Help.)
Filter: *
 
 
DistinguishedName : CN=emreozanmemis,CN=Users,DC=1web1medya,DC=com
Enabled           : True
GivenName         :
Name              : emreozanmemis
ObjectClass       : user
ObjectGUID        : 170c2ded-c737-4457-87e6-37f282c53eb4
SamAccountName    : emreozanmemis
SID               : S-1-5-21-1346884540-3007984453-3019941278-500
Surname           :
UserPrincipalName :
 
DistinguishedName : CN=Guest,CN=Users,DC=1web1medya,DC=com
Enabled           : False
GivenName         :
Name              : Guest
ObjectClass       : user
ObjectGUID        : f5bf82ef-6046-40ba-9fa8-80a80924e178
SamAccountName    : Guest
SID               : S-1-5-21-1346884540-3007984453-3019941278-501
Surname           :
UserPrincipalName :
 
DistinguishedName : CN=krbtgt,CN=Users,DC=1web1medya,DC=com
Enabled           : False
GivenName         :
Name              : krbtgt
ObjectClass       : user
ObjectGUID        : fe388b38-b8c5-42df-8cba-1d9e3a218006
SamAccountName    : krbtgt
SID               : S-1-5-21-1346884540-3007984453-3019941278-502
Surname           :
UserPrincipalName :
 
DistinguishedName : CN=test,CN=Users,DC=1web1medya,DC=com
Enabled           : False
GivenName         : test
Name              : test
ObjectClass       : user
ObjectGUID        : 6a58a091-bf06-486b-8579-2ed0d9e289d2
SamAccountName    : test
SID               : S-1-5-21-1346884540-3007984453-3019941278-1104
Surname           :
UserPrincipalName : test@1web1medya.com
 
DistinguishedName : CN=testemre,CN=Users,DC=1web1medya,DC=com
Enabled           : True
GivenName         : testemre
Name              : testemre
ObjectClass       : user
ObjectGUID        : 26e11b8f-ee01-4983-ace7-2879de3af9ea
SamAccountName    : emre
SID               : S-1-5-21-1346884540-3007984453-3019941278-1107
Surname           :
UserPrincipalName : emre@1web1medya.com
 
DistinguishedName : CN=test2,CN=Users,DC=1web1medya,DC=com
Enabled           : True
GivenName         : test2
Name              : test2
ObjectClass       : user
ObjectGUID        : a3853bd3-a800-40cf-b7aa-8537c78e62b4
SamAccountName    : test2
SID               : S-1-5-21-1346884540-3007984453-3019941278-1112
Surname           :
UserPrincipalName : test2@1web1medya.com

Temel olarak sadece yeni eklenen kullanıcların sayısını isterseniz komutumuzu biraz geliştiriyoruz. "-filter" için "*" tanımını komutumuza ekleyip parantez içine alıyoruz ve ".count" komutu ile kullanıcıların sayısını görütülüyebiliriz.

(get-aduser -filter *).count

Komut çıktısı: 

PS C:\Users\emreozanmemis> (get-aduser -filter *).count
6

AD DS üzerinde 6 adet yeni kullanıcı eklendiğini görüyoruz.

Komutumuzu biraz daha detaylandıralım. Örneğin aktif ve deaktif olan kullanıcıları çekelim. Bunun için yine get-aduser komutunu kullanıyorum. ve filter olarak "*" giriyorum bu sefer bir pipe kullanarak "fl name,enabled" komutunu ekliyorum.

Get-ADUser -Filter * | fl name,enabled

Komut çıktısı:

PS C:\Users\emreozanmemis> Get-ADUser -Filter * | fl name,enabled
 
 
name    : emreozanmemis
enabled : True
 
name    : Guest
enabled : False
 
name    : krbtgt
enabled : False
 
name    : test
enabled : False
 
name    : testemre
enabled : True
 
name    : test2
enabled : True

işi bir tık daha öteye taşıyalım ve 30 gün içinde yeni açılmış olan kullanıcıları ve detaylarını listeleyelim. Bunun için bir zaman değişkenine ihtiyacımız olacak bunun için aşağıdaki şekilde bir değişken doğru olacaktır.

Aşağıdaki değişken tanımı için bugünden geriye 30 gün git şekilinde get-date komutunu değişken olarak tanımlıyorum.

$When = ((Get-Date).AddDays(-30)).Date

Get-user komutumuz içinde - filter bölümüne oluşturduğımuz değişkeni göstericez ve -properties olarak whenctreted olarak tanımlıycaz.

Basit bir script oluşturuyoruz aslında ilk komutlarımız ile bu değişkeni şimdi birleştiriyorum.

$When = ((Get-Date).AddDays(-30)).Date
Get-ADUser -Filter {whenCreated -ge $When} -Properties whenCreated

Scriptim hazır. deneyelim ve çıktımızı görelim.

PS C:\Users\emreozanmemis> Get-ADUser -Filter {whenCreated -ge $When} -Properties whenCreated
 
 
DistinguishedName : CN=test2,CN=Users,DC=1web1medya,DC=com
Enabled           : True
GivenName         : test2
Name              : test2
ObjectClass       : user
ObjectGUID        : a3853bd3-a800-40cf-b7aa-8537c78e62b4
SamAccountName    : test2
SID               : S-1-5-21-1346884540-3007984453-3019941278-1112
Surname           :
UserPrincipalName : test2@1web1medya.com
whenCreated       : 11/29/2021 7:11:08 AM

test2 kullanıcısı 29/11/2021 tarihinde oluşturulduğu bilgisinin yanı sıra diğer detaylarımızıda görüntülemiş oluyoruz.

get-aduser komutunun basit ama etkili kullanımının bir örneği olan bu makaledeki bilgileri geliştirerek sizde kendi script ve komut bütünleri oluşturabilrisiniz.