linux环境下.net core修改AD域用户密码

时间: 2023-08-01 11:11:16 浏览: 271
在 Linux 环境下使用 .NET Core 修改 AD 域用户密码,可以使用 `System.DirectoryServices.AccountManagement` 命名空间提供的 API。下面是示例代码: ```csharp using System; using System.DirectoryServices.AccountManagement; namespace ChangePassword { class Program { static void Main(string[] args) { try { // 创建 PrincipalContext 对象,连接到 AD 域 using (var context = new PrincipalContext(ContextType.Domain, "your-domain.com", "CN=Administrator,CN=Users,DC=your-domain,DC=com", "password")) { // 获取指定用户的 Principal 对象 var user = UserPrincipal.FindByIdentity(context, IdentityType.SamAccountName, "testuser"); if (user != null) { // 修改用户密码 user.SetPassword("new-password"); user.Save(); Console.WriteLine("Password changed successfully."); } else { Console.WriteLine("User not found."); } } } catch (Exception ex) { Console.WriteLine(ex.ToString()); } } } } ``` 其中,`PrincipalContext` 构造函数的第一个参数指定 AD 域的类型,第二个参数指定 AD 域的名称,第三个参数指定连接 AD 域所需的用户名,第四个参数指定连接 AD 域所需的密码。 `UserPrincipal.FindByIdentity` 方法用于获取指定用户的 `UserPrincipal` 对象,其中第一个参数指定查询条件的类型,第二个参数指定查询条件的值,第三个参数指定查询的用户名称。 `UserPrincipal.SetPassword` 方法用于修改用户密码,其中参数为新密码。 最后,调用 `UserPrincipal.Save` 方法将修改保存到 AD 域中。
阅读全文

相关推荐