windowsmanagementexperts SystemUpdateOnBoot discovery

windowsmanagementexperts.2014.SystemUpdateOnBoot.Discovery (Discovery)

Discovers and populates the SQL table for windowsmanagementexperts SystemUpdateOnBoot

Element properties:

TargetMicrosoft.Windows.Server.Computer
EnabledTrue
Frequency3600
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="windowsmanagementexperts.2014.SystemUpdateOnBoot.Discovery" Enabled="true" Target="Windows!Microsoft.Windows.Server.Computer" ConfirmDelivery="false" Remotable="false" Priority="Normal">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryClass TypeID="windowsmanagementexperts.2014.SystemUpdateOnBoot">
<Property PropertyID="ActionName"/>
<Property PropertyID="ActionActivities"/>
</DiscoveryClass>
</DiscoveryTypes>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.TimedPowerShell.DiscoveryProvider">
<IntervalSeconds>3600</IntervalSeconds>
<SyncTime/>
<ScriptName>SystemUpdateOnBoot.ps1</ScriptName>
<ScriptBody><Script>

param($sourceId,$ManagedEntityId,$computerName)

$oAPI = new-object -comobject "MOM.ScriptAPI"
$oDiscoveryData = $oAPI.CreateDiscoveryData(0, $sourceId, $ManagedEntityId)

$oregkey = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey([Microsoft.Win32.RegistryHive]::LocalMachine, $computerName)
$names = $oregkey.OpenSubKey("System\CurrentControlSet\Control\Session Manager").GetValueNames()
foreach($name in $names)
{
$pos = $name.IndexOf("SystemUpdateOnBoot")
if ($pos -gt -1)
{
$oInst = $oDiscoveryData.CreateClassInstance("$MPElement[Name='windowsmanagementexperts.2014.SystemUpdateOnBoot']$")
$oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", $computerName)
$oInst.AddProperty("$MPElement[Name='windowsmanagementexperts.2014.SystemUpdateOnBoot']/ActionName$", $Name)
$Value = $oregkey.OpenSubKey("System\CurrentControlSet\Control\Session Manager").GetValue($Name)
$oInst.AddProperty("$MPElement[Name='windowsmanagementexperts.2014.SystemUpdateOnBoot']/ActionActivities$", $Value)
$oDiscoveryData.AddInstance($oInst)
$oDiscoveryData
}
}
</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>120</TimeoutSeconds>
</DataSource>
</Discovery>