Data center discovery

UCPManagementPack.DataCenterDiscovery (Discovery)

Description for the new discovery.

Element properties:

TargetMicrosoft.Windows.Computer
EnabledTrue
Frequency600
RemotableFalse

Object Discovery Details:

Discovered Classes and their attribuets:
Discovered relationships and their attribuets:

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource UCPManagement.TimedPowerShell.DiscoveryProvider System.PrivilegedMonitoringAccount

Source Code:

<Discovery ID="UCPManagementPack.DataCenterDiscovery" Target="Windows!Microsoft.Windows.Computer" Enabled="true" ConfirmDelivery="false" Remotable="true" Priority="Normal">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryClass TypeID="UCPManagementPack.PodDiscoveryEntity"/>
<DiscoveryRelationship TypeID="Windows!Microsoft.Windows.ComputerHostsComputerRole"/>
</DiscoveryTypes>
<DataSource ID="DS" TypeID="UCPManagement.TimedPowerShell.DiscoveryProvider" RunAs="System!System.PrivilegedMonitoringAccount">
<IntervalSeconds>600</IntervalSeconds>
<SyncTime/>
<ScriptName>DiscoverDataCenter.ps1</ScriptName>
<ScriptBody><Script>
# Seed discovery script
param($sourceId, $managedEntityId, $managementIps, $domain, $username, $password)

$api = new-object -comObject 'MOM.ScriptAPI'
$discoveryData = $api.CreateDiscoveryData(0, $sourceId, $managedEntityId)

$api.LogScriptEvent("DiscoverDataCenter.ps1", 100, 0, "Starting seed discovery")

if (![String]::IsNullOrEmpty($managementIps)) {

$managementIps.Split(",").Trim() | foreach {

$api.LogScriptEvent("DiscoverDataCenter.ps1", 100, 0, "Creating POD with IP " + $_ + "...")

# Create POD instance
$instance = $discoveryData.CreateClassInstance("$MPElement[Name='UCPManagementPack.PodDiscoveryEntity']$")
$instance.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", "$Target/Property[Type='Windows!Microsoft.Windows.Computer']/PrincipalName$")
$instance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", "Pod $_")
$instance.AddProperty("$MPElement[Name='UCPManagementPack.PodDiscoveryEntity']/Name$", "Pod $_")
$instance.AddProperty("$MPElement[Name='UCPManagementPack.PodDiscoveryEntity']/ManagementIp$", "$_")
$discoveryData.AddInstance($instance)
}

# Return discovery data
$api.LogScriptEvent("DiscoverDataCenter.ps1", 100, 0, "Completed seed discovery")
} else {
$api.LogScriptEvent("DiscoverDataCenter.ps1", 100, 0, "No management IPs specified!")
}
$discoveryData
</Script></ScriptBody>
<ManagementIps/>
<TimeoutSeconds>300</TimeoutSeconds>
<SourceId>$MPElement$</SourceId>
<ManagedEntityId>$Target/Id$</ManagedEntityId>
</DataSource>
</Discovery>