Войти

Показать полную графическую версию : Нужна помошь в написании скрипта на VBS


Loran_rus
18-08-2011, 10:19
Доброго времени.

Первое
Нужен скрипт авторизации через telnet с возможностью считывания информации с консольного окна и записи в него.


WshShell.SendKeys "open 192.168.1.1~" ' адрес
WScript.Sleep 7500 ' здесь и далее время (в мс) подбирайте по скорости ответа
WshShell.SendKeys "admin~" ' логин
WScript.Sleep 3500
WshShell.SendKeys "admin~" ' пароль
WScript.Sleep 2000
WshShell.SendKeys "exit~"
WScript.Sleep 2000
WshShell.SendKeys " quit~"


неприемлем так как ответом сервера на подключение может быть

LOGIN Authentication

Username: MyLogin

Password:

Authentication Successful


Подключение к узлу утеряно.

или

LOGOUT Authentication

Username: MyLogin

Password:


Logout Successful


Подключение к узлу утеряно.

Что закроет сессию и сделает дальнейшую работу не возможной.
В данные момент авторизация выполняется через perl-скрипт, но охота убрать все лишние колёса по этому предлагать дополнительные приложения через которые это все проще или скрипты с использованием дополнительных модулей не надо, в VBS для решения этой задачи все есть, просто я еще не осилил.
Если есть люди умеющие StdOut StdIn и StdErr буду очень благодарен за помощь или направление на путь истинный.

Далее
В данный момент инициализация сетевого подключения выполняется через
objResult = objShell.Run( CmdStr, 0, True)
где CmdStr = RasDial Название_подключения Логин Пароль
проверить завершилось оно успешно или нет не могу так как не разобрался с См. Выше, но хочу чтобы соединение поднималось через обращение к нему в папке "Сетевые подключения" по его имени или ID Объекта, что бы пользователь видел Гуёвое окошко да и пароль не светился в Ini-файле.
(Скрипт с созданием ярлыка на рабочем столе и последующим запуском этого ярлыка не предлогать :) )

И на последок ...
Есть процедура выбора файла через
Set objDialog = CreateObject("UserAccounts.CommonDialog")
objDialog.Filter = "VBScript Scripts|*.vbs|All Files|*.*"
objDialog.FilterIndex = 1
objDialog.InitialDir = "C:\"
intResult = objDialog.ShowOpen
If intResult = 0 Then
Wscript.Quit
Else
Wscript.Echo objDialog.FileName
End If

Но можно выбрать только 1 файл а хотелось бы несколько. Если можно это реализовать то КАК? Если Нет, то на Нет и суда нет.

Буду благодарен за любую помошь.

Ins_16
18-08-2011, 18:06
Про процедуру выбора файлов подробно написано http://forum.script-coding.com/viewtopic.php?id=64

Про первое посмотри http://technet.microsoft.com/en-us/library/ee156599.aspx




© OSzone.net 2001-2012