SAVのウィルス定義の日付取得バッチを作った
後輩がチームメンバーのPCのウィルス定義日付を確認して回るという
苦行をやらされていてかわいそうだったので日付取得バッチを作った。
以下の環境で正常動作を確認。
OS:WindowsXP Pro SP3
SAV:Symantec AntiVirus Corporate Edition 10.1.8.8000
DOMAIN/WORKGROUP:WORKGROUP
@echo off rem 対象PCのコンピュータ名orIPアドレス(AAAAA)、用途(BBBBB)、ID(CCCCC)、パスワード(DDDDD)をgetVirusDATversionに渡す call :getVirusDATversion AAAAA BBBBB CCCCC DDDDD pause goto :EOF rem バージョン取得処理 %1=AAAAA、%2=BBBBB、%3=CCCCC、%4=DDDDD :getVirusDATversion ping %1 > nul 2> nul if %ERRORLEVEL% NEQ 0 ( echo %2 に疎通できません ) net use \\%1 /user:%1\%3 %4 > nul 2> nul if %ERRORLEVEL% NEQ 0 ( echo %2 に接続できません ) set VirusDATversion= if exist "\\%1\c$\Program Files\Common Files\Symantec Shared\VirusDefs\definfo.dat" ( for /F "delims== tokens=2" %%i in ( 'type "\\%1\c$\Program Files\Common Files\Symantec Shared\VirusDefs\definfo.dat"^|find "CurDefs="' ) do set VirusDATversion=%%i ) if "%VirusDATversion%" NEQ "" ( set VirusDATversion=%VirusDATversion:~,4%/%VirusDATversion:~4,2%/%VirusDATversion:~6,2% %VirusDATversion:~9% exit /b 0 ) else ( set VirusDATversion=unknown exit /b 1 ) echo %2のパターンファイルのバージョンは%VirusDATversion%です net use \\%1 /d > nul
一応call行を増やせば複数台いけるけど、当然接続用のユーザーは考慮する必要有り。
ドメイン環境だったらnet useいらないと思う。
まあそもそも管理コンソール見れない環境でウィルス定義を取得したいという状況があまりないか・・。
ていうかまだSAV使っていることが稀かも・・。
(1/11追記)
エラー処理を追加。
あとやっぱりアカウント、パスワードは引数で渡すことに。