AppFabric Hosting Services Installation Discovery

Microsoft.ApplicationServer.Servers.Discovery (Discovery)

This is the deep discovery that runs after the seed discovery discovers the AppFabric Hosting Services installation.

Knowledge Base article:

Summary

This is the deep discovery that runs after the seed discovery discovers the AppFabric Hosting Services installation.

Element properties:

TargetMicrosoft.ApplicationServer.ServerRole
EnabledTrue
Frequency14450
RemotableFalse

Object Discovery Details:

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

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource System.CommandExecuterDiscoveryDataSource Default

Source Code:

<Discovery ID="Microsoft.ApplicationServer.Servers.Discovery" Enabled="true" Target="MicrosoftApplicationServerLibrary!Microsoft.ApplicationServer.ServerRole" ConfirmDelivery="true" Remotable="true" Priority="Normal">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryClass TypeID="MicrosoftApplicationServerLibrary!Microsoft.ApplicationServer.Servers">
<Property TypeID="MicrosoftApplicationServerLibrary!Microsoft.ApplicationServer.Servers" PropertyID="ServersName"/>
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
</DiscoveryClass>
<DiscoveryClass TypeID="MicrosoftApplicationServerLibrary!Microsoft.ApplicationServer.Service">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
</DiscoveryClass>
<DiscoveryRelationship TypeID="MicrosoftApplicationServerLibrary!Microsoft.ApplicationServer.ServiceContainsServers"/>
<DiscoveryRelationship TypeID="MicrosoftApplicationServerLibrary!Microsoft.ApplicationServer.ServersContainsServerRole"/>
</DiscoveryTypes>
<DataSource ID="DS" TypeID="System!System.CommandExecuterDiscoveryDataSource">
<IntervalSeconds>14450</IntervalSeconds>
<ApplicationName>%windir%\system32\windowspowershell\v1.0\powershell.exe</ApplicationName>
<WorkingDirectory/>
<CommandLine>-Command ".\Create-AppServers.ps1"</CommandLine>
<TimeoutSeconds>600</TimeoutSeconds>
<RequireOutput>true</RequireOutput>
<Files>
<File>
<Name>Create-AppServers.ps1</Name>
<Contents><Script>

# Create a new discovery data packet -- this assumes that the client SDK is available, which it is on all OpsMgr agents
$oAPI = new-object -comObject "MOM.ScriptAPI"
$Discovery = $oAPI.CreateDiscoveryData(0, '$MPElement$', '$Target/Id$')

#$oAPI.LogScriptEvent("Create-AppServers.ps1", 123, 4, "Init")

# Create Service contains Servers relation
$sourceService = $Discovery.CreateClassInstance("$MPElement[Name='MicrosoftApplicationServerLibrary!Microsoft.ApplicationServer.Service']$")

$sourceServers = $Discovery.CreateClassInstance("$MPElement[Name='MicrosoftApplicationServerLibrary!Microsoft.ApplicationServer.Servers']$")
$sourceServers.AddProperty("$MPElement[Name='MicrosoftApplicationServerLibrary!Microsoft.ApplicationServer.Servers']/ServersName$", 'AppFabric Hosting Services Nodes')
$Discovery.AddInstance($sourceServers)

$relation = $Discovery.CreateRelationshipInstance("$MPElement[Name='MicrosoftApplicationServerLibrary!Microsoft.ApplicationServer.ServiceContainsServers']$")
$relation.Source = $sourceService
$relation.Target = $sourceServers
$Discovery.AddInstance($relation)

# Create Servers contains ServerRole relation
$target = $Discovery.CreateClassInstance("$MPElement[Name='MicrosoftApplicationServerLibrary!Microsoft.ApplicationServer.ServerRole']$")
$target.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", '$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$')

$relation = $Discovery.CreateRelationshipInstance("$MPElement[Name='MicrosoftApplicationServerLibrary!Microsoft.ApplicationServer.ServersContainsServerRole']$")
$relation.Source = $sourceServers
$relation.Target = $target

$Discovery.AddInstance($relation)

# Return the discovery data by calling the variable
$oAPI.Return($Discovery)

</Script></Contents>
<Unicode>1</Unicode>
</File>
</Files>
</DataSource>
</Discovery>