İçerikleri sosyal medya üzerinden paylaşarak daha fazla kişiye ulaşmasına yardımcı olabilirsiniz.



Fırat Boyan 02.11.2015 2

DS (Directory Service) KOMUTLARI ve LDAP Protokolü

Bu makalemde sizlere DS (Directory Service) komutlarının kullanım şekillerini anlatıyor olacağım.
Öncelikle DS Komutlarının ne olduğundan bahsetmek istiyorum. Active Directory ile yaptığımız birçok işlemi DS komutları ile de gerçekleştirebiliriz. Komutlara geçmeden önce, komutlarla birlikte kullanacağımız ve üzerinde işlem yapacağımız Active Directory nesnelerinin arka plandaki yapılarına kısaca bir göz atalım.

DS Komutları, Microsoft Active Directory yapısının altında bulunan çekirdek protokol LDAP (Lightwieght Directory Access Protocol) ile işlenen komutlardır. LDAP, Active Directory içerisinde nesneleri isimlendiren, ve bu nesnelere erişimi sağlayan protoldür. Dolayısıyla, Active Directory içerisindeki nesnelerin isimlendirme standardına "LDAP isimlendirme standardı" adı verilir. 

LDAP isimlendirme standardında belli tanımlar yer almaktadır. Bunlar:

DC (Domain Component): Active Directory yapısında oluşturulan bütün Domain'ler DC ile tanımlanır.
OU (Organization Unit): Active Directory yapısında oluşturulan bütün Organization Unit'ler OU ile tanımlanır.
CN (Common Name): Active Directory yapısında oluşturulan kullanıcı, grup, bilgisayar, printer vb. nesneler CN ile tanımlanır.


Active Directory yapım aşağıdaki gibidir:

dsadd,dsget,dsmod,dsmove,dsquery

dsadd,dsget,dsmod,dsmove,dsquery

Bu yapıya göre örneğin;
Turkey OU'su altındaki Ankara OU'su ve onun da altındaki IT ve Users OU'larını ele alacak olursak dizilim; OU=USERS,OU=IT,OU=Ankara,OU=TURKEY,DC=firatboyan,DC=local şeklinde olacaktır.
Dizilim, hedeflenen nesneden (OU) başlayarak Domain'e kadar tersine yönde ilerler. Active Directory Domain yapısını kurulduğunda AD, bunu kendi veri tabanına DC=firatboyan,DC=local şeklinde kaydeder. Daha oluşturlan her nesneyi de kategorisine göre isimlendirme standartları çerçevesinde kaydeder.

Active Directory yapısında LDAP protokolü bir nesne için üç farklı tanımlama yapar.

Bunlar:

LDAP Distinguished Name (Aranan İsim)
LDAP Relative Distinguished Name (Asıl Aranan İsim)
Canonical Name (Takma İsim)


LDAP Distinguished Name: Bir nesneyi benzersiz bir şekilde bulunduğu konum içinde tanımlayan isimdir. Kısaca DN olarak ifade edilir.

Örneğin;
firatboyan.local Domain'i altındaki Istanbul, IT ve USERS OU'ları içindeki Firat isimli kullanıcı için Distinguished Name (Aranan İsim); 

CN=Firat,OU=USERS,OU=IT,OU=Ankara,OU=TURKEY,DC=firatboyan,DC=local 

şeklinde olacaktır. Distinguished Name tanımı Active Directory yapısında benzersizdir. Yani aynı DN'e sahip iki farklı nesne bulunamaz.

dsadd,dsget,dsmod,dsmove,dsquery

LDAP Relative Distinguished Name: Distinguished Name içerisinde asıl belirtilmek istenen nesne adına Relative Distinguished Name adı verilir.

Örneğin;
Distinguished Name'i CN=Firat,OU=USERS,OU=IT,OU=Ankara,OU=TURKEY,DC=firatboyan,DC=local olan bir nesnenin Relative Distinguished Name'i CN=Firat'tir. Yani bizim burada asıl belirtmek istediğimiz nesne olan Firat RDN(Relative Distinguished Name)'dir.

Canonical Name: LDAP Distinguished Name ile aynı söz dizimine sahiptir, fakat gösterim şekli farklıdır. 

