/// <summary> /// 创建一个新的组织单元对象。 /// </summary> /// <param name="containerDN">表示组织单元的容器DN。</param> /// <param name="commonName">表示组织单元的公共名称。</param> /// <returns>返回一个新的组织单元对象。</returns> public DomainOU CreateNewOU(string containerDN, string commonName) { try { if (string.IsNullOrEmpty(containerDN.Trim())) { throw new Exception("“containerDN”属性不能为空"); } if (string.IsNullOrEmpty(commonName.Trim())) { throw new Exception("“commonName”属性不能为空"); } string ouDN = "OU=" + commonName + "," + containerDN; using (DirectoryEntry container = GetDirectoryEntry(containerDN)) { if (ExistDirectoryEntryByDN(ouDN)) { throw new Exception("已存在公共名称为“" + commonName + "”的对象。"); } container.Children.Add("OU=" + commonName, "organizationalUnit").CommitChanges(); DomainOU domainOU = GetOU(ouDN); return(domainOU); } } catch { return(null); } }
private string GetADUser(string gourp, string name) { string json = string.Empty; Yawei.Domain.Domain domain = new Yawei.Domain.Domain(); if (name.Trim() != "") { SearchResultCollection searchResultCollection = Yawei.Domain.Domain.ExecuteSearchResult(domain.GetDirectoryEntry(domain.DistinguishedName), "(&(objectCategory=person)(objectClass=user)(CN=*" + name + "*))", SearchScope.Subtree); json += "{"; json += "\"total\":" + searchResultCollection.Count.ToString() + ",\"rows\":["; for (int i = 0; i < searchResultCollection.Count; i++) { DomainUser user = domain.GetUser(searchResultCollection[i].GetDirectoryEntry().Guid.ToString()); json += "{\"UserGuid\":\"" + user.Guid.ToString() + "\",\"UserDN\":\"" + user.DN + "\",\"UserCN\":\"" + user.CN + "\",\"UserLoginName\":\"" + user.LoginName + "\",\"UserType\":\"AD\"}"; if (i + 1 < searchResultCollection.Count) { json += ","; } } json += "]}"; } else { using (DomainOU domainOU = domain.GetOU(gourp)) { SearchResultCollection searchResultCollection = Yawei.Domain.Domain.ExecuteSearchResult(domainOU, "(&(objectCategory=person)(objectClass=user))", SearchScope.OneLevel);;//Yawei.Domain.Domain.ExecuteSearchResult(domainOU, "(&(objectCategory=person)(objectClass=user))", SearchScope.OneLevel); json += "{"; json += "\"total\":" + searchResultCollection.Count.ToString() + ",\"rows\":["; for (int i = 0; i < searchResultCollection.Count; i++) { DomainUser user = domain.GetUser(searchResultCollection[i].GetDirectoryEntry().Guid.ToString()); json += "{\"UserGuid\":\"" + user.Guid.ToString() + "\",\"UserDN\":\"" + user.DN + "\",\"UserCN\":\"" + user.CN + "\",\"UserLoginName\":\"" + user.LoginName + "\",\"UserType\":\"AD\"}"; if (i + 1 < searchResultCollection.Count) { json += ","; } } json += "]}"; } } return(json); }
public ActionResult UpdateOU(DomainOU id) { if (ModelState.IsValid) { using (var db = new ADWebDB()) { db.Entry(id).State = EntityState.Modified; db.SaveChanges(); TempData["ou_updated"] = "The OU " + id.Name + " has been successfully updated!"; return(RedirectToAction("OU")); } } else { ModelState.AddModelError("", "Unable to update the Organizational Unit."); } return(View()); }
public ActionResult CreateOU(DomainOU newOU) { if (ModelState.IsValid) { using (var db = new ADWebDB()) { newOU.Enabled = true; db.DomainOU.Add(newOU); db.SaveChanges(); TempData["ou_created"] = "The Organizationl Unit " + newOU.Name + " has been created successfully!"; return(RedirectToAction("OU")); } } else { ModelState.AddModelError("", "Unable to create Organizational Unit."); } return(View("OU")); }
private void SetPageData() { switch (model) { case "AD": Yawei.Domain.Domain domain = new Yawei.Domain.Domain(); DomainOU domainOU = domain.GetOU("OU=市直机关,DC=qd,DC=gov,DC=cn"); foreach (SearchResult searchResult in Yawei.Domain.Domain.ExecuteSearchResult(domainOU, "(objectClass=organizationalUnit)", SearchScope.OneLevel)) { ou += "<option value=\"" + searchResult.GetDirectoryEntry().Guid + "\">" + searchResult.GetDirectoryEntry().Name.Replace("OU=", "") + "</option>"; } break; case "DB": Database database = DatabaseFactory.CreateDatabase("SystemPerson"); DataSet doc = database.ExecuteDataSet("select Guid,title from Groups where ouPath='OU=青岛市政府投资项目科技防腐平台,DC=组'"); foreach (DataRow dr in doc.Tables[0].Rows) { ou += "<option value=\"" + dr["Guid"].ToString() + "\">" + dr["title"].ToString() + "</option>"; } break; } }
public OUViewModel() { NewOU = new DomainOU(); //ActiveOUs = new List<DomainOU>(); //DisabledOUs = new List<DomainOU>(); }
/// <summary> /// 创建组织单元对象。 /// </summary> /// <param name="path">表示访问路径。</param> /// <returns>组织单元域节点或对象。</returns> public DomainOU GetOU(string path) { DomainOU domainOU = new DomainOU(CreateDirectoryPath(path), Username, Password, AuthenticationType); return(domainOU); }
public OUViewModel() { NewOU = new DomainOU(); }