Dim oArgs, DCMAgentEnabled, DCMAgentVersion
Dim oAPI, oDiscoveryData, oInst
Dim objWMIService,col, item
Dim SourceID, ManagedEntityId, TargetComputer
Set oArgs = WScript.Arguments
if oArgs.Count < 3 Then
Wscript.Quit -1
End If
SourceId = oArgs(0)
ManagedEntityId = oArgs(1)
TargetComputer = oArgs(2)
'Discover Machine Policy AcutalConfig for DCM Agent settings
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" + TargetComputer + "\root\ccm\Policy\Machine\ActualConfig")
Set col = objWMIService.ExecQuery _
("Select * from CCM_ConfigurationManagementClientConfig WHERE SiteSettingsKey = 1")
For Each item in col
DCMAgentEnabled = item.Enabled
Next
'Discover DCM Agent Version if it is enabled
If DCMAgentEnabled = True Then
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" + TargetComputer + "\root\ccm")
Set col = objWMIService.ExecQuery _
("Select * from CCM_InstalledComponent WHERE Name = 'SMSConfigurationManagementAgent'")
For Each item in col
DCMAgentVersion = item.Version
Next
End if
'Submit discovery data
Set oAPI = CreateObject("MOM.ScriptAPI")
set oDiscoveryData = oAPI.CreateDiscoveryData(0, SourceID, ManagedEntityId)
If DCMAgentEnabled = True Then
set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='C2CL!ConfigMgr.2012.Client.Library.ConfigMgr.2012.Client.App.Component.Desired.Configuration.Management.Agent']$")
Call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
Call oInst.AddProperty("$MPElement[Name='C2CL!ConfigMgr.2012.Client.Library.ConfigMgr.2012.Client.App.Component.Desired.Configuration.Management.Agent']/Version$", DCMAgentVersion)
Call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", TargetComputer)
Call oDiscoveryData.AddInstance(oInst)
End If
'Submit the discovery data to the management group.
oAPI.Return(oDiscoveryData) </Script></ScriptBody>
<TimeoutSeconds>120</TimeoutSeconds>
</DataSource>
</Discovery>