Sub Main
Dim args : Set args = WScript.Arguments
If args.Count < 2 Then
WScript.Quit -1
End If
Dim sourceId, managedEntityId
sourceId = args(0)
managedEntityId = args(1)
Dim momApi : Set momApi = CreateObject("MOM.ScriptAPI")
Dim data : Set data = momApi.CreateDiscoveryData(0, sourceId, managedEntityId)
Dim cluster : Set cluster = data.CreateClassInstance("$MPElement[Name='Microsoft.HPC.2008.Cluster']$")
Call cluster.AddProperty("$MPElement[Name='HPCLibrary!Microsoft.HPC.Cluster']/ClusterName$", "$Target/Property[Type='Microsoft.HPC.2008.BrokerNode']/ClusterName$")
Call cluster.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", "$Target/Property[Type='Microsoft.HPC.2008.BrokerNode']/ClusterName$")
Call data.AddInstance(cluster)
Dim node : Set node = data.CreateClassInstance("$MPElement[Name='Microsoft.HPC.2008.BrokerNode']$")
Call node.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", "$Target/Host/Property[Type='Windows!Microsoft.Windows.Computer']/PrincipalName$")
Dim relation1 : Set relation1 = data.CreateRelationshipInstance("$MPElement[Name='Microsoft.HPC.2008.ClusterContainsBrokerNode']$")
relation1.Source = cluster
relation1.Target = node
Call data.AddInstance(relation1)
Dim server : Set server = data.CreateClassInstance("$MPElement[Name='Microsoft.HPC.2008.HPCServer']$")
Call server.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", "$Target/Host/Property[Type='Windows!Microsoft.Windows.Computer']/PrincipalName$")
Dim relation2 : Set relation2 = data.CreateRelationshipInstance("$MPElement[Name='Microsoft.HPC.2008.ClusterContainsHPCServer']$")
relation2.Source = cluster
relation2.Target = server
Call data.AddInstance(relation2)
Call momApi.Return(data)
End Sub </Script></ScriptBody>
<TimeoutSeconds>300</TimeoutSeconds>
</DataSource>
</Discovery>