CMD/BAT - поиск процесса и установка ПО

Ответить
Аватара пользователя
dim_far

CMD/BAT - поиск процесса и установка ПО

Сообщение dim_far »

Всем добрый день!

Помогите с написанием bat, половину сделал, но потом затык Изображение

Логика выполнения следующая:

Доменная сеть.

1. Необходим bat , который будет на машинах смотреть запущен ли процесс забикса агента, если да, то все хорошо.

2. если агент не установлен, то:

создать папку c:\Zabbix, в нее скопировать с ПК 1 \\server1\folder1\zabbix на ПК 2 \\server2\C$\zabbix файлы : zabbix_agentd.exe , zabbix_agentd.win.conf и zabbix_install.bat

запустить от Администратора файл zabbix_install.bat
Аватара пользователя
Busla

Re: CMD/BAT - поиск процесса и установка ПО

Сообщение Busla »

Если установлен, но не запущен - тоже "все хорошо"?
Аватара пользователя
Busla

Re: CMD/BAT - поиск процесса и установка ПО

Сообщение Busla »

Опять костылесипеды... Есть же
GPO
, ну или
ansible
, если так уж хочется. Лично я склоняюсь к GPO, особенно учитывая что для zabbix агента есть
msi
.

Если строго по теме топика то проверить наличие процесса можно через tasklist:



Код:

Код: Выделить всё

tasklist /FI "imagename eq zabbix-agent.exe"

не знаю какое имя у процесса, поменять на правильное думаю понятно что нужно.

проверить наличие папки/файла и скопировать/создать можно приблизительно так:



Код:

Код: Выделить всё

if not exist "c:/zabbix" md "c:/zabbix" 
if not exist "c:/zabbix/zabbix-agentd.exe" xcopy -Y -Q "\\server1\folder\zabbix\zabbix-agentd.exe" "c:/zabbix/zabbix-agentd.exe"
if not exist "c:/zabbix/zabbix_agentd.win.conf" xcopy -Y -Q "\\server1\folder\zabbix\zabbix_agentd.win.conf" "c:/zabbix/zabbix_agentd.win.conf"
if not exist "c:/zabbix/zabbix_install.bat" xcopy -Y -Q "\\server1\folder\zabbix\zabbix_install.bat" "c:/zabbix/zabbix_install.bat"

синтаксис и ключи нужно проверять/править, т.к. писал по памяти (лень виртуалку запускать).
Аватара пользователя
dim_far

Re: CMD/BAT - поиск процесса и установка ПО

Сообщение dim_far »

здорово, есть от чего отталкиваться! Благодарствую!



уточнение, как будет выглядеть поиск именно процесса через tasklist с условием :если нет такого процесса, то ....?



чтото ввиде такого?

set ProcessName="zabbix_agent.exe"

TaskList /FI "ImageName EQ %ProcessName%" | Find /I %ProcessName%>null
Аватара пользователя
Elven

Re: CMD/BAT - поиск процесса и установка ПО

Сообщение Elven »

Смотреть errorlevel через тот же if. в if /? есть несколько неплохих примеров.

можно даже так попробовать



Код:

Код: Выделить всё

TaskList /FI "ImageName EQ %ProcessName%" && (
echo действия если процесс есть (т.е. errorlevel = 0)
) || (
echo действия если процесса нет (т.е. errorlevel != 0)
)

опять же errorlevel в tasklist не помню какие при каком результате выводятся, смотреть, проверять, править.
Аватара пользователя
dim_far

Re: CMD/BAT - поиск процесса и установка ПО

Сообщение dim_far »

Цитата Elven:



опять же errorlevel в tasklist не помню какие при каком результате выводятся, смотреть, проверять, править.
CMD/BAT - поиск процесса и установка ПО




благодарю!
Ответить

Вернуться в «Скриптовые языки администрирования Windows»