Örneğin;
Istanbul isimli OU için Canonical Name, firatboyan.local/Istanbul şeklindedir. Active Directory yöneticileri takma isimleri bazı yönetimsel araçlarda kullanırlar. Amaç, yönetimsel araç içerisinde hiyerarşiyi göstermektir.

DS (Directory Service) KOMUTLARI:

1) Dsadd: Active Directory içerisine istenilen konuma istenilen isimde ou,grup,user ve computer gibi nesneleri oluşturmamızı sağlar.
2) Dsget: Active Directory de ki herhangi bir nesnenin bilgilerini gösterir.
3) Dsmod: Active Directory de oluşturduğumuz herhangi bir nesnenin bilgilerini değiştirmemizi sağlar.
4) Dsmove: Active Directory de oluşturduğumuz herhangi bir nesnenin yerini değiştirmemizi sağlar.
5) Dsquery: Active Directory deki nesneleri kontrol eder. Kontrol amaçlı kullanılır.
6) Dsrm: Active Directory de oluşturduğumuz nesneleri siler.

NOT: Bu komutlar tek başlarına değil, /? ile çıkan parametrelerle kullanılırlar. Makalemde tüm parametreleri değil, sadece en sık kullanılanlardan bahsediyor olacağım.

1) DSADD KOMUTU
Dsadd komutu, OU(Organization Unit) ve User oluşturma gibi işlemlerde kullanılmaktadır. dsadd /? komutu ile dsadd komutunu nasıl kullanabileceğimizi görebiliyoruz. 

dsadd komutu ile kullanılabilecek komut parametreleri:

dsadd computer- Active Directory dizinine bilgisayar ekler.
dsadd contact- Active Directory dizinine kontakt ekler.
dsadd group- Active Directory dizinine grup ekler.
dsadd ou- Active Directory dizinine Organization Unit ekler.
dsadd user- Active Directory dizinine Kullanıcı ekler.
dsadd quota- Active Directory içerisindeki Directory partition için kota(quato) tanımlaması yapmak için kullanılır.

dsadd ou
Uygulama1: yeni bir Organization Unit ekleyelim.

dsadd ou ou=Test,dc=kontoso,dc=local

Test Organization Unit'i başarılı bir şekilde Active Directory'ye eklenmiştir.

dsadd user
Uygulama2: oluşturduğumuz Organization Unit içine "TestUser01" adında bir user ekleyelim.

dsadd user cn=TestUser01,ou=TEST,dc=kontoso,dc=local

Burada dikkat edilmesi gereken bir nokta var. Eklenen user disabled konumda gelmektedir. User eklerken enabled konumumda eklenmesini isterseniz, uygulamamız gereken komut;

dsadd user "cn=TestUser02,ou=TEST,dc=kontoso,dc=local" -disabled no

şeklinde olacaktır.

NOT: Burada şuna dikkat etmek gerekiyor; enabled konumda bir user eklerken komut satırında -disabled no kullanıyor olmamızdır. Bu komutu asla "-enabled" şeklinde kullanmayın.

Uygulama3: Şimdi ise, enabled durumda "TestUser03" adında bir user daha ekleyip, şifresini de Aa12345 belirliyoruz.

dsadd user "cn=TestUser03,ou=TEST,dc=kontoso,dc=local" -disabled no -pwd Aa12345

Uygulama4: Şimdi de, enabled durumda "TestUser04" adında bir user daha ekleyip, şifresini de Aa12345 belirliyoruz. Buradaki fark, user ilk logon olduğunda şifresini diğiştirtecek olmamızdır.

dsadd user "cn=TestUser04,ou=TEST,dc=kontoso,dc=local" -disabled no -pwd Aa12345 -mustchpwd yes

NOT: Burada bir noktayı özellikle belirtmek istiyorum; Kullanıcıyı eklerken, -pwd parametresi ile password belirlediğinizde, -disabled no parametresini kullanmanıza gerek kalmamaktadır.

