@echo off
setlocal enabledelayedexpansion
echo %* | findstr /c:"--scan" >nul
if %errorlevel%==0 (
echo {"json_format_version":[1,0],"smartctl":{"version":[7,5],"svn_revision":"5714","platform_info":"x86_64-w64-mingw32-w10-22H2","build_info":"(AppVeyor)","argv":["smartctl","--scan","-j"],"exit_status":0},"devices":[{"name":"/dev/sda","info_name":"/dev/sda","type":"ata","protocol":"ATA"},{"name":"/dev/sdb","info_name":"/dev/sdb","type":"ata","protocol":"ATA"}]}
exit /b 0
)
set "args=%*"
set "args=!args:/dev/sda=/dev/csmi0,0!"
set "args=!args:/dev/sdb=/dev/csmi0,1!"
"C:\Program Files\smartmontools\bin\smartctl.exe" !args! > "%TEMP%\zabbix_smart.json"
powershell -NoProfile -ExecutionPolicy Bypass -Command "[Console]::OutputEncoding = [System.Text.Encoding]::UTF8; $t = [IO.File]::ReadAllText(\"$env:TEMP\zabbix_smart.json\"); $t = $t.Replace('csmi0,0','sda').Replace('csmi0,1','sdb').Replace('\"csmi\"','\"ata\"'); [Console]::Out.Write($t)"