Вопрос больше целей, ориентированных, чем в частности к упомянутым технологиям, поэтому я просто собираюсь решить проблему в соответствии с моим духом. Я собираюсь использовать Python.
Re: Выпуск № 1:
в основном звучит так, как вы хотите проанализировать IP / адреса из файла и запускать ожидаемую (например)) нанесенную последовательность для каждого IP-адреса.
Вы не хотите, чтобы вы не хотели использовать IP-адреса из кроме скрипта - а скорее, а скорее вы хотите проанализировать iPaddresses из файла с помощью Python и запустить одну и ту же ожидающую команду для каждого IP-адреса.
Итак, вам нужно будет записать ожидаемую команду с iPaddress, являющейся переменной, так что для каждой iPaddress в вашем цикле вы назначаете другую iPaddress для этой переменной и выполнить команду ожидания.
Что касается функциональности «ждут», посмотрите на библиотеку «PEXPECT»: это модуль Python, который обнародовал ваши сценарии Python, ожидают, что функциональность. (См. Этот ответ, который содержит пример и ссылки на другие документы / примеры: https://stackoverflow.com/a/1160553/1248361 ). Давайте немного немного немного:
, глядя на примере в исходящей ссылке, примечание. Ожидаемая последовательность начинается с «« »
Child = pexpect.spawn ('Некоторые команды, которые требуют пароля') Child.expect («Введите пароль») Child.sendline («пароль»)
»« » Вы можете легко заменить этот строковый аргумент на метод PEXPECT.spawn с PEXPECT.spawn («некоторая команда, которая требует пароля, который требует iPaddress в качестве опции '+ iPaddress_Variable)
, так что в Python, я бы просто определил функцию, которая принимает В качестве аргумента (ы) части (ов) ожидаемой последовательности, которая изменится в каждой итерации вашего для цикла и записывает ожидаемую последовательность внутри тела функции, используя вариабельные аргументы.
Как это (это псевдо код):
def edfunction_function (ipaddress_Variable): pexpect.spawn ('Некоторые команды, которые требуют пароля' + ipaddress_variable) Child.expect («Введите пароль») Child.sendline («пароль») Child.expect ..... (вот где вы берете и делаете то, что нужно сделать на удаленной машине)
(извините за форматирование, Pre и Code не делал то, что я надеялся)
С этим функциями определена, остальное легко.
Просто петлю через вашу iPaddress и позвоните в функцию, как этот код PSuedo:
для iPaddress в IPFile: vegne_function (ipaddress)
Проблема номер два Я бы также обрабатывал через Python.