Exemple #1
0
 /// <summary>
 /// 在Users容器下创建一个新的工作组对象。
 /// </summary>
 /// <param name="commonName">表示工作组的公共名称。</param>
 /// <param name="sAMAccountName">表示工作组的账户名称。</param>
 /// <param name="groupType">表示工作组的类型。</param>
 /// <returns>返回一个新的工作组对象。</returns>
 public DomainGroup CreateNewGroup(string commonName, string sAMAccountName, ADS_GROUP_TYPE_ENUM groupType)
 {
     return(CreateNewGroup("CN=Users", commonName, sAMAccountName, groupType));
 }
Exemple #2
0
 /// <summary>
 /// 创建一个新的工作组对象。
 /// </summary>
 /// <param name="containerDN">表示工作组的容器DN。</param>
 /// <param name="commonName">表示工作组的公共名称。</param>
 /// <param name="sAMAccountName">表示工作组的账户名称。</param>
 /// <param name="groupType">表示工作组的类型。</param>
 /// <returns>返回一个新的工作组对象。</returns>
 public DomainGroup CreateNewGroup(string containerDN, string commonName, string sAMAccountName, ADS_GROUP_TYPE_ENUM groupType)
 {
     try
     {
         if (string.IsNullOrEmpty(containerDN.Trim()))
         {
             throw new Exception("“containerDN”属性不能为空");
         }
         if (string.IsNullOrEmpty(commonName.Trim()))
         {
             throw new Exception("“commonName”属性不能为空");
         }
         if (string.IsNullOrEmpty(sAMAccountName.Trim()))
         {
             throw new Exception("“sAMAccountName”属性不能为空");
         }
         string groupDN = "CN=" + commonName + "," + containerDN;
         using (DirectoryEntry container = GetDirectoryEntry(containerDN))
         {
             if (ExistDirectoryEntryByDN(groupDN))
             {
                 throw new Exception("已存在公共名称为“" + commonName + "”的对象。");
             }
             container.Children.Add("CN=" + commonName, "group").CommitChanges();
             DomainGroup Domaingroup = GetGroup(groupDN);
             Domaingroup.SAMAccountName = sAMAccountName;
             Domaingroup.GroupType      = ((long)groupType).ToString();
             Domaingroup.CommitChanges();
             return(Domaingroup);
         }
     }
     catch
     {
         return(null);
     }
 }