我想知道如何通过 vbscript、WMI、Powershell 等读取用户通常会收到通知的新 Windows 7 操作中心消息。
我想读取每台机器上的所有消息并将其存储在中央数据库中,然后禁止在本地机器上向用户显示这些消息。
编辑:-一旦我可以读取消息,我就会知道如何处理和存储它们,我的问题是如何以编程方式从每台 Win7 PC 读取这些消息
答案1
Windows 7 是否在事件查看器中记录消息?我不知道 Microsoft 是否直接向操作中心提供了任何类型的接口,因此如果有等效的事件查看器事件,我相信有办法从那里查询信息。
编辑: 这是一个 WMI 脚本从计算机的事件日志中提取可能帮助您入门的数据。
答案2
您可能被 MS 的营销炒作误导了Action Center
。在文档中找到的原始名称实际上是Security Center
。
从安全中心 API:
我设法找到了这些链接:
“在获得安全中心的访问权限之前,您需要签署一些保密协议文件。该界面可能不会公开。联系信息可以在以下网址找到实现 Teredo 安全模型“
还有WMI接口:
代码片段:
设置 oWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\.\root\SecurityCenter")
设置 colItems = oWMI.ExecQuery("从 AntiVirusProduct 中选择 *")
对于 colItems 中的每个 objAntiVirusProduct
msg = msg & "companyName: " & objAntiVirusProduct.companyName & vbCrLf
msg = msg & "displayName: " & objAntiVirusProduct.displayName & vbCrLf
msg = msg & "instanceGuid: " & objAntiVirusProduct.instanceGuid & vbCrLf
msg = msg & "onAccessScanningEnabled: " & objAntiVirusProduct.onAccessScanningEnabled & vbCrLf
msg = msg & "productUptoDate: " & objAntiVirusProduct.productUptoDate & vbCrLf
msg = msg & “版本号:” & objAntiVirusProduct.versionNumber & vbCrLf
msg = msg & vbCrLf
下一个
WScript.Echo msg