Uygulama5: Şimdi de DSADD komutunu daha fonksiyonel biçimde nasıl kullanırız, onu görelim.
firatboyan.local Domain'inde toplu halde 50 tane kullanıcı açalım. Fakat bunu toplu işlem dosyası ile değil, FOR döngüsü ile DSADD USER komutunu beraber kullanarak yapalım. firatboyan.local Domain'i altında sırasıyla TURKEY, Ankara, IT altındaki USERS klasörü altına 50 kullanıcı hesabını açan ve hepsinin şifresini Aa12345 yapan komut:

FOR /L %i in (1,1,50) DO DSADD USER "CN=Kullanici%i,OU=USERS,OU=IT,OU=Ankara,OU=TURKEY,DC=firatboyan,DC=local" -pwd Aa12345 

Bu komut, açılan kullanıcıları disabled durumda getirecektir. Bu kullanıcıları enabled olarak açalım ve şifrelerini de ilk logon olduklarında değişitrecekleri komut:

FOR /L %i in (1,1,50) DO DSADD USER "CN=Kullanici%i,OU=USERS,OU=IT,OU=Ankara,OU=TURKEY,DC=firatboyan,DC=local" -pwd Aa12345 -mustchpwd yes -disabled no

Bu döngüdeki (1,1,50) kısmı, 1'den başlayıp, 1'er 1'er devam ederek toplamda 50 tane kullanıcı açacaktır ve hepsinin de kullanıcı adını Kullanici diye açacaktır. Active Directory ortamında aynı isimde başka bir kullanıcı açamayacağınız için, kullanıcı isimlerinin yanlarına %i olarak belirtilen kısımda Kullanici1, Kullanici2, Kullanici3,...Kullanici50 şeklinde rakamlar ekleyecektir. Komuttaki /L, Loop döngüsü için kullanılacaktır.

NOT: Daha fazla eklemek istediğinizde, döngüde kullandığınız rakamlarda küçük bir değişiklik yapmanız gerekecektir. 

Örneğin;
50'den sonra 100'e kadar fazladan kullanıcı açmak istediniğizde, döngüde (51,1,100) şeklinde değişiklik yapmanız gerekecektir. Bunun nedeni, 1-50 arasında daha önceden kullanıcı açmış olmanızdır. Bundan sonraki kısımda 51'den başlayıp, 1'er 1'er devam ederek toplamda 100 tane kullanıcı açacaktır. 

Uygulama6: Şimdi de DSADD komutunu biraz daha fonksiyonel biçimde kullanarak, firatboyan.local Domain'inde oluşturulacak kullanıcıları bir metin dosyasından satır satır okutturup istediğimiz komunda oluşturacağız.
 
FOR /F %i in (C:\users.txt) DO DSADD USER "CN=%i,OU=USERS,OU=IT,OU=Istanbul,OU=TURKEY,DC=firatboyan,DC=local" -pwd Aa1234 -mustchpwd yes -disabled no 

NOT: Komuttaki /F, dosyadan okuma yapmak için kullanılacaktır.

Uygulama7: firatboyan.local Domain'i altında sırasıyla TURKEY, Ankara, IT altındaki Computers klasörü altına 5 adet bilgisayar hesabını açan komut:
 
FOR /L %i in (1,1,5) DO DSADD Computer "CN=Kullanici%i,OU=Computers,OU=IT,OU=Ankara,OU=TURKEY,DC=firatboyan,DC=local"

Uygulama8: firatboyan.local Domain'inde oluşturulacak bilgisayar hesaplarını bir metin dosyasından satır satır okutturup istediğimiz komunda oluşturacağız.
 
FOR /F %i in (C:\computers.txt) DO DSADD Computer "CN=%i,OU=Computers,OU=HR,OU=Istanbul,OU=TURKEY,DC=firatboyan,DC=local"

2) DSGET KOMUTU
Dsget komutu, Directory'deki objelerin belirli özelliklerini görüntülemek için kullanılan bir komuttur. dsget /? komutu ile dsget komutunu nasıl kullanabileceğimizi görebiliyoruz.

dsget komutu ile kullanılabilecek komut parametreleri:

