Решил я тут получать оповещения с ПК клиентов, где слетела лицензия 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 (больше без танцев не получится)
Комментариев нет:
Отправить комментарий