Некоторые картинки не загружаются из РФ и РК, используйте VPN.

среда, 15 февраля 2023 г.

Zabbix мониторим состояние лицензий Windows

Решил я тут получать оповещения с ПК клиентов, где слетела лицензия Windows, в это нелегкое время слетает и честная и нечестная лицензия.

Состояние можно посмотреть при помощи slmgr:

C:\Windows\system32> slmgr.vbs -xpr

вывод в консоль

C:\Windows\system32> cscript slmgr.vbs -xpr
Windows(R), ServerStandard edition:
    Срок активации корпоративных лицензий истечет 09.08.23 10:01:52

Для систем с проблемой лицензирования вывод будет таким

C:\Windows\system32> slmgr.vbs -xpr
Сервер сценариев Windows (Microsoft R) версия 5.8
c Корпорация Майкрософт (Microsoft Corp.), 1996-2001. Все права защищены.

Windows(R) 7, Professional edition:
    Windows находится в режиме уведомления

Это для русскоязычных систем, для англоязычных будет что то типа "windows in notification mode". Вот за это я и решил зацепиться, наковыряв простенький скрипт:

@echo off
set lic=1
cscript %systemroot%\system32\slmgr.vbs -xpr | findstr /IC:"Windows находится в режиме уведомления" >null && set lic=0
echo %lic%

назовем его check_license.bat, сохранять нужно в кодировке OEM866. Далее создать конфигурационный файл для zabbix агента и назовем его license.conf

UserParameter=LicStateOS,cmd.exe /c "C:\zabbix\conf\check_license.bat"

Оба файла кладем в C:\zabbix\conf\, ну или куда удобней, главное чтобы везде были правильно написаны пути. Добавляем в основной конфигурационный файл zabbix агента ссылку дополнительные конфиги (строка 5), в итоге мой файл выглядит так:

LogFile=c:\zabbix\zabbix_agentd.log
Server=zabbix.domen.ru
ServerActive=zabbix.domen.ru
HostMetadataItem=system.uname
Include=C:\zabbix\conf\*.conf 

Перезапускаем службу zabbix agent. Далее, ну или сначала, создаем новый шаблон с элементами и триггерами в самом zabbix сервере и распределяем на требуемые узлы


Частоту сбора, размер истории и триггер выбираем на свой вкус, теста для поставил поменьше, потом поправил на побольше. Также можно поправить преобразование значений, чтобы красиво было


На большинстве прокатило норм, в последних данных я вижу актуальные данные. Если хотим протестировать, то воспользуемся zabbix_get с zabbix сервера:

user@server:~$ zabbix_get -s name_pc -k LicStateOS

Если zabbix_get отсутствует, то его можно установить отдельно

user@server:~$ sudo apt-get install zabbix-get

У меня 4.4 версия, поэтому ключ -t (timeout) не поддерживается, а один из компов выдал ошибку: "Timeout while executing a shell script". Пришлось поправить таймаут и в zabbix_server.conf и в конфиге на стороне клиента Timeout=30 (больше без танцев не получится)


Комментариев нет:

Отправить комментарий