dsget computer- Active Directory dizinindeki bilgisayar özelliklerini görüntüler.
dsget contact- Active Directory dizinindeki kontakt özelliklerini görüntüler.
dsget subnet- Active Directory dizininde tanımlı olan subnet özelliklerini görüntüler.
dsget group- Active Directory dizinindeki grup özelliklerini görüntüler.
dsget ou- Active Directory dizinindeki Organization Unit özelliklerini görüntüler.
dsget server- Active Directory dizininde tanımlı olan DC'nin özelliklerini görüntüler.
dsget user- Active Directory dizinindeki Kullanıcı özelliklerini görüntüler.
dsget quota- Active Directory içerisindeki Directory partition için kota(quato) tanımlaması yapmak için özelliklerini görüntüler.
dsget partition- Active Directory dizinine Kullanıcı görüntüler.

• dsget user
Uygulama1: Active Directory'de Antalya OU'su içinde "privaliged" adında bir grup açtım ve bu grup üyelerinin hangi OU'larda bulundukları bilgisini görüntülüyorum:

dsget group "CN=Privaliged,OU=Antalya,DC=kontoso,DC=local " -members
"CN=Bilal,OU=Antalya,DC=kontoso,DC=local"
"CN=Kenan,OU=Antalya,DC=kontoso,DC=local"
"CN=Osman,OU=Antalya,DC=kontoso,DC=local"
"CN=Muslum,OU=Istanbul,DC=kontoso,DC=local"
"CN=Bulent,OU=Istanbul,DC=kontoso,DC=local"
"CN=Hasan,OU=Ankara,DC=kontoso,DC=local"
"CN=Senol,OU=Istanbul,DC=kontoso,DC=local"
"CN=Firat,OU=Istanbul,DC=kontoso,DC=local"

Uygulama2: Active Directory'de Antalya OU'su içinde "Osman" kullanıcısının hangi üye olduğu alanların bilgisini götünlüyorum:

dsget user "CN=osman,OU=Antalya,DC=kontoso,DC=local" -memberof
"CN=Privaliged,OU=Antalya,DC=kontoso,DC=local" "CN=Domain Users,CN=Users,DC=kontoso,DC=local"

Uygulama3: "Osman" kullanıcısının hangi üye olduğu alanların bilgisini daha ayrıltılı görüntülüyorum:

dsget user "CN=osman,OU=Antalya,DC=kontoso,DC=local" -memberof -expand
"CN=Privaliged,OU=Antalya,DC=kontoso,DC=local"
"CN=Domain Users,CN=Users,DC=kontoso,DC=local"
"CN=Remote Desktop Users,CN=Builtin,DC=kontoso,DC=local"
"CN=Users,CN=Builtin,DC=kontoso,DC=local"

Uygulama4: "Osman" kullanıcısının hangi ofiste olduğunu görüntülüyorum:
dsget user "CN=osman,OU=Antalya,DC=kontoso,DC=local" -office

office
Antalya
dsget succeeded

User'a ait daha bir çok özelliği diğer komut ekleriyle görüntüleyebilirim. Bunları görüntüleyebilmek için, user bilgilerinin Active Directory'de girilmiş olması gerekmektedir.

3) DSMOD KOMUTU
Dsmod komutu, oluşturulmuş kullanıcı, grup, bilgisayar, OU gibi mevcut Active Directory Objeleri üzerinde değişiklik yapar. 

dsadd komutu ile kullanılabilecek komut parametreleri:

dsmod computer- Active Directory dizinine bilgisayar üzerinde değişiklik yapar.
dsmod contact- Active Directory dizinine kontakt üzerinde değişiklik yapar.
dsmod group- Active Directory dizinine grup üzerinde değişiklik yapar.
dsmod ou- Active Directory dizinine Organization Unit üzerinde değişiklik yapar.
dsmod user- Active Directory dizinine Kullanıcı üzerinde değişiklik yapar.
dsmod quota- Active Directory içerisindeki Directory partition için kota(quato) tanımlarında değişiklik yapmak için kullanılır.

Dsmod komutu, Directory'deki objelerin belirli özelliklerini görüntülemek için kullanılan bir komuttur. dsmod /? komutu ile dsmod komutunu nasıl kullanabileceğimizi görebiliyoruz.

