Eğer windows 7 ve üzeri sistemlerde UAC (Kullanıcı hesabı denetimi) açıksa .vbs scriptleri tıkladığınızda çalışmayacaktır , bunların yönetici olarak çalıştırılmaları gerekir , gel gelelim gerek Windows 7 de
1. .vbs için sağ tuşa yönetici olarak çalıştır eklemek : Böylece hem .vbs çalışmış olur hemde UAC yi kapatmak zorunda kalmayız , bunun için aşağıdaki .reg kaydını kullanabilirsiniz
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\VBSFile\Shell\RunAs] "HasLUAShield"="" [HKEY_CLASSES_ROOT\VBSFile\Shell\RunAs\Command] @=hex(2):22,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,\ 00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,57,00,\ 53,00,63,00,72,00,69,00,70,00,74,00,2e,00,65,00,78,00,65,00,22,00,20,00,22,\ 00,25,00,31,00,22,00,20,00,25,00,2a,00,00,00
Eğer ilgili Reg kaydını varsayılan haline döndürmek istersek aşağıdaki kaydı kullanmamız gerekir
Windows Registry Editor Version 5.00 [-HKEY_CLASSES_ROOT\VBSFile\Shell\RunAs]
Bu kodları bir notepad e yapıştırıp ve Dosya – Farklı Kaydet… seçeneğine tıklayın
Açılan pencerede herhangi bir isim verin (dosya ismi ve uzantısı kısmını isteğinize göre düzenleyin) ve .reg olarak kaydedip çalıştırın
sonuş aşağıdaki resimdeki gibi olacaktır , artık bir .vbs dosyasını sağ tıkladığınızda yönetici olarak çalıştır çıkacaktır
2. Her defasında sağ tıklayıp yönetici olarak çalıştır demek okadarda pratik birşey değildir , peki tıklandığında direkt yönetici olarak çalıştır onayı gelse çok daha iyi olmazmı ? işt .vbs kodumuzu aşağıdaki kodun Start of code ve End of code arasına yerleştirirsek (Aradaki kodu silerek) istediğimizi elde etmiş olur ve .vbs lerin Windows 7 ve üzerinde çalışmama sorununa çözüm bulmuş oluruz.
'-------------- 'Start of UAC workaround code If WScript.Arguments.length =0 Then Set objShell = CreateObject("Shell.Application") objShell.ShellExecute "wscript.exe", Chr(34) & _ WScript.ScriptFullName & Chr(34) & " uac", "", "runas", 1 Else '-------------- 'Start of code WScript.Echo "This code is ran as an elevated user, ie. 'Administrator'" '-------------- 'End of code '-------------- 'End of UAC workaround code End If
Eğer üstteki kod size karışık geldiyse aşağıdakini de kullanabilirsiniz
If Not WScript.Arguments.Named.Exists("elevate") Then CreateObject("Shell.Application").ShellExecute WScript.FullName _ , WScript.ScriptFullName & " /elevate", "", "runas", 1 WScript.Quit End If 'esas kod bundan sonra gelecek
Fakat bu yönetici olarak çalıştır kodlarında şöyle bir sorun oluşabilir ; eğer Current directory (Mevcut disin) kulanmak isterseniz script System32 de işlem göreceği için mesela bir kopylama işleminde ilgili dosyayı/klasörü orada arayacak ve hata verecektir bundan kaçınmak için aşağıdaki kod işinizi görecektir
If WScript.Arguments.Named.Exists("elevated") = False Then 'Launch the script again as administrator CreateObject("Shell.Application").ShellExecute "wscript.exe", """" & WScript.ScriptFullName & """ /elevated", "", "runas", 1 WScript.Quit Else 'Change the working directory from the system32 folder back to the script's folder. Set oShell = CreateObject("WScript.Shell") oShell.CurrentDirectory = CreateObject("Scripting.FileSystemObject").GetParentFolderName(WScript.ScriptFullName) End If 'Real code :
Yani üsttekini Mevcut dizin kodları bulunan Vbs scriptinde en başa kopyalar ve asıl kodlarınızı "Real code :" den sonra kullanırsanız script hem yönetici yetkilerinde çalışır hemde bulamadı hatası vermez.
dediğinizi yaptım birden heryer kitlendi kısayollar yanıp sönmeye başladı hiiç biryere tıklanmadı zorla görev yöneticisini açıp vbs yi kapattım
Çünkü O sırada bazı TEMP dosyaları kullanımdadır. bunu es geçmek için kodların başında aşağıdakini kullanmayı deneyin
On Error Resume Next
ben sizin oto dosya silicinizi geliştirerek temp dosyalarını silmesini sağladım ancak her türlü izin verilmedi diyor
Paketlemeden önce normal çalışıyorlarsa paketleyici bozuyor demektir.
Merhaba,
Ben masaüstünde kısyol oluşturan bir setup dosyası yapmak istiyorum. Ancak verdiğiniz vbs dosyalarını installerda paketlediğimde çalışmıyor. vbs dosyaları satır 1'de geçersiz karakter hatası veriyor. İşletim sistemi 8.1 Ne yapabilirim ?
İlgili registry kaydını Windows 10 dan windows 7 ye kadar bütün sistemlerde denedim sorunsuz çalışıyor yapamadığınız veya çalışmayan nedir ?
windows 10 kullanıyorum adım adım uyguladım yinede olmadı anlamadım
Reg kaydını varsayılana geri döndüren reg kaydı yazıya ilave edilmiştir , selamlar
Merhabalar çok yararlı paylasim fakat en başta verdiğiniz reg kodunu geri nasıl alabiliriz teşekkürler.
İlgin için teşekkür ederim Velociraptor harika bir uygulama olmuş ancak benim ihtiyacımı karşılamadı. Bir vbs dosyasını uygulamaya tanıtarak kısayol oluşturdum. Yönetici olarak çalıştırıyor ancak vbs komutu içinden çıktığımda beni admin oturumunun masaüstüne yönlendiriyor.
Benim vbscript içinde bir koda ihtiyacım var. User oturumunda vbs dosyasını yönetici olarak çalıştırmak istiyorum ancak komutun bir kısmı login olunan user hakları ile çalışması gerekiyor.
Örnek vermek gerekirse; ilk vbs user hakkı ile çalışacak onun içerisindeki koşul uygun ise ikinci vbs dosyası çağırılıyor. Benim ilk vbs'i user hakları ile ikinic vbs'i de admin haklı ile çalıştırmaya ihtiyacım var.
Teşekkürler.
Aşağıdaki yazılımımız işinizi görecektir
Web Link ...
Merhabalar, bilgi için teşekkür ederim. Benim şu şekilde bir ihtiyacım var.
User oturumunda bir vbs dosyasını yönetici olarak çalıştırmak istiyorum. Admin oturumunun şifresi bulunmakta. Vbs içerisine şifreyi girerek dosyaya çift tıkladığımda direk yönetici olarak çalıştırmak istiyorum.
Temelde ihtiyacım şöyle.
1. İlk komutum login olduğum domain user ile hakları ile otomatik çalışsın.
2. Daha sonra ikinci komutum ya da ikinci vbs/bat olabilir bu farketmez admin hakkı ile çalışsın.
Çok teşekkürler.