クライアントアプリケーションにインストールされているアンチウイルスアプリケーションの状態を取得したかったのですが、なかなか上手い方法が無かったので、Windows XPのセキュリティセンタからアンチウイルスアプリケーションのステータスを確認するスクリプトを作ってみました。
セキュリティセンタの機能が無効でもこのスクリプトは動作するので、セキュリティセンタをあえて停止しているコンピュータ上でもこのスクリプトは動作します。また、ユーザ権限でも動作させる事が出来ますのでログインスクリプトやスタートアップにも組み込みやすいです。
まあ、セキュリティセンタを有効にすればその必要はもちろん無いわけですけれども。
動作はWindows XP SP3のみで確認しております。このスクリプトはWindows Server 2003では動作しません。
'セキュリティセンターのアンチウイルスアプリケーションの状態を取得する strComputer = "." Set oWMI = GetObject("winmgmts:{impersonationlevel=impersonate}!\\" _ & strComputer & "\root\SecurityCenter") Set colAV = oWMI.ExecQuery("Select * from AntiVirusProduct") If colAV.Count = 0 Then WScript.Echo "AntiVirus Product Not Installed" Else For Each objAntiVirusProduct In colAV WScript.Echo "CompanyName : " & objAntiVirusProduct.companyName WScript.Echo "VersionNumber : " & objAntiVirusProduct.versionNumber WScript.Echo "InstanceGuid : " & objAntiVirusProduct.instanceGuid WScript.Echo "onAccessScanningEnabled : " & objAntiVirusProduct.onAccessScanningEnabled WScript.Echo "ProductUptoDate : " & objAntiVirusProduct.productUptoDate WScript.Echo "DisplayName : " & objAntiVirusProduct.displayName Next End If