答えを探すときに、次のようなコードサンプルを何度も見ました。
using System;
using System.Text;
using System.Management;
namespace ConsoleApplication1
{
class Program
{
public static bool AntivirusInstalled()
{
string wmipathstr = @"\\" + Environment.MachineName + @"\root\SecurityCenter";
try
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher(wmipathstr, "SELECT * FROM AntivirusProduct");
ManagementObjectCollection instances = searcher.Get();
return instances.Count > 0;
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
return false;
}
public static void Main(string[] args)
{
bool returnCode = AntivirusInstalled();
Console.WriteLine("Antivirus Installed " + returnCode.ToString());
Console.WriteLine();
Console.Read();
}
}
}
残念ながら、Windows Server 2008にはSecurityCenter
またはSecurityCenter2
名前空間がないようです。そのため、Invalid namespace
このアプローチを試みると例外が発生します。
Windows Server 2008でウイルス対策ソフトウェアが実行されているかどうかを判断する方法を知っている人はいますか?どんな助けでも大歓迎です!