找回密码
 加入
搜索
查看: 8539|回复: 17

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

  [复制链接]
发表于 2009-4-28 16:14:16 | 显示全部楼层 |阅读模式
修改帐户名不知怎么写



修改密码如下是可以的




$strComputer = "."
$password="aaaaaaaa"
$objuser = ObjGet("WinNT://" & $strComputer & "/administrator,user")
If IsObj($objuser) Then
  $objuser.SetPassword($password)
  msgbox(0,"","修改用户密码成功")
  Else
         msgbox(0,"","您没有设置好管理员帐户")
  EndIf
发表于 2009-4-28 16:53:41 | 显示全部楼层
Func _NetUserChangeName($sUserName, $sNewName, $sSystem = "")
        Local $iResult, $tName, $pName, $tUserName, $pUserName

        $tName = DllStructCreate("wchar[256]")
        $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], 0, $iResult[0] = 0)
EndFunc        ;==>_NetUserChangeName()

$iResult = _NetUserChangeName("test", "NewName")
If $iResult Then
        Msgbox(0, "", "Done!")
Else
        Msgbox(0, @error, "Failed")
EndIf
发表于 2009-4-28 17:34:14 | 显示全部楼层
pusofalse兄能否再写个调用API改密码?
发表于 2009-4-28 17:42:34 | 显示全部楼层
3# sensel


改密码也非常简单,只需把"dword", 0 改成 "dword", 1003 就可以了~
发表于 2009-4-28 17:55:22 | 显示全部楼层
哦,明白了,谢谢!
 楼主| 发表于 2009-4-29 06:27:29 | 显示全部楼层
$iResult = _NetUserChangeName("要修改的用户名", "新用户名")


是这样吗。。。。
发表于 2009-5-28 09:25:47 | 显示全部楼层
不错,学习下!重装系统以后方便了,不用手动设置。
发表于 2009-5-30 00:01:11 | 显示全部楼层
学习一下。
发表于 2009-6-1 11:06:13 | 显示全部楼层
6楼的可行吗?没人说?
发表于 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[256]")
        $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] = 0 Then
                Return 1
        Else
                Return SetError(2, $aResult[0], 0)
        EndIf
EndFunc   ;==>_NetUserSetInfo

评分

参与人数 1金钱 +50 收起 理由
pusofalse + 50 喔~

查看全部评分

发表于 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



   是不是把这个参数改成1003就可以修改密码了? 密码是在那里写进去的了?
发表于 2010-1-8 13:23:12 | 显示全部楼层
我是自己没明白过来,还以为是可以改名字,然后接着可以改密码了~~
明白了~~这个可以新建立用户名吗?
发表于 2010-1-8 21:24:29 | 显示全部楼层
这个命令可以新建立用户名吗?~~谁知道啊
发表于 2010-1-10 00:30:01 | 显示全部楼层
哈哈!又学到一招了!谢谢楼上的朋友了!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-5 04:22 , Processed in 0.105728 second(s), 27 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表