Показать полную графическую версию : Скрытое выполнение vbs
Здравствуйте уважаемые, форумчане! Помогите дописать скрипт так, чтобы при его выполнении на рабочем столе ни чего не отображалось.
set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.run "telnet.exe 192.168.1.1"
WScript.Sleep 5000
WshShell.SendKeys"admin" & chr(13)
WScript.Sleep 5000
WshShell.SendKeys"1234" & chr(13)
WScript.Sleep 5000
WshShell.SendKeys"system reboot" & chr(13)
WScript.Sleep 3500
ProcessClose("cmd.exe")
ProcessClose("telnet.exe")
Function ProcessClose(sProcName)
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery("Select * from Win32_Process Where Name = '" & sProcName & "'")
For Each objProcess in colProcessList
objProcess.Terminate()
Next
End Function
Используйте второй параметр метода «.Run()»:
Run Method (Windows Script Host) (https://msdn.microsoft.com/en-us/library/d5fk67ky(v=vs.84).aspx)
WshShell (http://www.script-coding.com/WSH/WshShell.html#3.4.)
равный нулю.
Зачем Вы прерываете процессы? Если уж у Вас без проблем работает «.SendKeys()», так и отсылайте «quit» и «exit» соответственно.
Iska,
set WshShell = WScript.CreateObject("WScript.Shell")
Return = WshShell.run ("telnet.exe 192.168.1.1", 0, true)
WScript.Sleep 5000
WshShell.SendKeys"admin" & chr(13)
WScript.Sleep 5000
WshShell.SendKeys"1234" & chr(13)
WScript.Sleep 5000
WshShell.SendKeys"system reboot" & chr(13)
WScript.Sleep 3500
ProcessClose("cmd.exe")
ProcessClose("telnet.exe")
Function ProcessClose(sProcName)
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery("Select * from Win32_Process Where Name = '" & sProcName & "'")
For Each objProcess in colProcessList
objProcess.Terminate()
Next
End Function
в таком виде вообще не работает.
Зачем Вы прерываете процессы? Если уж у Вас без проблем работает «.SendKeys()», так и отсылайте «quit» и «exit» соответственно.
Такой скрипт скачал с сайта zyxel. Если не трудно, покажите как должно выглядеть.
в таком виде вообще не работает. »
Третий параметр в Вашем случае должен быть «False», а не «True».
Iska,
set WshShell = WScript.CreateObject("WScript.Shell")
Retum = WshShell.run ("telnet.exe 192.168.1.1",0,False)
WScript.Sleep 5000
WshShell.SendKeys"admin" & chr(13)
WScript.Sleep 5000
WshShell.SendKeys"1234" & chr(13)
WScript.Sleep 5000
WshShell.SendKeys"system reboot" & chr(13)
WScript.Sleep 3500
ProcessClose("cmd.exe")
ProcessClose("telnet.exe")
Function ProcessClose(sProcName)
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery("Select * from Win32_Process Where Name = '" & sProcName & "'")
For Each objProcess in colProcessList
objProcess.Terminate()
Next
End Function
Через ~20 секунд после запуска выдаёт множество сообщений об ошибке
http://i67.fastpic.ru/big/2015/1127/45/b737900bfdb94cdfa3a12d6898afae45.png
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.