Friday 11 November 2011

Script ile masaustune kisayol yaratmak

Merhaba

SCCM ile dagitmam gereken bir uygulama gecti elime, uygulamanin konfigurasyon dosyasini ise script ile kurulum sirasinda oturum acan kullaniciya gore otomatik olarak duzenlemek ve olusutulan konfigurasyon dosyasina ait bir kisayolu yine oturum acan kullanicinin masaustune yerlestirmem gerekti.
Technet sayfalarinda yeterince detayli bir script bulunmakta simdi bu scripti nasil bu amaca uygun hale getirebildigimize bakalim.

Mevcut script :
Set objShell = WScript.CreateObject("WScript.Shell")
strDesktopFolder = objShell.SpecialFolders("AllUsersDesktop")
Set objShortCut = objShell.CreateShortcut(strDesktopFolder & "\IIS Manager.lnk")
objShortCut.TargetPath = "%SystemRoot%\System32\Inetsrv\iis.msc"
objShortCut.Save

 

Yukarida goruldugu gibi WshShortcut objesi CreateObject ile cagrilarak yaratildiktan sonra strDesktopFolder'a AllUsersDesktop degeri atanmakta objShortCut.TargetPath ile de kisayolun cagiracagi obje tanimlanmakta , ancak biz her kullanicinin kendi profil klasorunde duran bir dosya icin kisayol yaratacagimiz icin, hem masaustu hem de cagirilacak dosyanin diskteki yerini oturum acan kullaniciya gore dinamik olarak belirlemek zorundayiz , bu amaca ulasmak icin basit bir sekilde sisteme oturum acan kullanicinin profil klasorunu belirleyecegiz.

UsersProfile = objShell.ExpandEnvironmentStrings("%USERPROFILE%")

satiri ile sisteme oturum acmis olan kullanicininin profil klasoru adresini UsersProfile degiskenine atiyoruz. Bunun sonucunda UsersProfile oturum acan kullanicinin profil klasorune yani ornek vermek gerekirse C:\Documents and Settings\oshener degerini aliyor.

*Ipucu : objShell.ExpandEnvironmentStrings ile Command Prompt da Set komutunu calistirdigimizda gelen listeden farkli obje ve degerlerinide (%...%) kismini degistirerek cekebilirsiniz.

Simdi objShortCut.TargetPath ile kurulum ile yerlestirilen konfigurasyon dosyasinin yerini belirleyelim. Diyelim ki cagiracagimiz dosya kullanici profili klasoru icinde bulunan DW klasoru altinda ki DW.Conf dosyasi olsun,

ConfFile = UsersProfile & "\DW\DW.conf"

ile dosyamizi kaynak adresi ile beraber ConfFile degiskenine atamis,

objShortCut.TargetPath = ConfFile

ile ise yaratacagimiz kisayolun cagiracagi dosyayi gosterdik.

Simdi kisayolumuzun yaratilacagi yeri oturum kullanicinin masaustu bilgisini kullanarak tanimlayalim

strDesktopFolder = objShell.SpecialFolders("Desktop")

komutu ile oturum acan kullanicinin masaustu klasoru adresini cekebiliyoruz , eger bu imkan olmasa idi , daha once yarattigimiz UsersProfile degerine & "\Desktop" metnini ekleyerek ayni bilgiyi yaratabilirdik.

Set objShortCut = objShell.CreateShortcut(strDesktopFolder & "\DWConf.lnk")+

komutu ile de yaratacagimiz kisayolun tam hedefini tanimliyoruz.

Simdi degisiklikleri toparlayarak nasil bir scriptimiz oldu kontrol edelim.
Set objShell = WScript.CreateObject("WScript.Shell")
UsersProfile = objShell.ExpandEnvironmentStrings("%USERPROFILE%")
strDesktopFolder = objShell.SpecialFolders("Desktop")
Set objShortCut = objShell.CreateShortcut(strDesktopFolder & "\DWConf.lnk")
objShortCut.TargetPath = UsersProfile & "\DW\DW.conf"
objShortCut.Save

Eger arzu ederseniz yine yukarida adreste bulabileceginiz degerler ile kisayolunuz Kisayol tusu, aciklama, calisma klasoru belirleyebilirsiniz bunun icin tek yapmaniz gereken objShortCut. ile degeri tanimlamak olacaktir. (Ornek : objShortCut.HotKey = "Ctrl+Shift+D")

No comments:

Post a Comment