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: Element properties: Object Discovery Details: Member Modules:
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>