使用.NET远程更改Windows用户密码

时间:2010-04-08 12:25:34

标签: .net active-directory

如何使用VB.NET / C远程更改本地用户帐户密码?

我查看了DirectoryEntry类,知道如何将用户添加到组,但无法弄清楚如何更改(本地)密码。

2 个答案:

答案 0 :(得分:3)

使用.net 3.5:

PrincipalContext context = new PrincipalContext(ContextType.Domain);
UserPrincipal user = UserPrincipal.FindByIdentity(context, "user");

用户可以更改自己的密码:

user.ChangePassword("old", "new");

或者,如果您以AD管理员身份运行,则可以重置它:

user.SetPassword("1234567");

答案 1 :(得分:2)

是,

这可能适用于.net 3.5及更高版本,但它需要启用并运行服务器服务(即文件共享)。如果不是???

我只想从VB.Net程序集的核心(它就像一个魅力BTW)中选择好的旧的,可爱的,完美的和保证的ADSI语法......例如:

Dim uName as string = "trgtUser"
Dim uPass as string = "newPass"
Dim user = GetObject("WinNT://./" & uName & ",user")
user.SetPassword(uPass)

这就是在本地机器上设置密码!!

玩得开心;)