22 lines
1.6 KiB
PowerShell

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