•  dsamod user
Uygulama1: firatboyan.local Domain'indeki sırasıyla; TURKEY, Istanbul,IT,USERS içindeki Firat isimli kullanıcının şifresini Aa1234 olarak değiştirelim.

dsmod user "CN=Firat,OU=USERS,OU=IT,OU=Istanbul,OU=TURKEY,DC=firatboyan,DC=local" -pwd Aa1234

İşlem başalı bir şekilde gerçekleşirse, aşağıdaki mesajı verecektir.
dsmod succeeded:CN=Firat,OU=USERS,OU=IT,OU=Istanbul,OU=TURKEY,DC=firatboyan,DC=l
ocal

Uygulama2: firatboyan.local Domain'indeki sırasıyla; TURKEY, Istanbul,IT,USERS içindeki Firat isimli kullanıcının şifresini Bb12345 olarak değiştirelim ve hesabını da kapatalım.

dsmod user "CN=Firat,OU=USERS,OU=IT,OU=Istanbul,OU=TURKEY,DC=firatboyan,DC=local" -pwd Bb12345 -disabled yes

İşlem başalı bir şekilde gerçekleşirse, aşağıdaki mesajı verecektir.
dsmod succeeded:CN=Firat,OU=USERS,OU=IT,OU=Istanbul,OU=TURKEY,DC=firatboyan,DC=l
ocal

•  dsamod ou
Uygulama1:
 firatboyan.local Domain'indeki sırasıyla; TURKEY, Istanbul,IT OU'sunun description bilgisini "TECHNICAL" olarak değiştirelim.

dsmod ou "OU=USERS,OU=IT,OU=Istanbul,OU=TURKEY,DC=firatboyan,DC=local" -DESC "TECHICAL"

İşlem başalı bir şekilde gerçekleşirse, aşağıdaki mesajı verecektir.
dsmod succeeded:OU=USERS,OU=IT,OU=Istanbul,OU=TURKEY,DC=firatboyan,DC=local

4) DSQUERY KOMUTU
Dsquery komutu, sorgulama ve kontrol amaçlı kullanılan komuttur. Fonksiyonui öznitelikleri berlirten bir nesneleri sorgular ve listelemeyi sağlar.

dsquery komutu ile kullanılabilecek komut parametreleri:

dsquery computer- Bilgisayar hesabı sorgulamak için kullanılır.
dsquery contact- Kişi hesabı sorgulamak için kullanılır.
dsquery group- Grup hesabı sorgulamak için kullanılır.
dsquery ou- Organizational Unit sorgulamak için kullanılır.
dsquery user- Kullanıcı hesabı özelliklerini getirmek için kullanılır.
dsquery quota- Active Directory içerisinde kota bilgilerini sorgulamak için kullanılır.
dsquery site- Active Directory içerisinde server nesnelerini sorgulamak için kullanılır.
dsquery server- Active Directory içerisinde server nesnelerini sorgulamak için kullanılır.
dsquery subnet- Active Directory içerisinde subnet nesnelerini sorgulamak için kullanılır.
dsquerypartition- Active Directory içerisinde partition yapılarını sorgulamak için kullanılır.

Dsquery komutu, Directory'deki objelerin belirli özelliklerini görüntülemek için kullanılan bir komuttur. dsget /? komutu ile dsget komutunu nasıl kullanabileceğimizi görebiliyoruz.

Uygulama1: Tüm Organization Unit'lerdeki tüm kullanıcıları listeyen komutu yazalım.

dsquery user

