serverRoom/amt-sdk-20-0-0-1/IntelvProModule/PS_Snippets/SystemDefense/Get the Statistics of the Active Policy.ps1

31 lines
2.0 KiB
PowerShell

# Create a reference to the CIM_EthernetPort instance, select the wired interface.
$ethernetPortRef = $wsmanConnectionObject.NewReference("SELECT * FROM CIM_EthernetPort WHERE DeviceID='Intel(r) AMT Ethernet Port 0'")
$activeFilterStatisticsRef = $wsmanConnectionObject.NewReference("AMT_ActiveFilterStatistics")
$activeFilterStatisticsRef.AddSelector("Antecedent", $ethernetPortRef)
# Traverse to the AMT_ActiveFilterStatistics instances that are connected to the CIM_EthernetPort instance.
foreach($activeFilterStatisticsItem in $activeFilterStatisticsRef.Enumerate("http://schemas.dmtf.org/wbem/wsman/1/wsman/SelectorFilter", $null))
{
# For each instance, check if it is associated to the AMT_FilterInSystemDefensePolicy instance.
if($activeFilterStatisticsItem.Object.GetProperty("Dependent").IsA("AMT_FilterInSystemDefensePolicy"))
{
$activeFilterStatisticsInstance = $activeFilterStatisticsItem.Object
$activationTime = $activeFilterStatisticsInstance.GetProperty("ActivationTime")
$lastResetTime = $activeFilterStatisticsInstance.GetProperty("LastResetTime")
$fwVersion = GetCoreVersion
if($fwVersion.ToString() -ge "5.1")
{
$activationTime = $activationTime.InternalObject.Text
$lastResetTime = $lastResetTime.InternalObject.Text
}
$filterMatched = $activeFilterStatisticsInstance.GetProperty("FilterMatched")
$readCount = $activeFilterStatisticsInstance.GetProperty("ReadCount")
# Get the AMT_FilterInSystemDefensePolicy object using its EPR.
$filterInSystemDefensePolicyInstance = $activeFilterStatisticsInstance.GetProperty("Dependent").Ref.Get()
# Check if it is associated to the AMT_SystemDefensePolicy instance.
if($filterInSystemDefensePolicyInstance.GetProperty("Antecedent").IsA("AMT_SystemDefensePolicy"))
{
$systemDefensePolicyInstance = $filterInSystemDefensePolicyInstance.GetProperty("Antecedent").Ref.Get()
$filterEntryBaseInstance = $filterInSystemDefensePolicyInstance.GetProperty("Dependent").Ref.Get()
}
}
}