Monday 22 February 2010

Bir OU icindeki tum kullanicilarin sifresini degistirme

Active Directory niz de ki bir Organizational Unit icerisindeki tum kullanicilarin sifrelerini degistirmek istiyorsaniz bu islemi asagidaki scripti kullanarak rahatca yapabilirsiniz.
oContainer satirindaki LDAP adresini kendi OU nuzu gosterecek sekilde yapmayi unutmayiniz.

Ornegin domain adiniz firmam.com olsun Kullanicilar adinda bir OU nuz olsun ve bunun altinda Muhasebe adinda bir OU nuz var bu OU icindeki kullanicilarin sifrelerini degistirmek istiyorsunuz bu durumda asagidaki satiri "LDAP://OU=Muhasebe,OU=Kullanicilar,DC=Firmam,DC=com" seklinde degistirmeniz gerekecektir, deneme yapmaniz icin gecici bir OU ve icinde bir kullanici yaratip test etmenizi ayrica tavsiye ederim.

Dim oContainer
Set oContainer=GetObject("LDAP://OU=Ouname,DC=Domain,DC=com")
ModifyUsers oContainer
Set oContainer = Nothing
WScript.Echo "Finished"

Sub ModifyUsers(oObject)
Dim oUser
oObject.Filter = Array("user")
For Each oUser in oObject
oUser.SetPassword "YeniSifre1"
oUser.SetInfo
Next
End Sub

Saturday 6 February 2010

SMS ile paket yaratma

Bu yazimda SMS ile nasil paket ve program yaratilabilecegine deginecegim, daha sonraki yazilarimda ise bu yaratacagimiz paketi nasil Deploy edecegimize yani yayacagimiza, raporlarini nasil cekebilecegimize de deginecegim.

Anlatimlari yaparken bol bol screen capture kullanarak adim adim neler yapacagimizida gormenizi diliyorum. Ornek paket olarak SMS Advanced Client'a ait oldukca onemli bir Hotfix olan KB937882 hotfix paketini kullanacagiz, eger SMS Advanced Client kullaniyor ve clientlarinizda yavaslama yasiyorsaniz ve bunun sebebi wmiprsve.exe nin task manager da gozlemlediginizde %50 ye varan islemci kullanimi ise sizlerede asagidaki SMS Advanced Client guncellemesini yuklemenizi oneririm.

1. Oncelikle SMS yonetim konsolunu acip Packages kismina gelmeniz gerekmekte, sizlere tavsiyem Packages altinda bit hiyerarsi yaratmaniz olacaktir, ornegin
Applications , Patches, gibi ana klasorler altinda Office, Windows, Security vb. klasorleri daha sonra yaratacaginiz paketler icin gerekli klasorleri belli bir duzende olmasi icin agac yapisinda duzenlemeniz sizin icin faydali olacaktir.

Paketler kismina gelerek Yeni Paket secenegini secerek Package Properties penceresini aciniz.

paketyaratma1

2. Gelecek olan Package Properties penceresinde General Tab inda Name kismina paketinizin ismini yaziniz, eger varsa Version, Publisher ve Language gibi bilgileri de yazmanizda fayda var. Eger bu bilgileri ayri ayri yazacaksaniz , yazarken Name kisminin kendiliginden olustugunu farkedeceksiniz. Comment kismina dilediginiz aciklamalari ve unutmamaniz gereken notlari yazabilirsiniz, unutmayin ki uzun surecte kullanacaginiz bir sistem olacaginizdan gerek dokumantasyon gerekse notlarinizi kaybetmemelisiniz.

paketyaratma2

3. Data Source Tab'ina geldiginizde This Package contains source files secenegini seciniz bu secenegi secerek program icin gerekli kaynak dosyalarin oldugunu belirtmis olacaksiniz, normalde bu secenek secilmemis gelir cunku SMS paket icin Distribution Point kullanmamaktadir henuz. Bu secimi yaparak SMS in bu paket icin Distribution Point kullanacagini da belirtmis olursunuz.

Devaminda Set Source Directory secenegini secerek paketinizin bulundugu klasoru tanimlamalisiniz. Bu klasor hem SMS sunucunuzun lokalindeki bir klasor olabilir hem de bir network share deki klasor olabilir, bu ornekte SMS Advanced Client Patch i servis masasi elemanlari direkt SMS Client klasorunden de elle istemcilere yuklediklerinden ve patch kendini buraya yerlestirdiginden Network Share secili. Ben sahsen yaymakta oldugum tum paketleri SMS uzerinde ayri bir diskte SMS teki folder yapisina paralel bir yapida tutmakta oldugumdan Always obtain files from source directory secenegini kullaniyorum, ancak sizin program dosyalarinizin kaynagi gecici bir sure icin var olacak ise Use a compressed copy of the source directory secenegini secerek SMS in dosyalari alip compress ederek saklamasini saglayabilirsiniz. Ayrica Distribution Point lerinizin belli araliklarla guncellenmesini istiyorsaniz bunu da bu pencerede ayarlamaniz mumkun. Ancak siz kaynak klasordeki uygulamanizi devamli guncellemiyorsaniz bu isleme gerek duymayacaksinizdir. Sunu da belirtmekte fayda var ayni isimdeki bir kurulum dosyasini guncellemek yerine dosya isimlerini versiyonlandirmanizi tavsiye ederim , aksi takdirde tek bir dosya icin farkli versiyon numaralari tutacak olan SMS daha sonra is dagitima geldiginde onceki bir dagitima ait bir uygulamayi bulamadim veya dagitmak istedigim dosya degismis diyebilir.

paketyaratma3

 

paketyaratma4