"CN=Administrator,CN=Users,DC=firatboyan,DC=local"
"CN=Guest,CN=Users,DC=firatboyan,DC=local"
"CN=krbtgt,CN=Users,DC=firatboyan,DC=local"
"CN=Kullanici1,OU=Users,OU=IT,OU=Ankara,OU=TURKEY,DC=firatboyan,DC=local"
"CN=Kullanici2,OU=Users,OU=IT,OU=Ankara,OU=TURKEY,DC=firatboyan,DC=local"
"CN=Kullanici3,OU=Users,OU=IT,OU=Ankara,OU=TURKEY,DC=firatboyan,DC=local"
"CN=Kullanici4,OU=Users,OU=IT,OU=Ankara,OU=TURKEY,DC=firatboyan,DC=local"
"CN=Kullanici5,OU=Users,OU=IT,OU=Ankara,OU=TURKEY,DC=firatboyan,DC=local"
"CN=Kullanici6,OU=Users,OU=IT,OU=Ankara,OU=TURKEY,DC=firatboyan,DC=local"
"CN=Firat,OU=Users,OU=IT,OU=Istanbul,OU=TURKEY,DC=firatboyan,DC=local"
"CN=Murat,OU=Users,OU=HR,OU=Izmir,OU=TURKEY,DC=firatboyan,DC=local"
"CN=Asli,OU=Users,OU=HR,OU=Izmir,OU=TURKEY,DC=firatboyan,DC=local"
"CN=Sibel,OU=Users,OU=HR,OU=Izmir,OU=TURKEY,DC=firatboyan,DC=local"
"CN=Ahmet,OU=Users,OU=HR,OU=Izmir,OU=TURKEY,DC=firatboyan,DC=local"
"CN=Eray,OU=Users,OU=HR,OU=Izmir,OU=TURKEY,DC=firatboyan,DC=local"
"CN=Yusuf,OU=Users,OU=HR,OU=Izmir,OU=TURKEY,DC=firatboyan,DC=local"
"CN=Ismail,OU=Users,OU=HR,OU=Izmir,OU=TURKEY,DC=firatboyan,DC=local"
"CN=Sule,OU=Users,OU=HR,OU=Izmir,OU=TURKEY,DC=firatboyan,DC=local"

Uygulama2: Tüm Organization Unit'lerdeki tüm kullanıcıları bir metin dosyasına yazdıralım.

dsquery user > kullanicilar.txt

Uygulama3: Domain'deki tüm Organization Unit'leri listeleyen komutu yazalım.

dsquery ou dc=firatboyan,dc=local

Uygulama4: Domain'deki tüm Organization Unit'leri bir metin dosyarına yazdıralım.

dsquery ou dc=firatboyan,dc=local > OUlar.txt

