windowsmanagementexperts SystemUpdateOnBoot discovery
windowsmanagementexperts.2014.SystemUpdateOnBoot.Discovery (Discovery)
Discovers and populates the SQL table for windowsmanagementexperts SystemUpdateOnBoot
Element properties:
Object Discovery Details:
Member Modules:
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>