Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» VBS и RAdmin

Автор: Numufar
Дата сообщения: 01.06.2016 12:21
[more] Доброго времени суток.
Есть куча удалённых компов, к которым постоянно приходится коннектиться по 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}"
Автор: NeoAnomaly
Дата сообщения: 01.06.2016 13:00
Numufar, а если проверять результат функции AppActivate? Тогда организовав цикл можно дожидаться нужного окна.


Добавлено:
еуые
Автор: Numufar
Дата сообщения: 02.06.2016 10:27
NeoAnomaly а можно поподробнее, как это организовать?

Что-то вроде такого?


Код: Do While False
WshShell.AppActivate(WshExec.ProcessID)
WScript.Sleep 1000
Loop
Автор: NeoAnomaly
Дата сообщения: 02.06.2016 13:02
Примерно так:


Код:
...

Dim timeout
timeout = 10

Do
If WshShell.AppActivate("Заголовок окна Radmin, которое ожидаем") Then

WshShell.SendKeys "admin"
WshShell.SendKeys "{TAB}"
WshShell.SendKeys "admin"
WshShell.SendKeys "{ENTER}"

Exit Do
End If

If timeout = 0 Then
WScript.Echo "Waiting for Radmin failed"
Exit Do
End If

WScript.Sleep 1000
timeout = timeout - 1
Loop
Автор: Numufar
Дата сообщения: 02.06.2016 15:23
[more] NeoAnomaly, получилось, огромное спасибо!
Сделал так:


Код: 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

Страницы: 1

Предыдущая тема: Помогите с выгрузкой из Delphi в Exell


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.