Forum
Merhaba,
Server ortaminda 40 client icin surekli kullanilan 10 adet programin linkini desktopa otomatik olarak atmak istiyorum ve bu linkleri kullanicilarin silmemesi gerekli.
Bunun icin bir bat dosyasi hazirladim.
copy \\serveradi\links\*.lnk %homedrive%%homepath%\desktop /Y
Bunu da bir policy ile logon script olarak attim. Calismadi.
Yukardaki komutu elle girdim. Access Denied diyor. Desktop a yazma hakkini degistirmemiz lazim heralde...
Nasil kopyalarim? Veya baska bir cozum varmidir?
Tesekkuler...
Selam.
http://www.omerkaradeniz.com/2008/10/22/domaindeki-tm-makinelerin-masastne-kisayol-olusturmak/
Malesef denedim olmadi yine access is denied hatasini aldim.
Desktopa komutla kopyalama islemi gerceklestiremiyorum. Ama surukle birak ile calisyor.
Sorunu tam anlamadim neden izin vermiyor?
Merhabalar,
GPO uzerinde bir logon ya da startup script ile bunu gerceklestirmeniz mumkun. Logon ya da Startup Script olarak da VBS ya da batch dosya alternatiflerini kullanabilirsiniz:
Batch file kodu icin asagidaki ornegi kullanabilirsiniz :
Run1.bat
copy \\ServerAdi\PaylasimAdi\KisayolAdi.lnk %allusersprofile%\desktop /y
Bu kodu Computer Startup Script ile uygularsaniz o bilgisayar uzerindeki tum giris yapmis kullanicilarin profillerinde Desktop altina kisayol linkini atar. Eger sadece bir ya da bir kac kullanicida bu kisayolu olusturmak isterseniz de asagidaki script kullanabilirsiniz.
Run2.bat
copy \\ServerAdi\PaylasimAdi\KisayolAdi.lnk %userprofile%\desktop /y
Batch Script ile yapilan bir diger ornek de asagidadir:
"kisayol.lnk" olusacak kisayolun adi olsun.Bu dosyayi da SERVER isimli bilgisayarin KISAYOLLAR isimli paylasim klasorune koydugunuzu farzederek, kullanmaniz gereken batch dosyasi asagidaki sekilde olacaktir:
Run3.bat
@echo off
cls
if exist "%userprofile%\desktop\kisayol.lnk" goto son
net use K: \\Server\KISAYOLLAR
copy K:\kisayol.lnk "%userprofile%\desktop"
echo "Olusturuluyor."
net use k: /delete
son:
echo
echo "Islem Tamamlandi"
Bu batch script icerisinde Desktop'da kisayol varmi once kontrol edilip, sonra bir ara map drive ile Desktop'da kisayol linki olusturup, sonra da bu gecici olarak kullanilan map drive siliniyor.
Visual Basic Scripting icin asagidaki ornegi kullanabilirsiniz :
Run1.vbs
set WshShell = WScript.CreateObject("WScript.Shell")
strDesktop = WshShell.SpecialFolders("Desktop")
set oUrlLink = WshShell.CreateShortcut(strDesktop & "\MS Script Center.url")
oUrlLink.TargetPath = " http://www.microsoft.com/technet/scriptcenter/default.mspx "
oUrlLink.Save
Bu ornekte eger birden fazla kisayolu masaustunde olusturmak isterseniz de asagidaki script’i kullanabilirsiniz:
Run2.vbs
set WshShell = WScript.CreateObject("WScript.Shell")
strDesktop = WshShell.SpecialFolders("Desktop")
set oUrlLink = WshShell.CreateShortcut(strDesktop & "\MS Script Center.url")
oUrlLink.TargetPath = " http://www.microsoft.com/technet/scriptcenter/default.mspx "
oURLLink.Save
set oUrlLink = WshShell.CreateShortcut(strDesktop & "\ITSTACK.url")
oUrlLink.TargetPath = " http://www.ITSTACK.com.tr "
oURLLink.Save
Not: burada url yerine lnk ile dosya linki verebilirsiniz. Bu durumda TargetPath kismina \\ServerAdi\PaylasimAd\KisayolAdi.lnk uygulamaniz gerekecektir.
Ister Batch dosya ile ister VBS dosyasi ile yapin, olusturdugunuz bu script’i bir OU’ya uygulayacaginiz GPO icerisinde Computer Configuration à Windows Settings à Scripts (Startup/Shutdown) à Startup ya da User Configuration à Windows Settings à Scripts (Logon/Logoff) à Logon altindan eklemeniz gerekir.
Mesut ALADAG
Technology Director
Microsoft Certified Trainer
www.ITSTACK.com.tr | www.mesutaladag.com | www.cozumpark.com
Mesut hocam tesekkurler VBS script ile calisti. Bat olarak denedigimde desktop a kopyalamaya izin vermedi. Nedenini bilemiyorum...
Tesekkurler
Peki hocam ben bir klasörün kısa yolunu atmak istersem nasıl yapacağım.
Geri bildirim ;
Set objShell = WScript.CreateObject("WScript.Shell") strDesktopFolder = objShell.SpecialFolders("Desktop") Set objShortCut = objShell.CreateShortcut(strDesktopFolder & "\Ortak Çalışma Alanı.lnk") objShortCut.TargetPath = """\\192.168.1.1\Share""" '<-- only the executable 'objShortCut.Arguments =" -pf s:\config\help.pf -basekey INI -ininame s:\config\help.ini -T ""%TEMP%""" '<-- argument stored in here objShortCut.Description = "Manuals & Procedures" objShortCut.Save
bu script ile yapabildim yanlız şöyle bir nokta var vista ve xp için " objShell.SpecialFolders("Desktop") " bu kısımda desktop yazmalı win7 için
" objShell.SpecialFolders("AllUsersDesktop") " yazılmalı
Saygılar.
Güzel bir script, geri bildirim için teşekkürler.