autoit如何修改ADMINISTRATOR帐户名和密码??
修改帐户名不知怎么写修改密码如下是可以的
$strComputer = "."
$password="aaaaaaaa"
$objuser = ObjGet("WinNT://" & $strComputer & "/administrator,user")
If IsObj($objuser) Then
$objuser.SetPassword($password)
msgbox(0,"","修改用户密码成功")
Else
msgbox(0,"","您没有设置好管理员帐户")
EndIf
Func _NetUserChangeName($sUserName, $sNewName, $sSystem = "")
Local $iResult, $tName, $pName, $tUserName, $pUserName
$tName = DllStructCreate("wchar")
$pName = DllStructGetPtr($tName)
DllStructSetData($tName, 1, $sNewName)
$tUserName = DllStructCreate("ptr")
$pUserName = DllStructGetPtr($tUserName)
DllStructSetData($tUserName, 1, $pName)
$iResult = DllCall("netapi32.dll", "dword", "NetUserSetInfo", _
"wstr", $sSystem, "wstr", $sUserName, _
"dword", 0, "ptr", $pUserName, "int*", 0)
$tName = 0
$tUserName = 0
Return SetError($iResult, 0, $iResult = 0)
EndFunc ;==>_NetUserChangeName()
$iResult = _NetUserChangeName("test", "NewName")
If $iResult Then
Msgbox(0, "", "Done!")
Else
Msgbox(0, @error, "Failed")
EndIf pusofalse兄能否再写个调用API改密码? 3# sensel
改密码也非常简单,只需把"dword", 0 改成 "dword", 1003 就可以了~ 哦,明白了,谢谢! $iResult = _NetUserChangeName("要修改的用户名", "新用户名")
是这样吗。。。。 不错,学习下!重装系统以后方便了,不用手动设置。 学习一下。 6楼的可行吗?没人说? 啊。。。这个问题还没结帖?
pusofalse兄的代码当然可行。我来标上中文注释吧。
;===============================================================================
; 说明: 设置用户帐号参数
; 语法: _NetUserSetInfo($sUserName, $sNewData[, $iType = 1[, $sComputer = ""]])
; 参数: $sUserName - 用户名
; $sNewData - 新参数
; $iType - [可选] 参数类型。1 - 用户名, 2 - 密码, 3 - 全名, 4 - 描述, 5 - 配置文件, 6 - 登录脚本, 7 - 本地主文件夹
; $sComputer - [可选] 计算机名称
; 需要: 无
; 返回: 成功 - 1
; 失败 - 0, 并设置 @error 到
; 1 - $iType 无效
; 2 - API 操作失败, 设置 @extended 到返回值
; 备注: 出处: http://www.autoitx.com/forum.php?mod=viewthread&tid=6726 2#, 作者: pusofalse
;===============================================================================
Func _NetUserSetInfo($sUserName, $sNewData, $iType = 1, $sComputer = "")
Local $aResult, $iLevel, $tData, $pData, $tBuffer, $pBuffer
Switch $iType
Case 1
$iLevel = 0
Case 2
$iLevel = 1003
Case 3
$iLevel = 1011
Case 4
$iLevel = 1007
Case 5
$iLevel = 1052
Case 6
$iLevel = 1009
Case 7
$iLevel = 1006
Case Else
Return SetError(1, 0, 0)
EndSwitch
$tData = DllStructCreate("wchar")
$pData = DllStructGetPtr($tData)
DllStructSetData($tData, 1, $sNewData)
$tBuffer = DllStructCreate("ptr")
$pBuffer = DllStructGetPtr($tBuffer)
DllStructSetData($tBuffer, 1, $pData)
$aResult = DllCall("netapi32.dll", "dword", "NetUserSetInfo", _
"wstr", $sComputer, "wstr", $sUserName, "dword", $iLevel, "ptr", $pBuffer, "int*", 0)
If $aResult = 0 Then
Return 1
Else
Return SetError(2, $aResult, 0)
EndIf
EndFunc ;==>_NetUserSetInfo 不好,现在做系统图的就是方便 本帖最后由 红色渣谷 于 2010-1-8 13:12 编辑
sensel
改密码也非常简单,只需把"dword", 0 改成 "dword", 1003 就可以了~
pusofalse 发表于 2009-4-28 17:42 http://www.autoitx.com/images/common/back.gif
是不是把这个参数改成1003就可以修改密码了? 密码是在那里写进去的了? 我是自己没明白过来,还以为是可以改名字,然后接着可以改密码了~~
明白了~~这个可以新建立用户名吗? 这个命令可以新建立用户名吗?~~谁知道啊 哈哈!又学到一招了!谢谢楼上的朋友了!
页:
[1]
2