Скрытое выполнение 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)
WshShell
равный нулю.
Зачем Вы прерываете процессы? Если уж у Вас без проблем работает «.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. Если не трудно, покажите как должно выглядеть.
|
Цитата:
Цитата Rbuha
в таком виде вообще не работает. »
|
Третий параметр в Вашем случае должен быть «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 секунд после запуска выдаёт множество сообщений об ошибке

|
Время: 22:39.
© OSzone.net 2001-