WSH (Windows Scripting Host) İle Active Directory’de Programlama

Active Directory, Scripting, Windows Server 62 Comments »

Visual Basic Script kodlarını kullanarak Active Directory içerisinde nesne oluşturma, silme, nesneler üzerinde değişiklikler yapma, nesneleri sorgulama, toplu halde nesneler açma gibi işlevleri yerine getirebilirsiniz.

RootDSE Nedir?

RootDSE’nin amacı kullanıcı nesnesini Active Directory’ye baÄŸlamak için gerekli tutamağı saÄŸlamaktır. RootDSE’nin açılımı Root
Directory Service Entry’dir. RootDSE objelerin ne yaptıklarını açıklar. Teknik olarak VBS’den daha ziyade WSH ile GetObject methodunu kullanarak Active Directory’ye baÄŸlantıyı saÄŸlar. Büyük organizasyonlarda RootDSE’yi root domain’e göre belirleyebilirsiniz. Normalde RootDSE o anda bulunulan domain’e ayarlıdır. Bütün bu söylediklerimizin özeti olarak RootDSE’nin active directory’nin ta kendisi olduÄŸunu söylememiz yanlış olmaz.

ADSI Edit - Support Tool

RootDSE’nin ne yaptığına farklı bir perspektiften bakarsak, bunu bize en iyi açıklayacak araç Windows Server 2003 CD’si içerisindeki Support dizini içerisindeki Tools dizininden Windows Server Support Tool’lar kurulduktan sonra gelen ADSIEDIT aracıdır. ADSI, Active Directory içerisindeki kullanıcı ve bilgisayar gibi objelerin özelliklerini ve niteliklerini öğrenmek için gerekli grafiksel arayüzü saÄŸlar. ADSIEDIT kullanarak Active Directory yapısındaki üç kabın içerisini görebilirsiniz.Bunlar:

  • Domain
  • Configuration
  • Schema

Biz bu kapların her birine partition(active directory database bölümleri) adını veriyoruz.

1 - RootDSE ‘den Domain adını çekmek

