PowerShell ile AD Kullanıcılarını Sorgulama ve Taşıma İşlemi

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.

Bir Cevap Yazın