Call Main()
Function WMIExecQuery(ByVal sNamespace, ByVal sQuery)
'
' WMIExecQuery :: Executes the WMI query and returns the result set.
'
'
Dim oWMI, oQuery
Set oWMI=GetObject(sNamespace)
Set oQuery=oWMI.ExecQuery(sQuery)
Set WMIExecQuery=oQuery
End Function
Sub Main()
Dim objParameters, SourceID, ManagedEntityId, TargetComputerID, TargetComputer, TargetNetBIOSName
Dim oCBInstance, oClusteredProperty, oCBWMIQuery, CBNetworkName, CBName
Dim oAPI, oCBDiscoveryData
Set oAPI = CreateObject("MOM.ScriptAPI")
set oCBDiscoveryData = oAPI.CreateDiscoveryData(0, SourceId, ManagedEntityId)
Set oCBWMIQuery=WMIExecQuery ("winmgmts:\\" & TargetComputer & "\root\CIMV2","SELECT Name FROM Win32_ServerFeature WHERE ID = 133")
If(oCBWMIQuery.Count=1) Then
For Each prop in oCBWMIQuery
CBName=prop.Name
Next
Set oClusteredProperty=WMIExecQuery("winmgmts:\\" & TargetComputer & "\root\CIMV2","SELECT * FROM Win32_SessionBrokerServiceProperties")
If (Err.Number = 0) Then
On Error Resume Next
For Each p in oClusteredProperty
CBNetworkName=p.SBNetworkName
Next
If(Err.Number<>0) Then
'Discovered Passive Node, return empty discovery data
Call oAPI.Return(oCBDiscoveryData)
Exit Sub
End If
Set oCBInstance = oCBDiscoveryData.CreateClassInstance("$MPElement[Name='Microsoft.Windows.Server.10.0.RemoteDesktopServicesRole.Service.RDConnectionBroker']$")
With oCBInstance
.AddProperty "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputerID
.AddProperty "$MPElement[Name='System!System.Entity']/DisplayName$", CBName
End With
oCBDiscoveryData.AddInstance(oCBInstance)
End If
End If
Call oAPI.Return(oCBDiscoveryData)
End Sub </Script></ScriptBody>
<TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
</DataSource>
</MemberModules>
<Composition>
<Node ID="DS"/>
</Composition>
</Composite>
</ModuleImplementation>
<OutputType>System!System.Discovery.Data</OutputType>
</DataSourceModuleType>