Как автоматизировать перезагрузку роутера по SSH через Powershell?

Здравствуйте)
Я хочу создать создать сценарий, который позволит мне перезагружать роутер дважды кликнув по ярлыку, вместо того, чтоб лезть в web-интерфейс и всё делать руками.
Через Powershell руками я понимаю как это сделать:

ssh login@192.168.XX.X
"ввожу пароль"
"жму Enter"
reboot


Но я совершенно не понимаю, как автоматизировать этот процесс через PowerShell, так как никогда с ним не работал. Думал что это просто, в духе создания батников (одним из таких, например, я перезагружаю машину по RDP, потому что разрабы Windows убрали пункт "перезагрузка" при удалённом подключении), но это, как оказалось, так не работает.

Я нашел несколько примеров, узнал, что вроде как есть команда SendKeys, и даже попытался её применить, но ничего не получилось:(

Помогите, пожалуйста)
  • Вопрос задан
  • 401 просмотр
Решения вопроса 2
@BeatHazard
Попробуйте поставить модуль Posh-SSH и воспользоваться командлетами из его состава по инструкции отсюда https://habr.com/ru/post/314990/
Для вашей задачи должно подойти.
Ответ написан
Комментировать
@MaxKozlov Куратор тега PowerShell
Если на вашем роутере можно настроить авторизацию по ключу, вам одного ssh хватит
Просто добавить ключ в агента и запускать типа ssh login@host command

Если нет - есть клоны putty с запуском команд или, как сказал Евгений, модуль Posh-SSH, а там команда Invoke-SshCommand
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Drno
Можно использовать putty с указанием файла лог/пасс
Либо прям в батнике его вбить

А зачем роутер перезагружать?)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы