$deviceID = # The ID of the agent watchdog in Base64 format, provided by the caller when the AMT_AgentPresenceWatchdog was created. # Create a reference to AMT_AgentPresenceWatchdog instance $agentPresenceWatchdogRef = $wsmanConnectionObject.NewReference("SELECT * FROM AMT_AgentPresenceWatchdog WHERE DeviceID='" + $deviceID + "'") $concreteDependencyRef = $wsmanConnectionObject.NewReference("CIM_ConcreteDependency") $concreteDependencyRef.AddSelector("Antecedent", $agentPresenceWatchdogRef) # Traverse to the CIM_ConcreteDependency instances that are connected to the AMT_AgentPresenceWatchdog instance. foreach($concreteDependencyItem in $concreteDependencyRef.Enumerate("http://schemas.dmtf.org/wbem/wsman/1/wsman/SelectorFilter", $null)) { # For each instance, check if it is associated to the AMT_StateTransitionCondition instance. if($concreteDependencyItem.Object.GetProperty("Dependent").IsA("AMT_StateTransitionCondition")) { # AMT_StateTransitionCondition specifies the condition that causes an action to occur. $stateTransitionConditionRef = $concreteDependencyItem.Object.GetProperty("Dependent").Ref $stateTransitionConditionInstance = $stateTransitionConditionRef.Get() $oldState = $stateTransitionConditionInstance.GetProperty("OldState") $newState = $stateTransitionConditionInstance.GetProperty("NewState") # AMT_AgentPresenceWatchdogAction represents the action that occurs when the transition condition is true. $concreteDependencyRef = $wsmanConnectionObject.NewReference("CIM_ConcreteDependency") $concreteDependencyRef.AddSelector("Antecedent", $stateTransitionConditionRef) # Traverse to the CIM_ConcreteDependency instances that are connected to the AMT_StateTransitionCondition instance. foreach($concreteDependencyItem in $concreteDependencyRef.Enumerate("http://schemas.dmtf.org/wbem/wsman/1/wsman/SelectorFilter", $null)) { # For each instance, check if it is associated to the AMT_AgentPresenceWatchdogAction instance. if($concreteDependencyItem.Object.GetProperty("Dependent").IsA("AMT_AgentPresenceWatchdogAction")) { # Get the AMT_AgentPresenceWatchdogAction object using its EPR. $agentPresenceWatchdogActionRef = $concreteDependencyItem.Object.GetProperty("Dependent").Ref $agentPresenceWatchdogActionInstance = $agentPresenceWatchdogActionRef.Get() $eventOnTransition = $agentPresenceWatchdogActionInstance.GetProperty("EventOnTransition") $actionSd = $agentPresenceWatchdogActionInstance.GetProperty("ActionSd") $fwVersion = GetCoreVersion if($fwVersion.ToString() -ge "4.0") { $inputObject = $agentPresenceWatchdogActionRef.CreateMethodInput("GetActionEac") $outputObject = $agentPresenceWatchdogActionRef.InvokeMethod($inputObject) $returnValue = $outputObject.GetProperty("ReturnValue") if($returnValue -like "0") { $actionEac = $outputObject.GetProperty("ActionEac") } } } } } }