"OU=Domain Controllers,DC=firatboyan,DC=local" "OU=TURKEY,DC=firatboyan,DC=local"
"OU=Istanbul,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Ankara,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Izmir,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Antalya,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Trabzon,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Erzurum,OU=TURKEY,DC=firatboyan,DC=local" "OU=IT,OU=Istanbul,OU=TURKEY,DC=firatboyan,DC=local"
"OU=IT,OU=Ankara,OU=TURKEY,DC=firatboyan,DC=local"
"OU=IT,OU=Izmir,OU=TURKEY,DC=firatboyan,DC=local"
"OU=IT,OU=Antalya,OU=TURKEY,DC=firatboyan,DC=local"
"OU=IT,OU=Trabzon,OU=TURKEY,DC=firatboyan,DC=local"
"OU=IT,OU=Erzurum,OU=TURKEY,DC=firatboyan,DC=local"
"OU=FINANCE,OU=Istanbul,OU=TURKEY,DC=firatboyan,DC=local"
"OU=FINANCE,OU=Ankara,OU=TURKEY,DC=firatboyan,DC=local"
"OU=FINANCE,OU=Izmir,OU=TURKEY,DC=firatboyan,DC=local"
"OU=FINANCE,OU=Antalya,OU=TURKEY,DC=firatboyan,DC=local"
"OU=FINANCE,OU=Trabzon,OU=TURKEY,DC=firatboyan,DC=local"
"OU=FINANCE,OU=Erzurum,OU=TURKEY,DC=firatboyan,DC=local"
"OU=HR,OU=Istanbul,OU=TURKEY,DC=firatboyan,DC=local"
"OU=HR,OU=Ankara,OU=TURKEY,DC=firatboyan,DC=local"
"OU=HR,OU=Izmir,OU=TURKEY,DC=firatboyan,DC=local"
"OU=HR,OU=Antalya,OU=TURKEY,DC=firatboyan,DC=local"
"OU=HR,OU=Trabzon,OU=TURKEY,DC=firatboyan,DC=local"
"OU=HR,OU=Erzurum,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Users,OU=IT,OU=Istanbul,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Users,OU=FINANCE,OU=Istanbul,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Users,OU=HR,OU=Istanbul,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Users,OU=IT,OU=Ankara,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Users,OU=FINANCE,OU=Ankara,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Users,OU=HR,OU=Ankara,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Users,OU=IT,OU=Izmir,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Users,OU=FINANCE,OU=Izmir,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Users,OU=HR,OU=Izmir,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Users,OU=IT,OU=Antalya,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Users,OU=FINANCE,OU=Antalya,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Users,OU=HR,OU=Antalya,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Users,OU=IT,OU=Trabzon,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Users,OU=FINANCE,OU=Trabzon,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Users,OU=HR,OU=Trabzon,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Computers,OU=IT,OU=Istanbul,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Computers,OU=FINANCE,OU=Istanbul,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Computers,OU=HR,OU=Istanbul,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Computers,OU=IT,OU=Ankara,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Computers,OU=FINANCE,OU=Ankara,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Computers,OU=HR,OU=Ankara,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Computers,OU=IT,OU=Izmir,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Computers,OU=FINANCE,OU=Izmir,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Computers,OU=HR,OU=Izmir,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Computers,OU=IT,OU=Antalya,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Computers,OU=FINANCE,OU=Antalya,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Computers,OU=HR,OU=Antalya,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Computers,OU=IT,OU=Trabzon,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Computers,OU=FINANCE,OU=Trabzon,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Computers,OU=HR,OU=Trabzon,OU=TURKEY,DC=firatboyan,DC=local"
"OU=MANAGERS,OU=Istanbul,OU=TURKEY,DC=firatboyan,DC=local"
"OU=USERS,OU=MANAGERS,OU=Istanbul,OU=TURKEY,DC=firatboyan,DC=local"
"OU=COMPUTERS,OU=MANAGERS,OU=Istanbul,OU=TURKEY,DC=firatboyan,DC=local"
"OU=MANAGERS,OU=Antalya,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Users,OU=MANAGERS,OU=Antalya,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Computers,OU=MANAGERS,OU=Antalya,OU=TURKEY,DC=firatboyan,DC=local"

Uygulama5: Organizasyondaki tüm PC'leri listeleyen komutu yazalım.

dsquery computer

Uygulama6: Organizasyondaki tüm PC'leri bir metin dosyarına yazdıralım.

dsquery computer > Computers.txt

"CN=SRV001,OU=Domain Controllers,DC=firatboyan,DC=local"
"CN=SRV002,CN=Computers,DC=firatboyan,DC=local"
"CN=SRV003,CN=Computers,DC=firatboyan,DC=local"

Uygulama7: İlgili Organization Unit'deki tüm PC'leri listeleyen komutu yazalım.

dsquery Computer OU=Computers,OU=HR,OU=Istanbul,OU=TURKEY,DC=firatboyan,DC=local

Uygulama8: İlgili Organization Unit'deki tüm PC'leri bir metin dosyarına yazdıralım.

dsquery Computer OU=Computers,OU=HR,OU=Istanbul,OU=TURKEY,DC=firatboyan,DC=local > IstanbulComputers.txt

"CN=WC10322WZ,OU=Computers,OU=HR,OU=Istanbul,OU=TURKEY,DC=firatboyan,DC=local"
"CN=WC10322GH,OU=Computers,OU=HR,OU=Istanbul,OU=TURKEY,DC=firatboyan,DC=local"
"CN=WC10322W1,OU=Computers,OU=HR,OU=Istanbul,OU=TURKEY,DC=firatboyan,DC=local"
"CN=WC10322FR,OU=Computers,OU=HR,OU=Istanbul,OU=TURKEY,DC=firatboyan,DC=local"
"CN=WC10322HJ,OU=Computers,OU=HR,OU=Istanbul,OU=TURKEY,DC=firatboyan,DC=local"
"CN=WC10322MN,OU=Computers,OU=HR,OU=Istanbul,OU=TURKEY,DC=firatboyan,DC=local"
"CN=WC10322WW,OU=Computers,OU=HR,OU=Istanbul,OU=TURKEY,DC=firatboyan,DC=local"
"CN=WC10322TY,OU=Computers,OU=HR,OU=Istanbul,OU=TURKEY,DC=firatboyan,DC=local"
"CN=WC10322U3,OU=Computers,OU=HR,OU=Istanbul,OU=TURKEY,DC=firatboyan,DC=local"

