Discover Cireson Portal Cache Builder Service

Cireson.Portal.Discovery.Cireson.Portal.App.Component.CacheBuilderService (Discovery)

Description for the new discovery.

Element properties:

TargetCireson.Portal.Computer.CacheBuilderServer
EnabledTrue
Frequency14400
RemotableFalse

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="Cireson.Portal.Discovery.Cireson.Portal.App.Component.CacheBuilderService" Target="Cireson.Portal.Computer.CacheBuilderServer" Enabled="true" ConfirmDelivery="false" Remotable="true" Priority="Normal">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryClass TypeID="Cireson.Portal.App.Component.CacheBuilderService"/>
</DiscoveryTypes>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.TimedPowerShell.DiscoveryProvider">
<IntervalSeconds>14400</IntervalSeconds>
<SyncTime/>
<ScriptName>DiscoverCacheBuilderService.ps1</ScriptName>
<ScriptBody><Script>
param($sourceId,$managedEntityId,$computerName)

$api = New-Object -ComObject 'MOM.ScriptAPI'
$discoveryData = $api.CreateDiscoveryData(0, $sourceId, $managedEntityId)

# Logging
$api.LogScriptEvent('DiscoverCacheBuilderService.ps1',4549,0,"Cireson Cache Builder Service Discovery Script is starting")

$CacheBuilderServices = Get-WmiObject win32_service | Where-Object {$_.Name -eq 'CacheBuilder'} | select Name, PathName, StartName, SystemName

foreach ($CacheBuilderService in $CacheBuilderServices)

{

$instance = $discoveryData.CreateClassInstance("$MPElement[Name='Cireson.Portal.App.Component.CacheBuilderService']$")
$instance.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$",$computerName)
$instance.AddProperty("$MPElement[Name='Cireson.Portal.App.Component.CacheBuilderService']/ServiceName$",$CacheBuilderService.Name)
$instance.AddProperty("$MPElement[Name='Cireson.Portal.App.Component.CacheBuilderService']/SystemName$",$CacheBuilderService.SystemName)
$instance.AddProperty("$MPElement[Name='Cireson.Portal.App.Component.CacheBuilderService']/InstallPath$",$CacheBuilderService.PathName)
$instance.AddProperty("$MPElement[Name='Cireson.Portal.App.Component.CacheBuilderService']/ServiceAccount$",$CacheBuilderService.StartName)
$instance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$",$CacheBuilderService.Name)
$discoveryData.AddInstance($instance)

}

$discoveryData

# Logging
$api.LogScriptEvent('DiscoverCacheBuilderService.ps1',4550,0,"Cireson Cache Builder Service Discovery Script is complete")
</Script></ScriptBody>
<Parameters>
<Parameter>
<Name>sourceId</Name>
<Value>$MPElement$</Value>
</Parameter>
<Parameter>
<Name>managedEntityId</Name>
<Value>$Target/Id$</Value>
</Parameter>
<Parameter>
<Name>computerName</Name>
<Value>$Target/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</Value>
</Parameter>
</Parameters>
<TimeoutSeconds>240</TimeoutSeconds>
</DataSource>
</Discovery>