pg1984 发表于 2008-10-6 11:47:55

修改用户密码

请教各位:
   怎样用AUTOIT连接WMI修改用户的密码????
谢谢!!!!!

[ 本帖最后由 pg1984 于 2008-10-13 11:06 编辑 ]

sanhen 发表于 2008-10-6 11:56:58

没有测试。。你试下,不行我再改。


_SetPassword("admin","pass")

Func _SetPassword($User,$NewPasswd)
Local $objUser
$objUser = ObjGet("LDAP://" & $User)
$objUser.SetPassword($NewPasswd)
EndFunc

pg1984 发表于 2008-10-6 12:04:10

$objUser = ObjGet("LDAP://" & $User)
这不是要连接到活动目录吗?我的是工作组模式,所以这个不行。
是不是要这样子修改:
$objUser = ObjGet("WinNT://" & $User)   
请教

sanhen 发表于 2008-10-6 12:42:05

哦。按照MS上边的VBS改的。不行就改为WINNT
LDAP是可以连接到域或者活动目录的吧。不大清楚这些概念了。

pg1984 发表于 2008-10-6 13:29:52

使用VBS我会改,可是使用AUTOIT 的话就会报错。

pg1984 发表于 2008-10-8 13:33:51

通过不断的尝试,终于修改用户密码成功。代码如下:
Dim $password
$password=InputBox("密码","请输入密码","","*")
$password=InputBox("验证","确认密码","","*")                       
If $password=$password Then                       
$strComputer = "."
$objuser = ObjGet("WinNT://" & $strComputer & "/skyla,user")
If IsObj($objuser) Then
$objuser.SetPassword($password)
msgbox(0,"",,"修改用户密码成功")
EndIf

liongodmien 发表于 2008-10-8 16:40:37

原帖由 pg1984 于 2008-10-8 13:33 发表 http://www.autoitx.com/images/common/back.gif
通过不断的尝试,终于修改用户密码成功。代码如下:
Dim $password
$password=InputBox("密码","请输入密码","","*")
$password=InputBox("验证","确认密码","","*")                       
If $password=$password...

兄弟,你的这段代码好像少了个:EndIf 啊!

而且:
$strComputer = "."
$objuser = ObjGet("WinNT://" & $strComputer & "/skyla,user")
根本就等于:
$objuser = ObjGet("WinNT://./skyla,user")
嘛,干嘛这么麻烦呢?

pg1984 发表于 2008-10-11 10:13:13

“·”表示当前计算机,如果要指定特定的计算机名称,那直接修改变量后面的值就行了,不用去修改每一个地方。

mfknui 发表于 2008-10-13 17:16:05

net user admin psaa
页: [1]
查看完整版本: 修改用户密码