Bugun
, SMS 2003 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.
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
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%") ConfFile = UsersProfile & "\DW\DW.conf" strDesktopFolder = objShell.SpecialFolders("Desktop") Set objShortCut = objShell.CreateShortcut(strDesktopFolder & "\DWConf.lnk") objShortCut.TargetPath = ConfFile 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")