Я понимаю, что запрос простой, и в Интернете есть много похожих тем, но по какой-то причине я не могу это сделать, и я в самом конце.
Это сценарий. Пакетный скрипт подключится (используя ссылку шпатлевки) к хосту. Он выполнит команду (например, проверит версию хоста). Скрипт выведет результат в файл.
До сих пор мне удалось настроить большую часть этого — мой скрипт использует пул — исходный файл, содержащий IP-адреса, для чтения хостов, к которым он должен подключиться; он подключается к хостам; выполняет команду проверки версии и сохраняет результат в файл. Однако результат имеет плохой формат, и я не могу привести формат, который я хотел бы видеть в выходном файле.
Это мой код:
:Var
set out=E:\output.txt
set src=E:\servers.txt
set ver=cat /etc/*-release
set creds=-l root -pw root
set host=hostname
:Cond
for /f %%i in (%src%) do call :Cmd %%i
:Cmd
plink -ssh %1 %creds% %host%
plink -ssh %1 %creds% %ver%
echo %1 is %ver% >> %out%
Результат примерно такой:
server01Red Hat Enterprise Linux Server release 5.7 Beta (Tikanga)
server02Red Hat Enterprise Linux Server release 5.7 Beta (Tikanga)
Поэтому я хотел бы сделать его правильно отформатированным, например:
server01 OS:Red Hat Enterprise Linux Server release 5.7 Beta (Tikanga)
server02 OS:Red Hat Enterprise Linux Server release 5.7 Beta (Tikanga)
Или даже иметь возможность обрезать вывод команды, запущенной на хосте, и отображать только его часть, например, только «Red Hat».
Благодарю вас!