Цитата
Iska:
Вы уверены, что Вам нужен именно указанный, а не такой:
PowerShell - [решено] Перебор выхода "tasklist"
Да. В системе имеется 1 "шаблон" для HDD но он написан на CMD, и именно в таком виде
Скрытый текст
[spoiler]Код:
[/spoiler]
Код: Выделить всё
@echo off
echo @echo off > c:\zabbix\disks\disks.cmd
echo echo {"data": >> c:\zabbix\disks\disks.cmd
echo echo [ >> c:\zabbix\disks\disks.cmd
for /F "tokens=1,3" %%a in ('C:\"Program Files"\smartmontools\bin\smartctl.exe --scan') ^
do (for %%s in ("Device Model" "Product") ^
do (for /F "tokens=2*" %%c in ('C:\"Program Files"\smartmontools\bin\smartctl.exe -i %%a -d %%b ^| find %%s ') ^
do (for %%i in ("Serial Number") do (for /F "tokens=3*" %%k in ('C:\"Program Files"\smartmontools\bin\smartctl.exe -i %%a -d %%b ^| find %%i ') ^
do echo echo {"{#DISKPORT}":"%%a","{#DISKTYPE}":"%%b","{#DISKMODEL}":"%%d","{#DISKSN}":"%%k"},>> c:\zabbix\disks\disks.cmd))))
echo echo {"{#SMARTV}":"Smartctl 6.5"}>> c:\zabbix\disks\disks.cmd
echo echo ] >> c:\zabbix\disks\disks.cmd
echo echo } >> c:\zabbix\disks\disks.cmd
Вывод "disk.cmd"
Скрытый текст
[spoiler]Код:
[/spoiler]
Код: Выделить всё
@echo off
echo {"data":
echo [
echo {"{#DISKPORT}":"/dev/sda","{#DISKTYPE}":"ata","{#DISKMODEL}":"Hitachi HDS721616PLA380","{#DISKSN}":"20202020202056503342"},
echo {"{#SMARTV}":"Smartctl 6.5"}
echo ]
echo }
Конструкция работает, осталось проверить на обнаружение (вывод).
Еще заметил одну вещь, возможно ли за одно проверять на совпадение (несколько процессов имеют одинаковое название, если уже есть такое, что чтоб не добавлял)