我在一家企业工作,拥有超过 1000 台电脑,操作系统为 Windows XP 和 Windows 7,并且安装了 Symantec Antivirus,问题是:-如何检查电脑上是否安装了防病毒软件 - 并且启用了 -然后向管理员发送警报消息
另一件事,如果它是 vbscript,那将是最好的
如果您有想法请分享非常感谢
答案1
如果它们是 Windows XP,您可以执行以下操作:
wmic /node:@serverlist.txt /namespace:\\root\SecurityCenter path AntiVirusProduct get /value
对于 Vista+:
wmic /node:@serverlist.txt /namespace:\\root\SecurityCenter2 path AntiVirusProduct get /value
这将针对 serverlist.txt 文件中的所有服务器运行 wmic
如果你需要使用 powershell 的方式来执行此操作,请查看此处:http://blog.powershell.no/2011/06/12/use-windows-powershell-to-get-antivirus-product-information/
以下是上面链接的 powershell 脚本中 AV 产品状态的参考。您可以使用它来确保 AV 已安装(如果服务器返回“无可用实例”)、已启用并且是最新的。
"262144" {$defstatus = "Up to date" ;$rtstatus = "Disabled"}
"262160" {$defstatus = "Out of date" ;$rtstatus = "Disabled"}
"266240" {$defstatus = "Up to date" ;$rtstatus = "Enabled" "Consolas">}
"266256" {$defstatus = "Out of date" ;$rtstatus = "Enabled"}
"393216" {$defstatus = "Up to date" ;$rtstatus = "Disabled"}
"393232" {$defstatus = "Out of date" ;$rtstatus = "Disabled"}
"393488" {$defstatus = "Out of date" ;$rtstatus = "Disabled"}
"397312" {$defstatus = "Up to date" ;$rtstatus = "Enabled"}
"397328" {$defstatus = "Out of date" ;$rtstatus = "Enabled"}
"397584" {$defstatus = "Out of date" ;$rtstatus = "Enabled"}
答案2
您可以使用组策略设置运行 powershell 脚本的登录脚本来查看该程序是否已安装。Powershell 参考
但是,你为什么要重新发明轮子呢?你可以使用 Symantec Antivirus Management Console...