private void cmdOK_Click(object sender, EventArgs e) { DirectoryServicesQueryCollectorConfigEntry selectedEntry; if (SelectedEntry == null) { SelectedEntry = new DirectoryServicesQueryCollectorConfigEntry(); } selectedEntry = (DirectoryServicesQueryCollectorConfigEntry)SelectedEntry; selectedEntry.Name = txtName.Text; selectedEntry.DomainController = txtDomainController.Text; selectedEntry.PropertiesToLoad = txtPropertiestToLoad.Text; selectedEntry.ReturnCheckSequence = optGWE.Checked ? CollectorAgentReturnValueCheckSequence.GWE : CollectorAgentReturnValueCheckSequence.EWG; selectedEntry.UseRowCountAsValue = chkUseRowCount.Checked; selectedEntry.MaxRowsToEvaluate = (int)maxRowsNumericUpDown.Value; selectedEntry.QueryFilterText = txtQueryText.Text; selectedEntry.GoodScriptText = txtSuccess.Text; selectedEntry.GoodResultMatchType = (CollectorAgentReturnValueCompareMatchType)cboSuccessMatchType.SelectedIndex; selectedEntry.WarningScriptText = txtWarning.Text; selectedEntry.WarningResultMatchType = (CollectorAgentReturnValueCompareMatchType)cboWarningMatchType.SelectedIndex; selectedEntry.ErrorScriptText = txtError.Text; selectedEntry.ErrorResultMatchType = (CollectorAgentReturnValueCompareMatchType)cboErrorMatchType.SelectedIndex; DialogResult = System.Windows.Forms.DialogResult.OK; Close(); }
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); } }
private string GetQIValue(ListViewItem lvi, DirectoryServicesQueryCollectorConfigEntry dsQueryEntry) { string results = ""; try { object value = dsQueryEntry.RunQuery(); CollectorState currentstate = dsQueryEntry.GetState(value); results = FormatUtils.N(value, "[null]"); if (currentstate == CollectorState.Error) { lvi.ImageIndex = 3; } else if (currentstate == CollectorState.Warning) { lvi.ImageIndex = 2; } else { lvi.ImageIndex = 1; } } catch (Exception ex) { results = ex.Message; } return(results); }
private void DirectoryServicesQueryCollectorEditEntry_Load(object sender, EventArgs e) { if (SelectedEntry == null) { SelectedEntry = new DirectoryServicesQueryCollectorConfigEntry(); } DirectoryServicesQueryCollectorConfigEntry selectedEntry = (DirectoryServicesQueryCollectorConfigEntry)SelectedEntry; #region Load Match types cboSuccessMatchType.Items.Clear(); cboSuccessMatchType.Items.AddRange(CollectorAgentReturnValueCompareEngine.ReturnValueCompareMatchTypesToList().ToArray()); if (cboSuccessMatchType.Items.Count > 0) { cboSuccessMatchType.SelectedIndex = 0; } cboWarningMatchType.Items.Clear(); cboWarningMatchType.Items.AddRange(CollectorAgentReturnValueCompareEngine.ReturnValueCompareMatchTypesToList().ToArray()); if (cboWarningMatchType.Items.Count > 0) { cboWarningMatchType.SelectedIndex = 0; } cboErrorMatchType.Items.Clear(); cboErrorMatchType.Items.AddRange(CollectorAgentReturnValueCompareEngine.ReturnValueCompareMatchTypesToList().ToArray()); if (cboErrorMatchType.Items.Count > 0) { cboErrorMatchType.SelectedIndex = 0; } #endregion if (selectedEntry != null) { txtName.Text = selectedEntry.Name; txtDomainController.Text = selectedEntry.DomainController; txtQueryText.Text = selectedEntry.QueryFilterText; txtPropertiestToLoad.Text = selectedEntry.PropertiesToLoad; optEWG.Checked = selectedEntry.ReturnCheckSequence == CollectorAgentReturnValueCheckSequence.EWG; chkUseRowCount.Checked = selectedEntry.UseRowCountAsValue; maxRowsNumericUpDown.Value = selectedEntry.MaxRowsToEvaluate; txtSuccess.Text = selectedEntry.GoodScriptText; cboSuccessMatchType.SelectedIndex = (int)selectedEntry.GoodResultMatchType; txtWarning.Text = selectedEntry.WarningScriptText; cboWarningMatchType.SelectedIndex = (int)selectedEntry.WarningResultMatchType; txtError.Text = selectedEntry.ErrorScriptText; cboErrorMatchType.SelectedIndex = (int)selectedEntry.ErrorResultMatchType; } }
private void cmdRunQuery_Click(object sender, EventArgs e) { try { Cursor.Current = Cursors.WaitCursor; DirectoryServicesQueryCollectorConfigEntry testEntry = new DirectoryServicesQueryCollectorConfigEntry(); testEntry.Name = txtName.Text; testEntry.DomainController = txtDomainController.Text; testEntry.PropertiesToLoad = txtPropertiestToLoad.Text; testEntry.ReturnCheckSequence = optGWE.Checked ? CollectorAgentReturnValueCheckSequence.GWE : CollectorAgentReturnValueCheckSequence.EWG; testEntry.UseRowCountAsValue = chkUseRowCount.Checked; testEntry.MaxRowsToEvaluate = (int)maxRowsNumericUpDown.Value; testEntry.QueryFilterText = txtQueryText.Text; testEntry.GoodScriptText = txtSuccess.Text; testEntry.GoodResultMatchType = (CollectorAgentReturnValueCompareMatchType)cboSuccessMatchType.SelectedIndex; testEntry.WarningScriptText = txtWarning.Text; testEntry.WarningResultMatchType = (CollectorAgentReturnValueCompareMatchType)cboWarningMatchType.SelectedIndex; testEntry.ErrorScriptText = txtError.Text; testEntry.ErrorResultMatchType = (CollectorAgentReturnValueCompareMatchType)cboErrorMatchType.SelectedIndex; object results = testEntry.RunQuery(); CollectorState currentstate = testEntry.GetState(results); string formattedResults = results.ToString(); if (formattedResults.Length > 255) { formattedResults = formattedResults.Substring(0, 255); } MessageBox.Show(string.Format("Result: {0}\r\nValue(s): {1}", currentstate, formattedResults), "Test query", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { Cursor.Current = Cursors.Default; MessageBox.Show(ex.Message, "Run script", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { Cursor.Current = Cursors.Default; } }
public override void RefreshDisplayData() { try { lvwResults.BeginUpdate(); Cursor.Current = Cursors.WaitCursor; foreach (ListViewItem lvi in lvwResults.Items) { DirectoryServicesQueryCollectorConfigEntry dsQueryEntry = (DirectoryServicesQueryCollectorConfigEntry)lvi.Tag; lvi.SubItems[1].Text = GetQIValue(lvi, dsQueryEntry); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Refresh", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { Cursor.Current = Cursors.Default; lvwResults.EndUpdate(); } //LoadDetailView(); base.RefreshDisplayData(); }
private void LoadDetailView() { //lvwDetails.BeginUpdate(); //lvwDetails.Items.Clear(); //lvwDetails.Columns.Clear(); if (lvwResults.SelectedItems.Count == 1 && lvwResults.SelectedItems[0].Tag is DirectoryServicesQueryCollectorConfigEntry) { DirectoryServicesQueryCollectorConfigEntry dsQueryEntry = (DirectoryServicesQueryCollectorConfigEntry)lvwResults.SelectedItems[0].Tag; try { //Cursor.Current = Cursors.WaitCursor; //DataSet ds = dsQueryEntry.RunDetailQuery(); //if (dsQueryEntry.ColumnNames == null || dsQueryEntry.ColumnNames.Count == 0) //{ // foreach (DataColumn currentDataColumn in ds.Tables[0].Columns) // { // ColumnHeader newColumn = new ColumnHeader(); // newColumn.Tag = currentDataColumn; // newColumn.Text = currentDataColumn.Caption; // if ((currentDataColumn.DataType == typeof(UInt64)) || (currentDataColumn.DataType == typeof(UInt32)) || (currentDataColumn.DataType == typeof(UInt16)) || // (currentDataColumn.DataType == typeof(Int64)) || (currentDataColumn.DataType == typeof(Int32)) || (currentDataColumn.DataType == typeof(Int16))) // { // newColumn.TextAlign = HorizontalAlignment.Right; // } // else // { // newColumn.TextAlign = HorizontalAlignment.Left; // } // lvwDetails.Columns.Add(newColumn); // } // foreach (DataRow r in ds.Tables[0].Rows) // { // ListViewItem lvi = new ListViewItem(FormatUtils.N(r[0], "[Null]")); // for (int i = 1; i < lvwDetails.Columns.Count; i++) // { // lvi.SubItems.Add(FormatUtils.N(r[i], "[Null]")); // } // lvwDetails.Items.Add(lvi); // } //} //else //{ // foreach (string colname in dsQueryEntry.ColumnNames) // { // ColumnHeader newColumn = new ColumnHeader(); // newColumn.Text = colname; // lvwDetails.Columns.Add(newColumn); // } // foreach (DataRow r in ds.Tables[0].Rows) // { // string firstColumnName = dsQueryEntry.ColumnNames[0]; // ListViewItem lvi = new ListViewItem(AttemptFieldRead(r, firstColumnName)); // for (int i = 1; i < dsQueryEntry.ColumnNames.Count; i++) // { // lvi.SubItems.Add(AttemptFieldRead(r, dsQueryEntry.ColumnNames[i])); // } // lvwDetails.Items.Add(lvi); // } //} //lvwDetails.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); } catch (Exception ex) { MessageBox.Show(ex.Message, "View details", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { Cursor.Current = Cursors.Default; } } //lvwDetails.EndUpdate(); toolStripButtonExportData.Enabled = lvwResults.SelectedItems.Count > 0; }