The Data Integration discovery checks the registry location "HKLM\SOFTWARE\Microsoft\SNA Server\CurrentVersion\Monitoring\" for the existence of the “Opt-Out” key DisableDataIntegrationMonitoring. If the key exists, no further action is taken. If the key does not exist, the Host Integration Server 2016 Management Pack queries MSI to verity that the feature DATA_DB2 has been installed. If the feature is installed, the Host Integration Server 2016 Management Pack creates an instance of the DataInt class.
Dim oRegProvider
Dim intReturn
Dim colValues, strValue
Dim colTypes
' =============================================================
' Check for the possible set of monitoring opt-out keys, and for each that exists
' set the corresponding boolean variable to TRUE
Set oRegProvider = GetObject("winmgmts:\\" & TargetComputer & "\root\default:StdRegProv")
if UCase(strIsEnabled) = "TRUE" then
bMsDrdaInstalled = True
Else
bMsDrdaInstalled = False
End If
End Sub 'GetRegParams
Sub DataDiscovery()
CONST HIS_DI_FEATURE = "DataIntegration.64Bit"
Dim intData
intData = 0
If NOT bDisableDIMonitoring Then
If bMsDrdaInstalled = TRUE Then
set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Microsoft.HostIntegrationServer.2016.DataInt']$")
call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", "Data Integration")
call oDiscoveryData.AddInstance(oInst)
Exit Sub
End If
If NOT intData = 0 Then
set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Microsoft.HostIntegrationServer.2016.DataInt']$")
call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", "Data Integration")
call oDiscoveryData.AddInstance(oInst)
End If
End If
End Sub 'DataDiscovery
Function FindFeature(strFeatureName)
' Query MSI to determine if the specified HIS feature name is installed or advertised.
' Return 1 if true, 0 if false
'
set installer = CreateObject("WindowsInstaller.Installer")
set features = installer.Features(HIS_2016_PRODUCT_CODE)
On Error Resume Next
for each feature in features
if feature = strFeatureName then
state = installer.FeatureState(HIS_2016_PRODUCT_CODE, feature)
if state = INSTALLSTATE_LOCAL then
FindFeature = 1
else
FindFeature = 0
end if
Exit Function
end if
next
FindFeature = 0
Exit Function
End function 'FindFeature </Script></ScriptBody>
<TimeoutSeconds>360</TimeoutSeconds>
</DataSource>
</Discovery>