'Declare variables
const HKEY_LOCAL_MACHINE = &H80000002
Dim oArgs, SCCMClient, Result
Dim SiteCodeFromClient, LogsLocation, Version
Dim GUID, CacheLocation, CacheSize, EnableAutoAssignment
Dim AllowLocalAdminOverride, IsBDP
Dim oAPI, oDiscoveryData, oInst
Dim objWMIService,col, item, objRegistry, strValueName, strValue
Dim sh, strKeyPath, DPRole
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)
Set sh = Wscript.CreateObject("Wscript.Shell")
'Discover SCCM Site code
Set SCCMClient = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\ccm:SMS_Client")
Set Result = SCCMClient.ExecMethod_("GetAssignedSite")
SiteCodeFromClient = result.sSiteCode
'Discover client version, AllowLocalAdminOverride, EnableAutoAssignment
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\ccm")
Set col = objWMIService.ExecQuery _
("Select * from SMS_Client")
For Each item in col
Version = item.ClientVersion
AllowLocalAdminOverride = item.AllowLocalAdminOverride
EnableAutoAssignment = item.EnableAutoAssignment
Next
'Discover Client Log location
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\ccm\Policy\Machine")
Set col = objWMIService.ExecQuery _
("Select * from CCM_Logging_GlobalConfiguration WHERE DummyKey = '1'")
For Each item in col
LogsLocation = item.LogDirectory
Next
'Discover GUID
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\ccm")
Set col = objWMIService.ExecQuery _
("Select * from CCM_Client")
For Each item in col
GUID = Replace(item.ClientID,"GUID:","")
Next
'Discover Cache location and size
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\ccm\SoftMgmtAgent")
Set col = objWMIService.ExecQuery _
("Select * from CacheConfig")
For Each item in col
CacheLocation = item.Location
CacheSize = item.Size
Next
Call oDiscoveryData.AddInstance(oInst)
'Submit the discovery data to the management group
oAPI.Return(oDiscoveryData)
'**************END SCRIPT********************