Uygulama9: Domain'de adı "An" başlayan tüm OU'ları bulan komutu yazalım:

dsquery ou Domainroot -name An* 

"OU=Ankara,OU=TURKEY,DC=firatboyan,DC=local"
"OU=Antalya,OU=TURKEY,DC=firatboyan,DC=local"

Diğer kulanışlı örnek uygulamalar:

Bir Forest'daki tüm DC'leri bulmak için:
dsquery server -o rdn -forest

Adına göre bir Server'ın hengi Site'da olduğunu öğrenmek için:
dsquery server -name SERVERADI | dsget server -site

Bir forest'daki tüm DC'leri bağlı oldukları site'larla birlikte bulmak için:
dsquery server -forest -limit 0 | dsget server -dnsname -site -isgc

Bir Server'ın RODC olup olmadığını sorgulamak için:
dsquery server -isreadonly

Domain'deki Schema versiyonunu bulmak için:
dsquery * cn=schema,cn=configuration,dc=Domain_ADI,dc=local -scope base -attr objectVersion

Tüm kullanıcıların Attribute'larını TXT dosyasına yazdırmak için:
Dsquery * -limit 0 -filter "&(objectClass=User)(objectCategory=Person)" -attr * >>KullaniciIOzellikleri.txt

Faydalı olması dileğiyle...


Her türlü görüş ve önerilerinizi aşağıdaki yorum panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.



Yazar Hakkında

firatboyan.com


1985 yılında Alanya'da doğdum. İlk, orta ve lise öğrenimimi Alanya'da tamamladım. Liseden mezun olduktan sonra Akdeniz Üniversitesi Bilgisayar Teknolojisi Ön Lisans programına yerleştim ve bu programdan mezun oldum. Ön Lisans programından mezun olduktan bir süre sonra Dikey Geçiş Sınavı (DGS) ile İstanbul Teknik Üniversitesi (İTÜ) Bilgisayar Mühendisliği Lisans programına yerleştim. 2003 yılından beri Bilgi Teknolojileri sektöründe Sistem ve Network alanlarında çalışıyorum. Bir çok firma bünyesinde farklı projelerde yer alarak bu alanda yıllar içinde ciddi bir bilgi birikimi ve deneyimler kazandım. Bilgi Teknolojileri sektöründeki profesyonel çalışma hayatımın uzunca bir dönemini entegratör firma bazında, ağılıklı olarak Microsoft ürünleri üzerine danışman olarak sürdürüyor ve yüksek seviyeli projeler geliştiriyorum. Uzunca bir süredir de Türkiye'nin en önde gelen entegratör firması olan Data Market bünyesinde Senior Cloud Engineer olarak çalışıyorum. Ek olarak, 2015 yılında Network Akademi bünyesinde Sistem ve Network Uzmanlık eğitimleri vermeye başladım ve 2017 yılında da eğitmenlik tecrübemi, Microsft Certified Trainer (MCT) ünvanı ile taçlandırdım. Eğitmenlik serüvenime 2021 yılından beri Bilge Adam bünyesinde MCT ünvanı ile devam etmekteyim.

YORUMLAR
Bu makaleye 2 yorum yapıldı.
Her türlü görüş ve önerilerinizi aşağıdaki yorum panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.


750 karakter yazabilirsiniz.
Captcha
Güvenlik kodunu BÜYÜK harflerle giriniz.
* Yorumlar, onaylandıktan sonra yayınlanmaktadır.
* E-posta, yorum onay bildirimi için gereklidir. Yayınlanmaz.


02.11.2015 Ali Ersöz
Diğer komutları da yazın lütfen.

28.06.2017 Fırat Boyan
Merhaba Ali; makalenin amacı, işin mantığını öğretmek. Tüm komutları yazmak maalesef mümkün değil. Mantığı kaptıktan sonra ihtiyaca göre kendin bunları geliştirebilirsin.