使用WMI更改远程计算机上的用户密码

本文关键字:用户 密码 计算机 WMI 使用 | 更新日期: 2023-09-27 18:18:07

是否有一种方法可以使用WMI在远程计算机上更改用户密码?我找不到任何相关的资源

我只是想补充一下,我们没有使用活动目录,我需要用c#写我的代码。

使用WMI更改远程计算机上的用户密码

好吧,这些都是VB脚本的例子,但它们应该是可翻译的:

如何更改OU中所有计算机的本地管理员密码?

Set objOU = GetObject("LDAP://OU=Finance, DC=fabrikam, DC=com")
objOU.Filter = Array("Computer")
For Each objItem in objOU
    strComputer = objItem.CN
    Set objUser = GetObject("WinNT://" & strComputer & "/Administrator")
    objUser.SetPassword("i5A2sj*!")
Next

第一部分是基于AD的,但只是用于查找域中的所有机器。第二部分(执行实际的远程密码重置)根本不依赖于AD。


它基本上绑定到WinNT://<ComputeName>/<UserName>,然后调用SetPassword()


关于更改本地管理帐户密码的其他SO问题已经在c#中出现了:

public static void ResetPassword(string computerName, string username, string newPassword) { 
        DirectoryEntry directoryEntry = new DirectoryEntry(string.Format("WinNT://{0}/{1}", computerName, username)); 
        directoryEntry.Invoke("SetPassword", newPassword);
}