Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBS/WSH/JS - VBS и Radmin

Ответить
Настройки темы
VBS/WSH/JS - VBS и Radmin

Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


Доброго времени суток.
Есть куча удалённых компов, к которым постоянно приходится коннектиться по RAdmin. На всех машинах логин и пароль одинаковые. Для того, чтобы постоянно не вводить одни и те же логин и пароль, написал скрипт:

Код: Выделить весь код
set WshShell = WScript.CreateObject("WScript.Shell") 
WshShell.Exec ("""C:\Program Files (x86)\Radmin Viewer 3\Radmin.exe"" /connect:192.168.1.100:4899" ) 
WScript.Sleep 4000 
WshShell.SendKeys "admin" 
WshShell.SendKeys "{TAB}" 
WshShell.SendKeys "admin" 
WshShell.SendKeys "{ENTER}"
Подключение проходит и всё бы хорошо, но. Если на удалённом компе медленный интернет и окно ввода логина и пароля не появляется в течение времени(или не появляется вообще), указанного в Wscript.Sleep, то подключения не происходит, а почему-то открывается проводник.
И собственно вопрос. Можно ли переделать скрипт так, чтобы как только появлялось нужное окно, оно бралось в таргет и срабатывал SendKeys? Увеличивать Sleep не вариант, компьютеров очень много, и на большинстве из них скрипт работает, а ждать каждого подключения по 10-15 секунд не комильфо. Пробовал так:

Код: Выделить весь код
set WshShell = WScript.CreateObject("WScript.Shell") 
Set WshExec = WshShell.Exec ("""C:\Program Files (x86)\Radmin Viewer 3\Radmin.exe"" /connect:192.168.1.100:4899") 
If WshExec.Status Then WshShell.AppActivate(WshExec.ProcessID)  
WScript.Sleep 4000 
WshShell.SendKeys "admin" 
WshShell.SendKeys "{TAB}" 
WshShell.SendKeys "admin" 
WshShell.SendKeys "{ENTER}"
Скрипт работает точно так же, как и прежде. Подскажите, кто чем может

Отправлено: 09:53, 02-06-2016

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата Numufar:
Можно ли переделать скрипт так »
Нет. С «.SendKeys()» — нет.

Отправлено: 12:52, 02-06-2016 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
Нет. С «.SendKeys()» — нет. »
Оказывается, можно.

Код: Выделить весь код
Dim timeout  
timeout = 13  
set WshShell = WScript.CreateObject("WScript.Shell")  
Set WshExec = WshShell.Exec ("""C:\Program Files (x86)\Radmin Viewer 3\Radmin.exe"" /connect:192.168.1.100:4899")  
Do  
    If WshShell.AppActivate("Система безопасности Radmin: 192.168.1.100") Then  
  
        WshShell.SendKeys "admin"   
        WshShell.SendKeys "{TAB}"   
        WshShell.SendKeys "admin"   
        WshShell.SendKeys "{ENTER}"   
  
        Exit Do  
    End If  
  
    If timeout = 0 Then  
        WScript.Echo "Прости, но Радмин на этом компе не фурычит "  
        Exit Do  
    End If  
  
    WScript.Sleep 1000  
    timeout = timeout - 1  
Loop
Скрипт в течении 13 секунд каждую секунду проверяет, не запустилось ли окно Радмина, и, если запустилось, передаёт ему параметры из SendKeys().

Отправлено: 16:33, 02-06-2016 | #3


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата Numufar:
Оказывается, можно. »
Numufar, «.SendKeys()» не даёт никаких гарантий, что «нажатия» дойдут до потребного окна и будут им обработаны.

Отправлено: 19:39, 02-06-2016 | #4


Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


Iska, Единственный косяк, из-за которого может не сработать скрипт - это если после появления окна Радмина, но до посылания скриптом в него SendKeys(между этими действиями 1 секунда) сделать активным другое окно. При желании интервал проверки можно уменьшить до 0.001с, тогда уж точно никуда нажать не успеете) Но, думается, такой скрипт будет нехило сжирать ресурсы компьютера.

Отправлено: 16:20, 03-06-2016 | #5


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Numufar, надёжнее использовать связку из VBScript с библиотекой AutoItX.dll, либо сам AutoIt, либо AutoHotKey.
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:45, 03-06-2016 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBS/WSH/JS - VBS и Radmin

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Безопасность - Программа для удаленного просмотра логов Radmin 2 и Radmin 3 Delirium Программное обеспечение Windows 15 18-06-2012 19:09
VBS/WSH/JS - [решено] HTA + VBS | Чем отлаживать VBS в теле HTA vxor Программирование и базы данных 8 10-03-2011 11:17
VBS/WSH/JS - Помогите редактировать Autorun_Disable.vbs на Autorun_Enable.vbs nod201 Скриптовые языки администрирования Windows 0 05-12-2009 05:44
вирус и червь VBS/Small.k,VBS/Small.NAB zelen Лечение систем от вредоносных программ 1 25-12-2008 10:44
Radmin Zeleneew Общий по Linux 9 19-07-2005 14:41




 
Переход