Windows Server의 Active Directory에서 정보를 조작하는 데 도움이되는 라이브러리를 만들려고합니다.DirectoryServices 라이브러리를 사용하여 활성 디렉토리 사용자를 만들 수 있습니까?
지금까지 Active Directory 목록에서 사용자 컬렉션을 얻을 수있었습니다.
namespace SharpDirectory
{
public class UserSearcher
{
private List<User> _users;
public string ConnectionString { get; set; }
public string Username { get; set; }
public string Password { get; set; }
/// <summary>
/// Provides a method of accessing user information from Active Directory.
/// </summary>
/// <param name="connectionString">A standard LDAP conncetion string to your active directory server.</param>
/// <param name="username">User that has sufficient permission level to query Active Directory.</param>
/// <param name="password">Password for the entered user.</param>
public UserSearcher(string connectionString, string username, string password)
{
ConnectionString = connectionString;
Username = username;
Password = password;
}
/// <summary>
/// Find all users in an Active Directory.
/// </summary>
/// <returns>A List of User objects.</returns>
public List<User> FindAllUsers()
{
_users = new List<User>();
if (DomainExists(ConnectionString))
{
var baseDirectory = new DirectoryEntry(ConnectionString);
baseDirectory.Username = Username;
baseDirectory.Password = Password;
DirectorySearcher searcher = new DirectorySearcher();
searcher.SearchRoot = baseDirectory;
searcher.Filter = "(objectCategory=user)";
searcher.SearchScope = SearchScope.Subtree;
var userResults = searcher.FindAll();
foreach (SearchResult user in userResults)
{
var newUser = new User();
newUser.Name = user.Properties["name"][0].ToString();
newUser.Path = user.Path;
_users.Add(newUser);
}
}
return _users;
}
private bool DomainExists(string _connectionString)
{
try
{
if (DirectoryEntry.Exists(_connectionString))
return true;
else
return false;
}
catch (Exception e)
{
throw new Exception(e.Message);
}
}
}
}
궁금
, 수있는 방법이 생성이 라이브러리를 사용하여 사용자가? 당신이 .NET 3.5 경우