Планировщик Windows не может отправить команду замазке - PullRequest
1 голос
/ 01 сентября 2011

Я захожу на сервер как администратор на winserver2008.

Я создал скрипт с именем: vbscript.vbs

Цель этого скрипта - автоматический вход в linux через putty, затемвыполнить задачу командной строки.

Dim  Shell
Set Shell   = CreateObject("WScript.Shell")

output = Shell.Run("C:\putty.exe 1.2.3.4 9321")
wscript.sleep(500)

Shell.Sendkeys "root" & VBCrLf
wscript.sleep(30)

Shell.Sendkeys "password"  & VBCrLf
wscript.sleep(30)

Когда я вручную нажимаю vbscript.vbs, чтобы выполнить его, vbscript заполнит root и пароль для putty.

Когда я использую Windows планировщик, вызов vbscript.vbs для его выполнения, vbscript не заполнит root и пароль для putty.

Я подозреваю, что проблема с правами доступа.Я уже установил putty.exe для запуска с правами администратора, разрешил администратору, группе администраторов разрешения для этого, но все равно не работает при вызове через планировщик Windows.

=====

Я простопопробовал со вторым сценарием, отправить 2 в калькулятор Windows, тоже не удалось ..

testcalc.vbs

Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "Calc.exe"
objShell.AppActivate "Calculator"
objShell.SendKeys "2"

1 Ответ

1 голос
/ 01 сентября 2011

Перестаньте пытаться заставить SendKeys работать из запланированного задания, этого не произойдет. Вместо этого просто введите логин и пароль в командной строке:

output = Shell.Run("C:\putty.exe -l root -pw password 1.2.3.4 9321")

В качестве альтернативы сделайте это с файлом сеанса и используйте -load.

Если вы собираетесь выполнять команды через это соединение, то я считаю, что вы действительно хотите plink, а не putty.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...