Runas komutu ile Taskkill hk.

Katılım
6 Şubat 2015
Mesajlar
11
Excel Vers. ve Dili
2016
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
 
Katılım
24 Nisan 2005
Mesajlar
3,671
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Autoit kullanın.
Hem derleyip exe de yapmış olursunuz.

Aşağıdaki kod işinizi görecektir.

.bat a da gerek kalmayabilir. BAT daki komutu direk autoit in içinden de çalıştırabilir.

Kontrol edip bilgi veririm.

Kod:
#include <AutoItConstants.au3>

Local $sUserName = "kullanici"
Local $pass1= "s"
Local $pass2= "i"
Local $pass3= "f"
Local $pass4= "r"
Local $pass5= "e"
Local $pass6= "e"
Local $sPassword= $pass1 & $pass2 & $pass3 & $pass4 & $pass5 & $pass6

Local $sDomain = @ComputerName
Local $sProgram = @TempDir  &"\[B]Taskkill-iexplore.bat[/B]
Local $iPID = RunAs($sUserName, @ComputerName, $sPassword, $RUN_LOGON_NOPROFILE, $sProgram, "", @SW_SHOWDEFAULT)
 
Katılım
24 Nisan 2005
Mesajlar
3,671
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Aşağıdaki kodu derlediğinizde oluşacak bir exe ile bat dosyanızı runas ve görünmez olarak çalıştırabilir siniz.

Windows 8.1 pro 64 bit de denendi.

iekapat.bat içeriği

Kod:
taskkill.exe /FI "IMAGENAME eq iexplore*" /F /T
Autoit runas scripti

Kod:
#include <AutoItConstants.au3>
#include <MsgBoxConstants.au3>
FileDelete(@TempDir & '\iekapat.bat')
FileInstall("iekapat.bat", @TempDir & "\iekapat.bat")
Local $sUserName = "administrator"
Local $pass1= "s"
Local $pass2= "i"
Local $pass3= "f"
Local $pass4= "r"
Local $pass5= "e"
Local $pass6= "e"
Local $sPassword= $pass1 & $pass2 & $pass3 & $pass4 & $pass5 & $pass6

Local $sDomain = @ComputerName
Local $sProgram =@TempDir & '\iekapat.bat'
Local $iPID = RunAs($sUserName, @ComputerName, $sPassword, $RUN_LOGON_NOPROFILE, $sProgram, "", @SW_MINIMIZE)
 
Katılım
6 Şubat 2015
Mesajlar
11
Excel Vers. ve Dili
2016
cevabınız için çok teşekkür ederim, autoit'i yer yer kullanıyorum, güzel bir derleme olmuş
ancak bu işlemi zaten ben mevcut olarak yapıyorum belirttiğim 2 dosya ile, vbs içeriğim şifreli normalde bu şekilde kodların görüldüğüne bakmayın, ScriptEnc adında bir program ile içeriği şifreliyorum şifre görünmesiyle ilgili ondan yana yani sıkıntım yok,

benim istediğim şey bu yaptığımız işlemleri tek bir dosya il yapabilmek, ayrıyetten bir bat veya herhangi bir dosyaya gereksinim duymadan
 
Katılım
24 Nisan 2005
Mesajlar
3,671
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
cevabınız için çok teşekkür ederim, autoit'i yer yer kullanıyorum, güzel bir derleme olmuş
ancak bu işlemi zaten ben mevcut olarak yapıyorum belirttiğim 2 dosya ile, vbs içeriğim şifreli normalde bu şekilde kodların görüldüğüne bakmayın, ScriptEnc adında bir program ile içeriği şifreliyorum şifre görünmesiyle ilgili ondan yana yani sıkıntım yok,

benim istediğim şey bu yaptığımız işlemleri tek bir dosya il yapabilmek, ayrıyetten bir bat veya herhangi bir dosyaya gereksinim duymadan

iyi de zaten benim verdiğim kodlar hiç bir dosyaya gereksinim duymuyor.
Tek bir exe ile sorunu çözmüş oluyorsunuz. : )

exe derlenmeden önceki bat dosyası sadece bir kaynak.
Derlendikten sonra ona ihtiyaç kalmıyor.

Ben vbs ve bat kullanıcam başka bir şekilde çözmek istemiyorum diyorsanız . O ayrı, bir şey diyemem.
 
Katılım
6 Şubat 2015
Mesajlar
11
Excel Vers. ve Dili
2016
a pardon kod içeriğine tam oalrak bakmadan yorum yapmıştım da şimdi inceleyip uyguladım ve sonuç tam olark istediğim gibi ;)

çok sağolun
 
Katılım
6 Şubat 2015
Mesajlar
11
Excel Vers. ve Dili
2016
Merhabalar yeniden :)

hocam bir sorum daha olacaktı, aynı işlemi administrator ile değilde domain admin kullanıcısı ile nasıl yapabilirim?

örnek:
etki alanı: limon
kullanıcı: master

olsun?

ilgili yerleri değiştirerek denedim olmadı, yardımcı olabilirmisin
 
Üst