C# 修改AD 密码
时间: 2023-06-28 22:15:00 浏览: 67
要修改Active Directory(AD)的密码,可以使用C#的System.DirectoryServices命名空间提供的类来实现。下面是一个示例代码:
```csharp
using System.DirectoryServices;
//指定AD域名称
string domainName = "yourdomain.com";
//指定AD域管理员账号
string adminName = "admin";
//指定AD域管理员密码
string adminPassword = "password";
//指定要修改密码的用户账号
string userName = "user";
//指定要修改的密码
string newPassword = "newpassword";
//创建AD域连接
DirectoryEntry entry = new DirectoryEntry("LDAP://" + domainName, adminName, adminPassword);
//指定要修改密码的用户账号路径
DirectorySearcher searcher = new DirectorySearcher(entry);
searcher.Filter = "(&(objectClass=user)(sAMAccountName=" + userName + "))";
SearchResult result = searcher.FindOne();
if (result != null)
{
//获取要修改密码的用户账号路径
DirectoryEntry userEntry = result.GetDirectoryEntry();
//修改密码
userEntry.Invoke("SetPassword", newPassword);
userEntry.CommitChanges();
Console.WriteLine("密码修改成功!");
}
else
{
Console.WriteLine("未找到要修改密码的用户账号!");
}
```
以上代码中,需要根据实际情况修改domainName、adminName、adminPassword、userName和newPassword等参数,其中adminName和adminPassword是AD域管理员账号和密码,用于连接AD域。
在代码中,首先创建了一个AD域连接,并指定要修改密码的用户账号路径,然后根据用户名查询该用户的账号信息,如果找到用户账号,则获取该用户的DirectoryEntry对象,并调用其SetPassword方法修改密码,最后提交更改即可。
注意:修改AD密码需要有足够的权限,否则会抛出异常或者修改失败。