Selamlar arkadaşlar bu makalemde sizlere Active Directory üzerinde bulunan kullanıcıları sorgulama işlemini anlatacağım.
Bu işlemler için Windows PowerShell’i kullanabileceğiniz gibi Active Directory Module for Windows PowerShell’ide kullanabilirsiniz.
Karşımıza siyah bir PowerShell ekranı açılacaktır ve açılır açılmaz ActiveDirectory Modulünü Import edecektir. Bunu görebilmeniz için h alias’ını kullanarak History kodunu çalıştırıp görebilirsiniz.
> Get-ADUser –Filter
*
Komutu ile AD içerisinde bulunan
Tüm kullanıcıları görebilirsiniz.
> Get-ADUser
–Filter * | Format-Table Name,SamAccountName
Bu kod yardımıyla çekmiş olduğunuz kullanıcı listesi içerisinde Table formatında Name ve SamAccountName
aranacak ve çıkan sonuçlar ekrana getirilecektir. Bu sayede istediniz alanlarda
sorgulama yapabilirsiniz.
> Get-ADUser
–Filter { Name –Like “Osman *”}
Bu şekilde yazarak Name alanında Osman isminde bir değer var mı bunu
kontrol ettiriyorsunuz. Buradaki *
ise Osman isminden sonra gelen
değerlerin ne olduğunun bir önemi yok demektir.
> Get-ADUser
–Filter { Name –Like “Osman *”} –Properties *
Bir kullanıcının özelliklerini açtığınızda çok fazla Attribute’ünün olduğunu göreceksiniz. Bunu PS de görmek istemeniz durumunda kodun sonuna –Properties * yazmanız durumunda bunları listeleyebilirsiniz. * yerine diğer Attribute’lerden birini yazmanız durumunda o bilgiyide
listeleyecektir.
>
Get-ADOrganizationalUnit –Filter { Name –Like “*ilkkul*”}
Bu komut yardımıyla cihazımızda bulunan OU’ların listesini alabilirsiniz. Daha sonra çıkan sonuçlardaki DistinguishedName ile birlikte bir
sonraki örnekte olacağı gibi sadece o OU
altındaki kullanıcıları listeleyebilirsiniz.
> Get-ADUser
–Filter * -SearchBase “OU=ilkKullanici,OU=Kullanicilar,DC=deneme,DC=local”
Koduyla –SearchBase alanına yazmış
olduğunuz DistinguishedName ile
belirli bir OU’daki kullanıcıları
sorgulayabilirsiniz. Bu parametre Varsayılan
olarak yazmış olduğunuz OU altında
farklı OU’larda varsa bunlarıda
listeleyecektir.
> Get-ADUser
–Filter * -SearchBase “OU=Kullanicilar,DC=deneme,DC=local” –SearchScope
OneLevel
Kodun sonuna –SearchScope OneLevel
yazmanız durumunda sadece belirtilen OU
altındaki kullanıcılar gelecektir. Hiç birşey yazmamanız durumunda ise Varsayılan olarak SubTree olacaktır.
Bu örneğimde sizlere OU’lar arası kullanıcı taşımayı göstereceğim. Örneğimde belli tarih aralığında bulunan kullanıcı belirleyip bunları taşıyacağım.
> Get-Date
Bu komut ile cihazımdaki tarih
formatına bakıp öğrenebilirim.
> $ilkTarih =
Get-Date “3/18/2019 9:20:00 PM”
> $sonTarih = Get-Date “3/18/2019 9:30:00 PM”
İlk olarak iki adet değişken belirledim
ve bunları içerisinde Tarih (Date)
formatında değerlerimi atadım.
> Get-ADUser
–Filter { WhenCreated –GT $ilkTarih –AND WhenCreated –LT $sonTarih } |
Kodumuzun ilk kısmında WhenCreated
değerlerini $ilkTarih ve $sonTarih değişkenleri karşılaştırıp
çıkan sonuç listesini aldım ve PipeLinedan
sonraki komut ile bu kullanıcılar üzerinde işlem
yapmak için bekletiyorum.
>>
Move-ADObject –TargetPath
“OU=ikinciKullanici,OU=Kullanicilar,DC=deneme,DC=local”
Kodumun PipeLinedan sonraki kısmında
ise Move-ADObject ile bu listeyi –TargetPath’te bulunan DistinguishedName’de bulunan OU’ya taşıyacağımı belirttim. Bu Move-ADObject
ile AD üzerindeki taşıma işlemlerini yapabilirsiniz.
Listem User olduğundan dolayı Userları taşıdım ancak aynı şekilde AD’de bulunan Computer ve vs. Objeleri
bu yolla taşıyabilirsiniz.
Bir sonraki makalemde görüşmek üzere kolaylıklar dilerim.