Merhaba arkadaşlar,
aşağı yukarı 250-300 kullanıcılı bir etki alanına sahibiz.
Domain user oturumunda kullandığımız otomasyon programı web tabanlı olup internet explorer üzerinden çalışıyor ve zaman zaman raplorlamalarda internet explorer'ı tıkayıp zorlayarak programı sonlandırmaya zorluyor.
domain user'ların yetkileri çok kısıtlı, görev yönetici, komut satırı vb erişim yetkileri yok. bunun için bende taskkill.exe 'yi bir .bat dosyasında çağırıyorum ve ayrıyetten de bu .bat dosyasını bir .vbs içinde runas ile admin yetkileriyle çalıştırarak iexplore.exe 'yi sonlandırmış oluyorum.
en iyisi dosyaları ve içeriklerini buraya kopyalayayım;
1. Taskkill-iexplore.bat
2. Runas_Taskkill-iexplore.vbs
Taskkill-iexplore.bat dosyası içeriği;
taskkill.exe /FI "IMAGENAME eq iexplore*" /F /T
bunu yapmamın sebebi, otomasyon programı kendi içinde raporlama yaparken 64bit işletim sistemlerinde iexplore.exe ve iexplore.exe*32 olarak çalışıyor. direk taskkill iexplore.exe komutu ile iexplore.exe*32 kapanmıyor o yüzden "IMAGENAME eq iexplore*" parametresini kullanıyorum.
Runas_Taskkill-iexplore.vbs dosyası içeriği;
set WshShell = CreateObject("WScript.Shell")
WshShell.Run "runas /user:etkialani\DomainAdmin ""d:\Taskkill_iexplore.bat"""
WScript.Sleep 1000
WshShell.Sendkeys "ŞİFRE"
WshShell.Sendkeys "{ENTER}"
WScript.Quit()
bu vbs dosyası da Taskkill-iexplore.bat dosyasını Admin yetkileriyle çalıştırmayı sağlıyor.
dosyayı ScriptEncode ile şifreliyorumki dosyaya sağ tık düzenle dediklerinde şifreyi falan göremesinler.
şuan bir problemim yok ama benim yapmak istediğim şey bu yaptığım iki aşamalı işlemi tek dosya ile yapmak. bu işlemi ya bat ile ya vbs ile tek dosyada yapmak istiyorum.
vbs ile yapmak istersem aşağıdaki koda runası nasıl eklemeliyim, denemelerim sonuçsuz kaldı içinden çıkamadım.
Dim WshShell, oExec
Set WshShell = CreateObject("WScript.Shell")
Set oExec = WshShell.Exec("taskkill /fi ""imagename eq iexplore*"" /F /T ")
Do While oExec.Status = 0
WScript.Sleep 100
Loop
aşağı yukarı 250-300 kullanıcılı bir etki alanına sahibiz.
Domain user oturumunda kullandığımız otomasyon programı web tabanlı olup internet explorer üzerinden çalışıyor ve zaman zaman raplorlamalarda internet explorer'ı tıkayıp zorlayarak programı sonlandırmaya zorluyor.
domain user'ların yetkileri çok kısıtlı, görev yönetici, komut satırı vb erişim yetkileri yok. bunun için bende taskkill.exe 'yi bir .bat dosyasında çağırıyorum ve ayrıyetten de bu .bat dosyasını bir .vbs içinde runas ile admin yetkileriyle çalıştırarak iexplore.exe 'yi sonlandırmış oluyorum.
en iyisi dosyaları ve içeriklerini buraya kopyalayayım;
1. Taskkill-iexplore.bat
2. Runas_Taskkill-iexplore.vbs
Taskkill-iexplore.bat dosyası içeriği;
taskkill.exe /FI "IMAGENAME eq iexplore*" /F /T
bunu yapmamın sebebi, otomasyon programı kendi içinde raporlama yaparken 64bit işletim sistemlerinde iexplore.exe ve iexplore.exe*32 olarak çalışıyor. direk taskkill iexplore.exe komutu ile iexplore.exe*32 kapanmıyor o yüzden "IMAGENAME eq iexplore*" parametresini kullanıyorum.
Runas_Taskkill-iexplore.vbs dosyası içeriği;
set WshShell = CreateObject("WScript.Shell")
WshShell.Run "runas /user:etkialani\DomainAdmin ""d:\Taskkill_iexplore.bat"""
WScript.Sleep 1000
WshShell.Sendkeys "ŞİFRE"
WshShell.Sendkeys "{ENTER}"
WScript.Quit()
bu vbs dosyası da Taskkill-iexplore.bat dosyasını Admin yetkileriyle çalıştırmayı sağlıyor.
dosyayı ScriptEncode ile şifreliyorumki dosyaya sağ tık düzenle dediklerinde şifreyi falan göremesinler.
şuan bir problemim yok ama benim yapmak istediğim şey bu yaptığım iki aşamalı işlemi tek dosya ile yapmak. bu işlemi ya bat ile ya vbs ile tek dosyada yapmak istiyorum.
vbs ile yapmak istersem aşağıdaki koda runası nasıl eklemeliyim, denemelerim sonuçsuz kaldı içinden çıkamadım.
Dim WshShell, oExec
Set WshShell = CreateObject("WScript.Shell")
Set oExec = WshShell.Exec("taskkill /fi ""imagename eq iexplore*"" /F /T ")
Do While oExec.Status = 0
WScript.Sleep 100
Loop