Découverte d'Application Insights Status Monitor

Microsoft.SystemCenter.Apm.StatusMonitor.Discovery (Discovery)

Element properties:

TargetMicrosoft.Windows.Server.Computer
EnabledTrue
Frequency14400
RemotableFalse
CommentDiscovery of Application Insights StatusMonitor

Object Discovery Details:

Discovered Classes and their attribuets:

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.TimedPowerShell.DiscoveryProvider Default

Source Code:

<Discovery ID="Microsoft.SystemCenter.Apm.StatusMonitor.Discovery" Enabled="true" Target="Windows!Microsoft.Windows.Server.Computer" Comment="Discovery of Application Insights StatusMonitor" ConfirmDelivery="false" Remotable="false" Priority="Normal">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryClass TypeID="Microsoft.SystemCenter.Apm.StatusMonitor"/>
</DiscoveryTypes>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.TimedPowerShell.DiscoveryProvider">
<IntervalSeconds>14400</IntervalSeconds>
<SyncTime/>
<ScriptName>SmDiscovery.ps1</ScriptName>
<ScriptBody><Script>

##########################################################################################
# &lt;copyright file="SmDiscovery.ps1" company="Microsoft"&gt;
# Copyright (c) Microsoft Corporation. All rights reserved.
# &lt;/copyright&gt;
# &lt;summary&gt;Script to Application Insights Status Monitor instances.
# &lt;/summary&gt;
##########################################################################################

$api = New-Object -comObject 'Mom.ScriptAPI'
Import-Module OperationsManager
$discoveryData = $api.CreateDiscoveryData(0, "$MPElement$", "$Target/Id$")

$envKey = "HKLM:SOFTWARE\Microsoft\Application Insights Agent\Setup\v1.0"

$environment = Get-ItemProperty $envKey | select-object "Path"

if (($environment -ne $null) -and ($environment -ne ""))
{
$ComputerIdentity = "$Target/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$"

$instance = $discoveryData.CreateClassInstance("$MPElement[Name='Microsoft.SystemCenter.Apm.StatusMonitor']$")
$instance.AddProperty('$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$', $ComputerIdentity)
$instance.AddProperty('$MPElement[Name='System!System.Entity']/DisplayName$', $ComputerIdentity)
$discoveryData.AddInstance($instance)
}

$discoveryData

</Script></ScriptBody>
<TimeoutSeconds>300</TimeoutSeconds>
<StrictErrorHandling>true</StrictErrorHandling>
</DataSource>
</Discovery>