22 lines
1.5 KiB
PowerShell

# $systemDefensePolicyRef is an EPR to the AMT_SystemDefensePolicy object created by the 'Create System Defense Policy' use case.
$systemDefensePolicyInstance = $systemDefensePolicyRef.Get()
$instanceID = $systemDefensePolicyInstance.GetProperty("InstanceID")
# 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'")
$networkPortSystemDefensePolicyRef = $wsmanConnectionObject.NewReference("AMT_NetworkPortSystemDefensePolicy")
$networkPortSystemDefensePolicyRef.AddSelector("Antecedent", $ethernetPortRef)
# Traverse to the AMT_NetworkPortSystemDefensePolicy instances that are connected to the CIM_EthernetPort instance.
foreach($networkPortSystemDefensePolicyItem in $networkPortSystemDefensePolicyRef.Enumerate("http://schemas.dmtf.org/wbem/wsman/1/wsman/SelectorFilter", $null))
{
# For each instance, check if it is associated to the AMT_SystemDefensePolicy instance.
if($networkPortSystemDefensePolicyItem.Object.GetProperty("Dependent").IsA("AMT_SystemDefensePolicy"))
{
# Get the AMT_SystemDefensePolicy object using its EPR.
$systemDefensePolicyInstance = $networkPortSystemDefensePolicyItem.Object.GetProperty("Dependent").Ref.Get()
if($systemDefensePolicyInstance.GetProperty("InstanceID") -like $instanceID)
{
$networkPortSystemDefensePolicyRef = $networkPortSystemDefensePolicyItem.Object.ToReference("Antecedent", "Dependent")
$networkPortSystemDefensePolicyRef.Delete()
}
}
}