4. Data access kisminda ise paketin Distribution Store larda nasil saklanacagini belirlemekteyiz, eger paketi SMS in default olarak yarattigi paylasimda tutacaksak varsayilan seklinde asagidaki gozuken secim sizin icin yeterli olacaktir, ama siz Distribution Pointlerde ayri bir ag paylasim klasoru yaratilmasini istiyorsaniz onu Share Distribution Folder secenegi secerek belirtebilirsiniz de. Ornek : \DPsunucuismiPackagesPatches

paketyaratma5

5. Islemi onayladiktan sonra Paketinizin yaratilmis oldugunu goreceksiniz, diger tablardaki ayrintilara farkli yazilarda yer verecegimden su an atliyorum , ancak ben yazmadan once bu bilgilere ihtiyaciniz olursa bana email yazabilirsiniz.

paketyaratma6

6. Simdi yayacagimiz programcigi yaratmamiz gerekmekte bunun icin asagida gozuktugu gibi paketimizin icinde New Program secenegini sececegiz.

paketyaratma7

7. Program Properties penceremiz acilinca burada programimizin istemci tarafinda nasil ve hangi komutla calistirilacagini ayarlayacagiz, screen capture da net gorunmeyen kisimlari yazi ile yazacagim.

Command Line : bilgisi sizin programinizin client da calistirilirken kullanilacak olan komutu belirler, su an hazirlamaya calistigimiz patch icin bu komut su sekilde olacak,
msiexec.exe /p SMS2003AC-SP3-KB937882-x86.msp /q REINSTALL=ALL REINSTALLMODE=mous
msiexec ile ilgili parametreleri msiexec komutunu calistirarak gormeniz de mumkun.
Yukaridaki ornek te /p ile paketin install edilmesi , /q ile sessiz yapilmazi, mous ile parametrelerdeki m o u s paratmetrelerinin secili oldugu, yeniden kurulma icin tumu seceneginin secildigini gorebilirsiniz.

paketyaratma8

paketyaratma14

8. Bu ekran goruntusunde ise programin penceresinin hangi modda calisacagini Run kismindaki seceneklerden secebilirsiniz.
paketyaratma9

9. Programin kurulduktan sonra alinacak aksiyonlari secebilirsiniz, ornegin bilgisayarin yeniden baslatilmasi veya baslatilmamasi, kullaninicinin oturumunun sonlandirilmasi gibi. Ayrica Requirements kismindan gerek duyulan bos disk alani ve ne kadar sure kurulumun zaman asimina ugraycagini belirleyebilirsiniz. Hangi isletim sistemlerinde kurulumun calisacaginida ayarlayayabilirsiniz, bu ozellik cok faydalidir soyle ki, 32 ve 64 bit surumu olan bir uygulamayi bu secenegi konfigure ederek yaydiginizda 32bit istemcilerde sadece 32bit platformlar icin konfigure ettiginiz programin gozuktugunu veya calistigini goreceksiniz, aynisi 64bit icin de gecerli, boylece mimariye gore farkli koleksiyon yaratmadan basit bir sekilde yayma islemi yapabilirsiniz.

paketyaratma10 paketyaratma11

10. Environment tab'i ise programimizin hangi haklar ile hangi durumda calisacagini belirtmek icin kullandigimiz onemli bir tab Program can run : menusunde gorebileceginiz secenekler ile ;

  • Only when user is logged on : sadece kullanici oturum acmis durumda ise



  • Only when no user is logged on : sadece kullanici oturum acmamis durumda ise



  • Whether or not a user is logged on : kullanici oturum acmis durumda ise veya oturum acmamis durumda ise


programinizin hangi durumlarda kurulabilecegini secebilirsiniz, bu secenekler gercek cok onemli bir rolu ustleniyor cunku bu secenekler sayesinde programinizin oturum acmis kullanici haklari ile mi yoksa Software Installation Account kullanilarak mi, ya da Administrative haklarlarmi kurulacagini secebiliyorsunuz, yani dagitimi yaptiginiz istemcilerde kullanicilar lokal yonetim haklarina sahip degilseler bu secenekler sizin icin ktirik olacagi gibi uygulamanin Advertisement yerine Assignment yontemi ile dagitilmasi gerektiginde de onemli olacaktir.

Ornekte dagitmak icin tanimladigimiz uygulama bir patch oldugu icin burada Only when no user is logged on secenegini seciyoruz , boylece guncellemenin herhangi bir kullanici Windows'ta oturum acmadigi zamanlarda yuklenmesini istemis oluyoruz, halkar da ise Run with Administrative Rights secerek guncellemenin yonetici haklari ile istemcide calismasini saglamis oluyoruz.

paketyaratma12

11. Advanced tab'in da ise Run another program first secnegini kullanarak calistirmak uzere oldugumuz uygulamadan once calistirmak istedigimiz baska bir uygulama var ise onu tanimliyoruz. Tabii ki bu yine SMS uzerinde olusturdugumuz baska bir paket olmali , bu secenek te bazi durumlarda cok kullanisli olacaktir, ornegin kuracaginiz bir uygulamanin calismasi icin ayri bir programin kurulu olmasi gerektigi durumlarda veya hazirladiginiz custom bir msi paketini calistirmadan once calistirmak istediginiz bazi seyler var ise.

Ayrica When this program assigned to a computer secenegi ile egere programi assign yontemi ile yayiyorsaniz, o bilgisayar da bir keremi calissin gibi ayari menuden secebilirsiniz, ve Suppress program notifications secenegi ile de programin kurulurken bilgilendirme mesajlarini gostermemesini saglayabilirsiniz.

Ok ile program olusturma islemi tamamlandiginda artik bir kac kucuk ayara daha yaparak . yaymak icin Advertisement yaratmaniz gerekecek bir programiniz var.
paketyaratma13