Как автоматизировать перезагрузку роутера по SSH через Powershell?
Здравствуйте)
Я хочу создать создать сценарий, который позволит мне перезагружать роутер дважды кликнув по ярлыку, вместо того, чтоб лезть в web-интерфейс и всё делать руками.
Через Powershell руками я понимаю как это сделать:
Но я совершенно не понимаю, как автоматизировать этот процесс через PowerShell, так как никогда с ним не работал. Думал что это просто, в духе создания батников (одним из таких, например, я перезагружаю машину по RDP, потому что разрабы Windows убрали пункт "перезагрузка" при удалённом подключении), но это, как оказалось, так не работает.
Я нашел несколько примеров, узнал, что вроде как есть команда SendKeys, и даже попытался её применить, но ничего не получилось:(
Попробуйте поставить модуль Posh-SSH и воспользоваться командлетами из его состава по инструкции отсюда https://habr.com/ru/post/314990/
Для вашей задачи должно подойти.
Если на вашем роутере можно настроить авторизацию по ключу, вам одного ssh хватит
Просто добавить ключ в агента и запускать типа ssh login@host command
Если нет - есть клоны putty с запуском команд или, как сказал Евгений, модуль Posh-SSH, а там команда Invoke-SshCommand