I would like to know how to read, via vbscript, WMI, Powershell etc -the new Windows 7 Action center messages that the user normally gets informed of.

I want to read all those messages on each machine and store then in a central database, then disable the messages from displaying to the user on the local machines.

EDIT: - Once i can read the messages i know how to deal with storing them, my question is how do i programatically read those messages from each Win7 PC


Does Windows 7 log the messages in the Event Viewer? I don't know if Microsoft has provided any sort of interface to the Action Center directly, so if there are equivalent Event Viewer events, I believe there are ways to query information out of there instead.

EDIT: Here's a WMI script to pull data from a computer's event log that might get you started.

|improve this answer|||||
  • thanks for the script, i already have similar code to read the event logs and i have not seen any of the action center stuff stored in the event logs – Khalid Rahaman Nov 3 '09 at 5:26

You may have been misled by the MS marketing hype calling it Action Center. The original name which is found in the documentation is actually Security Center.

From Security Center API:

I've managed to find these links:

Windows Security Center

"You have some Non Disclosure Agreement document to sign before you get the access to the security center. The interface is not likely availble publicly. The contact information can be found at Implementing the Teredo Security Model"

And there is WMI interface:

Code Snippet:

Set oWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\.\root\SecurityCenter")
Set colItems = oWMI.ExecQuery("Select * from AntiVirusProduct")
For Each objAntiVirusProduct In colItems
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 & "versionNumber: " & objAntiVirusProduct.versionNumber & vbCrLf
msg = msg & vbCrLf
WScript.Echo msg

|improve this answer|||||

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.