‘ RootDSE nesnesinden domain adını çeken kod.
Set objRootDSE = GetObject(”LDAP://RootDSE”)
strDomain = objRootDSE.Get(”DefaultNamingContext”)

Eğer mevcut domain adını görmek isterseniz yukarıdaki kodun en alt satırına aşağıdaki satırlardan birini yazın. Böylece domain adını çekip size bir mesaj kutusunda gösterecektir.


WScript.Echo strDomain ‘ Domain adını control etmek için test amaçlı konuldu

Veya

Msgbox(strDomain) ‘ Domain adını control etmek için test amaçlı konuldu

 

Not 1: Biz bu örnekte objRootDSE ve strDomain değişken isimlerini kullandık. Sizde kendinize uygun, kurallara uyan degisken isimlerini rahatça kullanabilirsiniz. Fakat tabii ki anlamlı değişkenler kullanmak en iyisidir.

Note 2:
DefaultNamingContext RootDSE (Active Directory) ‘nin bir özelliÄŸidir.

2 – Objelerin Oluşturulacağı Yerin(objContainer) Belirlenmesi

Set objContainer = GetObject(”LDAP://” & strOUContainer)

Not 1:
strOUContainer nesnelerin oluşturulacağı yeri gösteren son derece önemli bir değişkendir. Bu değişkenin değerini domain adınıza ve OU adına gore doğru bir biçimde ayarlamalısınız.

Not 2:
“LDAP://” nesnenin oluÅŸturulacağı hedef yerin active directory olduÄŸunu söyler.

Şimdi uygulamalarla bunları görelim.

 

Uygulama 1: OU Olusturma

 

  1. Notepad`i acin.
  2. OUac.vbs isimli bir dosya olusturun.
  3. Asagidaki kodlari bu dosya icine yazin.

 

Set oRoot = GetObject(”LDAP://rootDSE”)
Set oDomain = GetObject(”LDAP://” & oRoot.Get(”defaultNamingContext”))
Set oOU=oDomain.Create(”organizationalUnit”, “ou=maya”)
oOU.Put “Description”, “MAYASOFT Bilgi Teknolojileri Merkezi”
oOU.SetInfo

Yukarıdaki script kodunu yazıp çalıştırdıktan sonra bulunduğunuz domain altında maya isimli bir OU açar ve Description özelliğine MAYASOFT Bilgi Teknolojileri Merkezi ifadesini atar.

 

Uygulama 2: Kullanıcı Olusturma


Set oRoot = GetObject(”LDAP://rootDSE”)
Set oDomain = GetObject(”LDAP://” & oRoot.Get(”defaultNamingContext”))
Set oUser = oOU.Create(”User”, “cn=egitmen”)
oUser.Put “sAMAccountName”, ” egitmen ”
oUser.Put “Description”, “Marka Olmus Uzman Egitmenler”
oUser.SetInfo
oUser.SetPassword “123+abc”
oUser.AccountDisabled = False
oUser.SetInfo
Wscript.Echo “Basariyla tamamlandi, Active Directory Users and Computers bakın!!!”

Yukarıdaki script kodunu yazıp çalıştırdıktan sonra bulunduğunuz domain altında egitmen isimli bir kullanıcı açar ve Description özelliğine Marka Olmus Uzman Egitmenler yazar. Burada SETINFO methodu onaylama amaçlı kullanılır. Setinfo satırına gelene kadar henüz obje oluşturulmaz. Setinfo satırı ile işleme onay verilir. SetPassword ile kullanıcı hesabına şifre atanır. AccountDisabled methodu ile kullanıcı hesabının enable mı yoksa disable mı olarak açılacağı belirlenir. Yapılan bu değişiklikler yine veritabanına yazılması ve güncellenmesi için setinfo methodu ile onaylanmıştır. Wscript.Echo ile işlem tamamlandıktan sonra bir mesaj görüntüleme gerçekleştirilmiş oluyor.

 

Uygulama 3: Toplu Kullanıcı Olusturma

‘TOPLUM OU’su içerisine toplu kullanıcı ekleme
‘Mesut AladaÄŸ – Yasin Aşır tarafından yazılmış script
Dim nesneOU
Set oRoot = GetObject(”LDAP://rootDSE”)
Set oDomain = GetObject(”LDAP://” & oRoot.Get(”defaultNamingContext”))
Set objRootDSE = GetObject(”LDAP://rootDSE”)
Set nesneOU=oDomain.Create(”organizationalUnit”, “ou=Toplum”)
nesneOU.Put “Description”, “Mesut AladaÄŸ – Yasin Aşır Yazdı…”
nesneOU.SetInfo
Set nesnekap= GetObject(”LDAP://OU=Toplum,” & _
objRootDSE.Get(”defaultNamingContext”))
For i = 1 To 10
Set nesnetip=nesnekap.Create(”User”, “cn=Kullanici” & i)
nesnetip.Put “sAMAccountName”, “Kullanici” & i
nesnetip.SetInfo
Next
WScript.Echo “Tebrikler, 10 Kullanıcı açıldı F5 basarak güncelleyin”

Yukarıdaki kod çalıştırılınca once domain altında Toplum isimli bir OU açar. Daha sonra bu OU içerisine kullanıcı1′den kullanıcı10′a kadar 10 adet kullanıcı oluÅŸturur.

VBScript Kullanarak Satis OU’su içerisine Kullanıcı Ekleme

Bu örnekte, VBScript kullanarak Satis OU’su içerisine yeni bir kullanıcı eklemeyi öğreneceksiniz. Bu örnek ADSI ve VBScript ile active directory’de programlamanın kolaylığı ve rahatlığını göreceksiniz.Bu örnekte biz kullanıcının sadece belli özelliklerini tanımladık.Siz arzu ederseniz tüm özelliklerini tanımlayabilirsiniz.

NotePad’i açın ve aÅŸağıdaki kodu yazıp, UserAC.vbs adı ile kaydedin ve çalıştırın.

Set oRoot = GetObject(”LDAP://rootDSE”)
Set oDomain = GetObject(”LDAP://ou=satis,” & oRoot.Get(”defaultNamingContext”))
Set objRootDSE = GetObject(”LDAP://rootDSE”)
Set oUser=oDomain.Create(”User”, “CN=Feyzo”)
oUser.Put “samAccountName”,”Feyzo”

oUser.Put “givenName”,”Feyzo”

oUser.Put “sn”,”Kibar”

oUser.Put “userPrincipalName”,”feyzok@mayasoft.com.tr”

oUser.SetInfo

Set oUser = Nothing ‘oUser deÄŸiÅŸkenini siliyor.

Set oDomain = Nothing ‘ oDomain deÄŸiÅŸkenini siliyor.

WScript.Echo “Tamamlandı”

Yukarıdaki kodu çalıştırdığınızda active directory içerisindeki satış OU’su içerisine Feyzo isimli bir kullanıcı hesabının eklendiÄŸini göreceksiniz.

VBScript Kullanarak Kullanıcı Silmek

Bu örnekte, VBScript kullanarak Satis OU’su içerisindeki feyzo isimli kullanıcı hesabını silmeyi öğreneceksiniz.

NotePad’i açın ve aÅŸağıdaki kodu yazıp, UserSIL.vbs adı ile kaydedin ve çalıştırın.

Set oRoot = GetObject(”LDAP://rootDSE”)
Set oDomain = GetObject(”LDAP://ou=satis,” & oRoot.Get(”defaultNamingContext”))
Set objRootDSE = GetObject(”LDAP://rootDSE”)
oDomain.Delete “User”, “CN=Feyzo”

Set oDomain = Nothing ‘oContainer deÄŸiÅŸkenini siliyor.

WScript.Echo “Tamamlandı”

VBScript Kullanarak Toplu Olarak Kullanıcı Özelliklerini Değiştirme

Bu örnekte, VBScript kullanarak Satis OU’su içerisindeki bütün kullanıcı hesaplarının adres bilgilerinde güncellemeler yapacağız.

NotePad’i açın ve aÅŸağıdaki kodu yazıp, UserDegistir.vbs adı ile kaydedin ve çalıştırın.

Set oRoot = GetObject(”LDAP://rootDSE”)
Set oDomain = GetObject(”LDAP://ou=satis,” & oRoot.Get(”defaultNamingContext”))
Set objRootDSE = GetObject(”LDAP://rootDSE”)
ModifyUsers oDomain

Set oDomain = Nothing ‘oContainer deÄŸiÅŸkenini siliyor.

WScript.Echo “Tamamlandı”

Sub ModifyUsers(oObject)

Dim oUser

oObject.Filter = Array(”user”)

For Each oUser in oObject

        oUser.Put “st”,”BeÅŸiktaÅŸ”

        oUser.Put “streetAddress”,”Barbaros Blv. No:9″

        oUser.Put “postalCode”,”80690″

        oUser.Put “l”,”BeÅŸiktaÅŸ”

        oUser.SetInfo

    Next

End Sub

 

Gidip Active Directory Users and Computers içerisinden baktığınızda aşağıdaki gibi oluştuğunu göreceksiniz.

 

VBScript Kullanarak Objeleri Export Etmek

Bu örnekte, VBScript kullanarak Satis OU’su içerisindeki bütün kullanıcı hesapları ve bunların niteliklerini bir text dosyaya listelemeyi göreceksiniz.

NotePad’i açın ve aÅŸağıdaki kodu yazıp, RaporAl.vbs adı ile kaydedin ve çalıştırın.

Dim OutPutFile
Dim FileSystem

Set oRoot = GetObject(”LDAP://rootDSE”)
Set oDomain = GetObject(”LDAP://ou=satis,” & oRoot.Get(”defaultNamingContext”))
Set objRootDSE = GetObject(”LDAP://rootDSE”)
Set FileSystem = WScript.CreateObject(”Scripting.FileSystemObject”)
Set OutPutFile = FileSystem.CreateTextFile(”c:\rapor.txt”, True)

EnumerateUsers oDomain

OutPutFile.Close
Set FileSystem = Nothing

Set oDomain = Nothing ‘oDomain deÄŸiÅŸkenini siliyor.
WScript.Echo “Tamamlandı”
WScript.Quit(0)
Sub EnumerateUsers(oCont)
Dim oUser
For Each oUser In oCont
Select Case LCase(oUser.Class)
Case “user”
If Not IsEmpty(oUser.distinguishedName) Then
OutPutFile.WriteLine “dn: ” & oUser.distinguishedName
End If
If Not IsEmpty(oUser.name) Then
OutPutFile.WriteLine “name: ” & oUser.Get (”name”)
End If
If Not IsEmpty(oUser.st) Then
OutPutFile.WriteLine “st: ” & oUser.st
End If
If Not IsEmpty(oUser.streetAddress) Then
OutPutFile.WriteLine “streetAddress: ” & oUser.streetAddress
End If
Case “organizationalunit” , “container”
EnumerateUsers oUser
End Select
OutPutFile.WriteLine
Next
End Sub

 

WSH Kullanarak Grup Hesabı Oluşturmak

Set oRoot = GetObject(”LDAP://rootDSE”)
Set oDomain = GetObject(”LDAP://” & oRoot.Get(”defaultNamingContext”))
Set oGroup = oDomain.Create(”Group”, “cn=Patronlar”)
oGroup.Put “sAMAccountName”, ” Patronlar ”
oGroup.SetInfo
Wscript.Echo ” Tebrikler Basariyla tamamlandi”

Yukarıdaki script kodunu yazıp çalıştırdıktan sonra bulunduğunuz domain altında Patronlar isimli bir grup açar.

 

Script İle Bilgi Toplama:

Kullanıcı adını , bilgisayar adını ve çalıştığınız domain adını veren script:

 Set ad = WScript.CreateObject(”WScript.Network”)
WScript.Echo “Computer Name = ” & ad.ComputerName & VBCrLf
_
& “User Name = ” & ad.UserName & VBCrLf & “Domain = ” & ad.UserDomain

Not 1: VBCrLf alt satıra geçmeyi sağlar.

Not 2: Alt çizgi (Underscore(_)) kod yarıda kalınca ikinci satırdan devam etmeyi sağlar.

OBJELERİN IMPORT/EXPORT EDİLMESİ

Active Directory, Scripting, Windows Server 57 Comments »

Yuzlerce kullaniciyi Active Directory`ye ayni anda toplu olarak ekleme, mevcut yuzlerce kullanici uzerinde ayni anda degisiklik yapabilme, active Directory bilgilerini bir text dosyaya export etme, schema bilgilerini degistirme, ornegin e-mail niteligi ekleme gibi aynı anda yuzlerce obje üzerinde yapılacak iÅŸlemler için bulk import/export komutlarını kullanabilirsiniz. Active Directory yapısında bulk import/export iÅŸlemi için kullanılan en önemli iki komut : CSVDE.EXE ve LDIFDE.EXE’dir. Åžimdi bunları sırası ile inceleyelim.

 

LDIFDE
(LDAP Data Interchange Format Data Exchange)

Active Directory içerisindeki bilgileri .ldf uzantılı bir text dosyaya export etme ya da bir text dosyadaki bilgileri active directory içerisine export etme gibi iÅŸlemleri yerine getirir. Bilgiler karmaşık bir yapıda olduÄŸu için CSVDE’ye gore çok kullanışlı deÄŸildir.CSVDE bilgileri bir tablo halinde getirir. Fakat CSVDE’ye gore avantajı mevcut nesneler üzerinde deÄŸiÅŸiklik yapabilmemizdir. Mevcut nesneler üzerinde deÄŸiÅŸiklik yapmak CSVDE ile mümkün deÄŸildir. Fakat CSVDE dosyalarını Microsoft Excel’de açarak kolaylıkla inceleyebilirsiniz.

LDIFDE eğer herhangi bir şey belirtmezseniz export modda çalışır. Aşağıdaki uygulamalarda da göreceğiniz üzere ldifde –e demenize gerek yok. Zaten default olarak çalışma modu export moddur. Eğer ldifde ile import yapacaksanız ldifde -I parametresi ile kullanmanız gerekir.Bu hatırlatmalardan sonra gelelim uygulamalara. Yalnız son olarak şunu da belirtelim ki LDIFDE kullanımı için sisteminizde active directory olması gerekir.

 

 

LDIFDE İLE EXPORT:

Uygulama 1: Domain içerisindeki bütün nesne bilgilerini C:\export.ldf dosyasına export edelim.Bunun için aşağıdaki komutu kullanmanız yeterlidir.

ldifde -f c:\export.ldf -s mayasrv   (mayasrv yerine siz kendi DC bilgisayarinizin adini yazın.)

-r ile filtre ekleme :Mesela siz sadece kullanici objelerini export etmek istiyorsaniz asagidaki komutu kullanmaniz gerekir.-r sayesinde kayıtlarda süzme yaparak gereksiz alanlarin export edilmesini onlemis olursunuz.

ldifde -f c:\Export.ldf -s mayasrv   -r “(objectclass=user)”

-l ile alan filtrelemesi: -l parametresi ile de mesela siz sadece kullanicilara ait sadece kullanici adi, soyadi ve departman bilgilerini export edecekseniz bu parametreyi kullanmalisiniz.

ldifde -f c:\ExportUser.ldf -s mayasrv   -r “(objectclass=user)” -l “givenName, sn, department”

LDIFDE İLE IMPORT:

  1. yenikullanici.ldf isimli bir Notepad dokumani acin.
  2. Asagidaki kodlari dokumana ekleyin.

    dn: CN=MaviDertli, OU=egitmen, DC=mayasoft,dc=com,dc=tr
    changetype: add
    cn: Mavi Dertli
    objectClass: user
    samAccountName: MaviDert
    givenName: Mavi
    sn:Dertli

  3. LDIF dosyasini kaydedin.
  4. Komut satirina gecin ve asagidaki komutu uygulayarak yukarida ozellikleri tanimlanan MaviDert kullanicisini olusturun.

ldifde –i -f yenikullanici.ldf -s mayasrv

5.Active Directory Users and Computers`e gidin ve yeni kullanicinin olustugunu control edin.

LDIFDE Kullanilarak Kullanici Sifresini Degistirme

dn: CN=MesutAladag,OU=Egitim, DC=Mayasoft,dc=com,dc=tr
changetype: modify
replace: unicodePwd
unicodePwd::123+abc

LDIFDE Ile Kullanici Silme :

  1. kullanicisil.ldf isimli bir Notepad dokumani acin.
  2. Asagidaki kodlari dokumana ekleyin.

dn: CN=YasinAsir, OU=Egitmen, dc=Mayasoft,dc=com,dc=tr
changetype: delete

3.LDIFDE komutunu uygulayin.

 

 

 

 

 

 

 

 

 

 

 

 

CSVDE

Uygulama 1:

CSVDE -f C:\exusers.csv  Â
EXUSERS.CSV isimli dosyaya domaindeki herseyi export yapar.

Uygulama 2:

CSVDE -f exuse.csv -r “(&(objectClass=user))” Â
EXUSE.CSV isimli dosyaya domaindeki kullanicilari export yapar.

Uygulama 3:

CSVDE -f extra.csv -r “(&(objectClass=user))” -l “DN,objectclass, objectcategory, name, distinguishedName”
Extra.csv isimli dosyaya domaindeki kullanicilarin DN, objectclass, objectcategory, name ve distinguishedname bilgilerini export yapar.

 

CSVDE İLE IMPORT

Uygulama 4:

  1. Olustur.csv isimli bir Notepad dokumani acin.
  2. İçerisine aşağıdaki satirlari yazin.

dn,sAMAccountName,userPrincipalName,telephoneNumber,department,userAccountControl ,objectClass
“CN=Mesut Aladag2005, OU=Egitim,DC=mayasoft,DC=com,DC=tr”,Mesutaladag2005,mesutaladag2005@mayasoft.com.tr,891-1239, Egitim, 512,user
“CN=Yasin ASIR2005,OU=Egitim,DC= mayasoft ,DC=com,DC=tr ” , Yasinasir2005,yasinasir2005@mayasoft.com.tr,891-1239, Egitim,512,user

    3.Asagidaki komutu uygulayin.

CSVDE -i -k -f olustur.csv

 

ACTIVE DIRECTORY`DE

BAZI NESNE NİTELİKLERİ (ATTRIBUTES)


LDAP Attribute

 

Örnek

 

CN - Common Name  CN=Mesut Aladag.  Aslında bu LDAP niteliği givenName ile SN birleşiminden oluşur. 
displayName  displayName = Mesut Aladag.  Görünen isim.
DN - distinguishedName   DN en önemli LDAP niteliğidir.
CN=Mesut Aladag, OU=egitim, DC=mayasoft, DC=com,DC=tr
name  name=Mesut Aladag.CN ile aynıdır. 
objectClass  objectClass =UserÂ
Objenin tipine göre computer, group organizationalUnit, hatta container bile olabilir.
samAccountName  samAccountName = MesutA. Eski NT 4.0 logon ismi. Bu isim forest içerisinde tek olmalıdır.
SN  SN=Aladag. LastName olarak görülür. Kişinin soyadı.
userAccountControl  Kullanıcı hesabını disable yapmak için kullanılır. 514 değeri hesabı disable ederken, 512 değeri enable yapar.
UserPrincipleName  userPrincipleName = MesutA@mayasoft.com.tr . UPN olarak kısaca bilinir. Ve e-mail adresi formatındaki logon ismidir. UPN ismi forest içerisinde tek olmalıdır.

DS KOMUT SATIRI ARAÇLARI – IV

Active Directory, Scripting, Windows Server 21 Comments »

DSGET

Kontrol amaçlı kullanılan komuttur. Fonksiyonu, nitelikleri belirtilen bir objenin ozelliklerini getirir.

 

dsget computer : Bilgisayar hesabının özelliklerini getirmek için kullanılır.

dsget contact : Contact hesabı özelliklerini getirmek için kullanılır.

dsget group : Grup hesabı özelliklerini getirmek için kullanılır.

dsget ou : Organizational Unit özelliklerini getirmek için kullanılır.

dsget user : Kullanıcı hesabı özelliklerini getirmek için kullanılır.

dsget quota : Active directory içerisindeki directory partition için kota(quato) özelliklerini getirmek için kullanılır.

dsget site : Active directory içerisinde site özelliklerini getirmek için kullanılır.

dsget server : Active directory içerisinde server özelliklerini getirmek için kullanılır.

dsget subnet : Active directory içerisinde subnet özelliklerini getirmek için kullanılır.

dsget partition : Active directory içerisinde partition özelliklerini getirmek için kullanılır.

 

Bu komutlarla ilgili komut satırından detaylı yardım almak için yapmanız gereken “dsget <ObjeTipi> /?” komutunu kullanmanızdır. ÖrneÄŸin “dsget user /?” size kullanıcı özelliklerini getirmekle ilgili parametreleri getirir.

 

Mayasoft.com.tr domainindeki Ogrenciler OU’su içerisindeki betul2005 kullanicisinin grup uyeliklerini listeler.

dsget user “CN=betul2005,OU=OGRENCILER,dc=MAYASOFT,dc=COM,DC=TR” -memberof

 

Mayasoft.com.tr domainindeki Ogrenciler OU’su içerisindeki betul2005 kullanicisinin grup uyeliklerini C: sürücüsündeki betul.txt dosyasına raporlar.

dsget user “CN=betul2005,OU=OGRENCILER,dc=MAYASOFT,dc=COM,DC=TR” -memberof >c:\betul.txt

 


Mayasoft.com.tr domainindeki Ogrenciler OU’su içerisindeki adi OGR ile baslayan kullanicilari sorgula ve descriptionlarini goster.

dsquery user “OU=OGRENCILER, dc=MAYASOFT,dc=COM,DC=TR” -name ogr* | dsget user -desc

 

 

DSRM

 

Active directory içerisindeki objeleri siler.

 

Komut Dizimi:

 

dsrm <ObjectDN> [-noprompt] [-subtree [-exclude]] [{-s <Server> | -d <Domain>}] [-u <UserName>] [-p {<Password> | *}] [-c] [-q] [{-uc | -uco | -uci}]

 

Mayasoft.com.tr domainindeki ogrenciler OU’su içerisindeki betul2005 kullanicisini siler.

 

Dsrm “CN=betul2005,OU=ogrenciler,dc=MAYASOFT,dc=COM,dc=TR”

 

Komutu yazıp Enter tuşuna basınca aşağıdaki uyarı mesajını getirir ve bizden onay ister:

Are you sure you wish to delete CN=betul2005,OU=ogrenciler,dc=MAYASOFT,dc=COM,dc

=TR (Y/N)?

Y tuşuna basarak silme işlemini onaylamış oluyoruz. Eğer bizden onay almaya gerek kalmadan silsin isterseniz –noprompt parametresini kullanmanız yeterlidir. Karşımıza silme işleminin başarıyla tamamlandığını belirten aşağıdaki mesaj belirecektir.

 

Dsrm succeeded:CN=betul2005,OU=ogrenciler,dc=MAYASOFT,dc=COM,dc=TR

 

Mayasoft.com.tr domainindeki ogrenciler OU’sunu ve içerisindeki butun objeleri silmek için ise aÅŸağıdaki komutu uygulayın:

 

Dsrm –subtree –c “OU=ogrenciler,dc=MAYASOFT,dc=COM,dc=TR”

 

Mayasoft.com.tr domainindeki egitim OU’su içerisindeki butun objeleri silmek için ise aÅŸağıdaki komutu uygulayın(Dikkat ederseniz burada egitim OU’su kalacak sadece onun içerisindeki objeler silinecektir. :

 

Dsrm –subtree –exclude –c “OU=ogrenciler,dc=MAYASOFT,dc=COM,dc=TR”

DS KOMUT SATIRI ARAÇLARI – III

Active Directory, Scripting, Windows Server 128 Comments »

DSMOVE

 

Active Directory objelerini baska konumlara tasir ya da objelerin isimlerini deÄŸistirmeyi saÄŸlar.

 

Komut Dizimi:

 

dsmove <ObjectDN> [-newparent <ParentDN>][-newname <NewName>]

[{-s <Server> | -d <Domain>}] [-u <UserName>] [-p {<Password> | *}] [-q] [{-uc | -uco | -uci}]

 

Uygulama 1:

 

mayasoft.com.tr domainindeki Egitim OU`su icerisindeki betul kullanicisinin adini sinem olarak degistirir.

 

Dsmove “CN=betul,OU=Egitim,DC=Mayasoft,DC=Com,DC=TR” -newname “sinem”

 


 

Uygulama 2:

 

mayasoft.com.tr domainindeki Egitim OU`su icerisindeki sinem kullanicisini Ogrenciler OU`suna tasir ve ismini de betul2005 olarak degistirir.

Dsmove “CN=sinem,OU=egitim,DC=Mayasoft,DC=Com,DC=tr” -newparent OU=Ogrenciler,DC=Mayasoft,DC=Com,DC=tr -newname “betul2005″

 


DSQUERY

 

Kontrol amaçlı kullanılan komuttur. Fonksiyonu, belirtilen niteliklere (attribute) uyan objeleri sorgular ve listelemeyi sağlar.

 

dsquery computer : Bilgisayar hesabı sorgulamak için kullanılır.

dsquery contact : Contact 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ı sorgulamak için kullanılır.

dsquery quota : Active directory içerisindeki directory partition için kota(quato) sorgulamak için kullanılır.

dsquery site : Active directory içerisinde site sorgulamak için kullanılır.

dsquery server : Active directory içerisinde server sorgulamak için kullanılır.

dsquery subnet : Active directory içerisinde subnet sorgulamak için kullanılır.

dsquery partition : Active directory içerisinde partition sorgulamak için kullanılır.

dsquery * : Active directory içerisinde özel LDAP kodları ile sorgulama yapmak için kullanılır.

 

Bu komutlarla ilgili komut satırından detaylı yardım almak için yapmanız gereken “dsquery <ObjeTipi> /?” komutunu kullanmanızdır. ÖrneÄŸin “dsadd user /?” size kullanıcı sorgulamakla ilgili parametreleri getirir.

 

DSQUERY OU [{<StartNode> | forestroot | domainroot}] [-o {dn | rdn}] [-scope {subtree | onelevel | base}] [-name <Name>] [-desc <Description>] [{-s <Server> | -d <Domain>}] [-u <UserName>]

[-p {<Password> | *}] [-q] [-r] [-gc] [-limit <NumObjects>] [{-uc | -uco | -uci}]

 

Domain icerisinde adi “ma” ile baslayan tum OU`lari bulmak icin:

dsquery ou domainroot -name ma*

 


Domain icerisinde adi “ma” ile ve description`i “MAYASOFT” ile baslayan tum OU`lari bulmak icin:

dsquery ou domainroot -name ma* -desc egitim*

 

MAYASOFT.COM.TR domainindeki tum OU`lari listelemek icin:

dsquery ou DC=Mayasoft,DC=Com,DC=TR

 


DSQUERY USER [{<StartNode> | forestroot | domainroot}] [-o {dn | rdn | upn | samid}] [-scope {subtree | onelevel | base}] [-name <Name>] [-desc <Description>] [-upn <UPN>] [-samid <SAMName>] [-inactive <NumWeeks>] [-stalepwd <NumDays>] [-disabled] [{-s <Server> | -d <Domain>}] [-u <UserName>] [-p {<Password> | *}] [-q] [-r] [-gc] [-limit <NumObjects>] [{-uc | -uco | -uci}]

 

MAYASOFT.COM.TR domainindeki OGRENCILER OU`su altinda adi OGR ile baslayan kullanıcıları listelemek icin:

dsquery user OU=Ogrenciler,DC=Mayasoft,DC=Com,DC=TR -o samid -name ogr*

 

MAYASOFT.COM.TR domainindeki OGRENCILER OU`su altinda adi OGR ile baslayan ve kullanici hesabi disabled edilmis olanlari listelemek icin:

dsquery user OU=Ogrenciler,DC=Mayasoft,DC=Com,DC=TR -o samid -name ogr* -disabled

 

MAYASOFT.COM.TR domainindeki OGRENCILER OU`su icerisindeki kullanicilari listelemek icin:

dsquery user OU=Ogrenciler,DC=Mayasoft,DC=Com,DC=TR -o upn

 

MAYASOFT.COM.TR domainindeki OGRENCILER OU`su icerisindeki kullanicilarin listesini C: sürücüsündeki liste.txt dosyasına listemek için:

dsquery user OU=Ogrenciler,DC=Mayasoft,DC=Com,DC=TR >>”c:\userinfo.txt”

 



Copyright © 2007 Mesut ALADAÄž. All rights reserved.