public void ReadConfiguration(string configurationString) { XmlDocument config = new XmlDocument(); config.LoadXml(configurationString); XmlElement root = config.DocumentElement; Entries.Clear(); foreach (XmlElement queryNode in root.SelectNodes("directoryServices/query")) { DirectoryServicesQueryCollectorConfigEntry dirSrvsQryEntry = new DirectoryServicesQueryCollectorConfigEntry(); dirSrvsQryEntry.Name = queryNode.ReadXmlElementAttr("name", ""); dirSrvsQryEntry.DomainController = queryNode.ReadXmlElementAttr("domainController", ""); dirSrvsQryEntry.PropertiesToLoad = queryNode.ReadXmlElementAttr("propertiesToLoad", "sAMAccountName"); dirSrvsQryEntry.UseRowCountAsValue = queryNode.ReadXmlElementAttr("useRowCountAsValue", false); dirSrvsQryEntry.MaxRowsToEvaluate = queryNode.ReadXmlElementAttr("maxRows", 1); dirSrvsQryEntry.ReturnCheckSequence = CollectorReturnValueCompareEngine.CheckSequenceTypeFromString(queryNode.ReadXmlElementAttr("returnCheckSequence", "gwe")); XmlNode queryFilterNode = queryNode.SelectSingleNode("queryFilter"); dirSrvsQryEntry.QueryFilterText = queryFilterNode.InnerText; XmlNode goodConditionNode = queryNode.SelectSingleNode("goodCondition"); dirSrvsQryEntry.GoodResultMatchType = CollectorReturnValueCompareEngine.MatchTypeFromString(goodConditionNode.ReadXmlElementAttr("resultMatchType", "match")); dirSrvsQryEntry.GoodScriptText = goodConditionNode.InnerText; XmlNode warningConditionNode = queryNode.SelectSingleNode("warningCondition"); dirSrvsQryEntry.WarningResultMatchType = CollectorReturnValueCompareEngine.MatchTypeFromString(warningConditionNode.ReadXmlElementAttr("resultMatchType", "match")); dirSrvsQryEntry.WarningScriptText = warningConditionNode.InnerText; XmlNode errorConditionNode = queryNode.SelectSingleNode("errorCondition"); dirSrvsQryEntry.ErrorResultMatchType = CollectorReturnValueCompareEngine.MatchTypeFromString(errorConditionNode.ReadXmlElementAttr("resultMatchType", "match")); dirSrvsQryEntry.ErrorScriptText = errorConditionNode.InnerText; Entries.Add(dirSrvsQryEntry); } }
public void ReadConfiguration(string configurationString) { XmlDocument config = new XmlDocument(); config.LoadXml(configurationString); Entries.Clear(); XmlElement root = config.DocumentElement; foreach (XmlElement powerShellScriptRunnerNode in root.SelectNodes("powerShellScripts/powerShellScriptRunner")) { PowerShellScriptRunnerEntry entry = new PowerShellScriptRunnerEntry(); entry.Name = powerShellScriptRunnerNode.ReadXmlElementAttr("name", ""); entry.ReturnCheckSequence = CollectorReturnValueCompareEngine.CheckSequenceTypeFromString(powerShellScriptRunnerNode.ReadXmlElementAttr("returnCheckSequence", "gwe")); XmlNode testScriptNode = powerShellScriptRunnerNode.SelectSingleNode("testScript"); entry.TestScript = testScriptNode.InnerText; XmlNode goodScriptNode = powerShellScriptRunnerNode.SelectSingleNode("goodScript"); entry.GoodResultMatchType = CollectorReturnValueCompareEngine.MatchTypeFromString(goodScriptNode.ReadXmlElementAttr("resultMatchType", "match")); entry.GoodScriptText = goodScriptNode.InnerText; XmlNode warningScriptNode = powerShellScriptRunnerNode.SelectSingleNode("warningScript"); entry.WarningResultMatchType = CollectorReturnValueCompareEngine.MatchTypeFromString(warningScriptNode.ReadXmlElementAttr("resultMatchType", "match")); entry.WarningScriptText = warningScriptNode.InnerText; XmlNode errorScriptNode = powerShellScriptRunnerNode.SelectSingleNode("errorScript"); entry.ErrorResultMatchType = CollectorReturnValueCompareEngine.MatchTypeFromString(errorScriptNode.ReadXmlElementAttr("resultMatchType", "match")); entry.ErrorScriptText = errorScriptNode.InnerText; Entries.Add(entry); } }