Discover Cireson Portal Cache Builder Service
Cireson.Portal.Discovery.Cireson.Portal.App.Component.CacheBuilderService (Discovery)
Description for the new discovery.
Element properties:
Object Discovery Details:
Member Modules:
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>