У меня есть код, с помощью которого я открываю plink
для SSH-соединения с помощью команды оболочки, где я могу запустить любую команду методом StdIn.Writeline
, кроме команды смены пароля. Если я запускаю команду смены пароля, я не могу ввести пароль методом StdIn.Writeline
. Команда похожа на set usr pwd
. Эта команда выполняется отлично, и после ее выполнения она запрашивает «Введите текущий пароль». Здесь метод WriteLine
не может ввести пароль.
Ниже приведен пример кода и вывода:
Run = filename & " " & strCompAddress & " -P " & strServerPOrt & " -l " & strServerUser & " -pw " & strServerPassword
Set osh = CreateObject("Wscript.Shell")
Set oEx = osh.exec(Run)
oEx.StdIn.WriteLine "command 1" 'This command runs fine'
oEx.StdIn.WriteLine "command 2" 'This command runs fine'
oEx.StdIn.WriteLine "command 3" 'This command runs fine'
oEx.StdIn.WriteLine "set usr wd" 'This command runs fine'
oEx.StdIn.WriteLine "current_pwd" 'This doesn't input the password and it stucks here
oEx.StdIn.WriteLine "new_pwd"
oEx.StdIn.WriteLine "new_pwd"
oEx.StdIn.WriteLine "exit"
Вывод похож на множество команд управляющей последовательности.
command 1 command 2 command 3 set usr pwd current_pwd new_pwd new_pwd exit Command 1 result ok command 2 result ok command 3 result ok set usr pwd Enter Current Password:
StdIn
. Для получения дополнительной помощи предоставьте дополнительную информацию об удаленной системе и фактической команде, которую вы используете. - person Ansgar Wiechers   schedule 07.09.2016