private void unjoin_domain(object sender, EventArgs e) { { if (impLevel < 2 || authLevel < 4) { MessageBox.Show("Для управления целью необходимы следующие права:\r\nУровень олицетворения: Не ниже \"Олицетворение\"" + "\r\nУровень аутентификации: Не ниже \"Целостность пакетов\"", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } tabControl1.SelectedIndex = 0; if (!check()) { return; } Handler.setUser(login, password, impLevel, authLevel); DomainDialog domain = new DomainDialog(false); domain.Owner = this; domain.ShowDialog(); string[] tts = new string[targets.CheckedItems.Count]; for (int i = 0; i < targets.CheckedItems.Count; i++) { tts[i] = targets.CheckedItems[i].ToString(); } output.Nodes.Clear(); string respond; TreeNode tt; foreach (string target in tts) { respond = "Результат: "; object res = Handler.exec_by_object(target, "Win32_ComputerSystem", "UnJoinDomainOrWorkgroup", new object[] { dcUser, dcPassword }); if (res == null) { respond += "Цель недоступна"; } else { switch ((UInt32)res) { case 0: respond += "Успешно"; break; case 0xa84: respond += "Цель не в домене"; break; default: respond += res; break; } } tt = new TreeNode(target); tt.Nodes.Add(respond); output.Nodes.Add(tt); } } }
private void join_domain(object sender, EventArgs e) { tabControl1.SelectedIndex = 0; if (!check()) { return; } if (impLevel < 2 || authLevel < 4) { MessageBox.Show("Для управления целью необходимы следующие права:\r\nУровень олицетворения: Не ниже \"Олицетворение\"" + "\r\nУровень аутентификации: Не ниже \"Целостность пакетов\"", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } Handler.setUser(login, password, impLevel, authLevel); DomainDialog domain = new DomainDialog(true); domain.Owner = this; domain.ShowDialog(); if (domainName == null) { return; } string[] tts = new string[targets.CheckedItems.Count]; for (int i = 0; i < targets.CheckedItems.Count; i++) { tts[i] = targets.CheckedItems[i].ToString(); } output.Nodes.Clear(); string respond; TreeNode tt; string ou = null; string join_flag = null; if (is_domain) { ou = "OU=Workstation;"; string[] spld = domainName.Split('.'); foreach (string domain_part in spld) { ou += " DC=" + domain_part; } join_flag = "1"; } foreach (string target in tts) { respond = "Результат: "; object res = Handler.exec_by_object(target, "Win32_ComputerSystem", "JoinDomainOrWorkgroup", new object[] { domainName, dcUser, dcPassword, ou, join_flag }); if (res == null) { respond += "Цель недоступна"; } else { switch ((UInt32)res) { case 0: respond += "Успешно"; break; case 0x54b: respond += "Домен не найден (недоступен)"; break; case 0x54e: respond += "Неверный логин и (или) пароль "; break; default: respond += res; break; } } tt = new TreeNode(target); tt.Nodes.Add(respond); output.Nodes.Add(tt); } }