wqlsoft 发表于 2009-4-28 16:14:16

autoit如何修改ADMINISTRATOR帐户名和密码??

修改帐户名不知怎么写



修改密码如下是可以的




$strComputer = "."
$password="aaaaaaaa"
$objuser = ObjGet("WinNT://" & $strComputer & "/administrator,user")
If IsObj($objuser) Then
$objuser.SetPassword($password)
msgbox(0,"","修改用户密码成功")
Else
       msgbox(0,"","您没有设置好管理员帐户")
EndIf

pusofalse 发表于 2009-4-28 16:53:41


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

sensel 发表于 2009-4-28 17:34:14

pusofalse兄能否再写个调用API改密码?

pusofalse 发表于 2009-4-28 17:42:34

3# sensel


改密码也非常简单,只需把"dword", 0 改成 "dword", 1003 就可以了~

sensel 发表于 2009-4-28 17:55:22

哦,明白了,谢谢!

wqlsoft 发表于 2009-4-29 06:27:29

$iResult = _NetUserChangeName("要修改的用户名", "新用户名")


是这样吗。。。。

lynfr8 发表于 2009-5-28 09:25:47

不错,学习下!重装系统以后方便了,不用手动设置。

范统.贾 发表于 2009-5-30 00:01:11

学习一下。

bachelor66 发表于 2009-6-1 11:06:13

6楼的可行吗?没人说?

sensel 发表于 2009-6-1 14:41:23

啊。。。这个问题还没结帖?
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

zlmyongheng 发表于 2009-6-2 13:42:35

不好,现在做系统图的就是方便

红色渣谷 发表于 2010-1-8 13:10:03

本帖最后由 红色渣谷 于 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就可以修改密码了? 密码是在那里写进去的了?

红色渣谷 发表于 2010-1-8 13:23:12

我是自己没明白过来,还以为是可以改名字,然后接着可以改密码了~~
明白了~~这个可以新建立用户名吗?

红色渣谷 发表于 2010-1-8 21:24:29

这个命令可以新建立用户名吗?~~谁知道啊

hzxymkb 发表于 2010-1-10 00:30:01

哈哈!又学到一招了!谢谢楼上的朋友了!
页: [1] 2
查看完整版本: autoit如何修改ADMINISTRATOR帐户名和密码??