Добрый день, случайно наткнулся на Ваш вопрос и решил помочь, так как совершенно недавно тоже задавался этим вопросом и вот что смог для себя сделать:
The Dude не использую
plink.exe и WinSCP.exe мои друзья
Конкретно ваш запрос на смену пароля через PLINK может выглядеть так:
/password old-password=oLd new-password=nEw confirm-new-password=nEw
"Автоматизация" у меня идёт через bat'ник:
set login=user_name
set pass=password
set script=_command.txt
set file=ip_list.txt
FOR /F "tokens=1" %%i in (%file%) do ping -n 1 %%i | find /i "TTL" >> current_ip.txt && plink.exe -ssh -P 1422 -l %login% -pw %pass% -batch %%i -m %script%
Нужно иметь следующие файлы:
1) _command.txt (каждая команда в полном формате с новой строки)
2) ip_list.txt (список строк с адресами)
3) plink.exe с пропатченной функцией автоматического принятия hostkey'я (искал долго, нашел глубоко, могу поделиться)
Если вы не доверяете "пропатченному" кем-то plink'у, то вы можете воспользоваться вполне себе оригинальным WinSCP в виде скрипта:
option batch abort
option confirm off
call /password old-password=oLd new-password=nEw confirm-new-password=nEw
exit
соответственно bat'ник будет выглядеть вот так:
set login=user_name
set pass=user_password
set script=_command.txt
set file=ip_list.txt
FOR /F "tokens=1" %%i in (%file%) do ping -n 2 %%i | find /i "TTL" >> current_ip.txt && winscp.exe /console sftp://%login%:%pass%@%%i:1422 -hostkey="*" -rawsettings SendBuf=0 /script=%script%
И файлы:
1) _command.txt
2) _ip_list.txt
3) WinSCP.txt
Схемы проверены и работают.
Могут применяться к любым nix системам и устройствам куда есть доступ по ssh/
Надеюсь я кому то помог, а может и сам через несколько лет отсюда возьму по старой памяти =)