找回密码
 加入
搜索
查看: 1992|回复: 4

怎么退出已登录系统超级用户模式?

  [复制链接]
发表于 2010-1-7 00:01:58 | 显示全部楼层 |阅读模式
本帖最后由 AUFS 于 2010-1-11 22:36 编辑

用_RunAsPowerUser($Name,$PWD) 登录操作完之后想不退出程序的情况下退出超级用户模式?
发表于 2010-1-7 19:12:42 | 显示全部楼层
退出超级用户模式?不明白你的意思,直接exit不就行了吗?
如果再次运行要用管理员身份运行,还是用参数判断。
 楼主| 发表于 2010-1-7 20:53:48 | 显示全部楼层
_RunAsPowerUser($Name,$PWD) 进入管理员身份之后操作完想退出管理员身份。。。如果不退出管理员身份的话如果我想发一个快捷方式到桌面的话就发送到管理员的哪个桌面去了,,,所以想到取消管理员身份了。不知道_RunAsPowerUser($Name,$PWD)可以转进管理员身份有没有也有办法退出这个身份呢?
发表于 2010-1-8 22:47:04 | 显示全部楼层
#NoTrayIcon
#include <LocalSecurityAuthority.au3>

$sPowerUser = "PowerUser"
$sPowerUserPswd = "PowerUserPswd"

$sAdminUser = "Administrator" ; 管理员用户名
$sAdminUserPswd = "AdminUserPswd" ; 管理员密码


_RunAsPowerUser($sPowerUser, $sPowerUserPswd)
Msgbox(0, 1, @UserName)

$hToken = _LogonUser($sAdminUser, $sAdminUserPswd, "", 2)
_ImpersonateLoggedOnUser($hToken)
Msgbox(0, 2, @UserName)

_RevertToSelf()
_LsaCloseHandle($hToken)
Msgbox(0, 3, @UserName)

Func _RunAsPowerUser($sPowerUser, $sPassword)
        Local $hProcess, $hThread, $iProcessID, $sApp = @ScriptFullPath, $sArg

        If $CmdLine[0] = 0 Or $CmdLine[$CmdLine[0]] <> "-RunAsPowerUser" Then
                If @Compiled = 0 Then $sApp = @AutoItExe
                $sArg = " " & $CmdLineRaw & " -RunAsPowerUser"
                $iProcessID = _CreateProcessWithLogon($sPowerUser, $sPassword, "", $sApp, $sArg, _
                                $hProcess, $hThread)
                If $iProcessID Then
                        _LsaCloseHandle($hProcess)
                        _LsaCloseHandle($hThread)
                        Exit
                EndIf
        EndIf
EndFunc        ;==>_RunAsPowerUser
 楼主| 发表于 2010-1-10 01:38:58 | 显示全部楼层
谢谢,问题解决了可以正常在受限用户和超级用户之间的转换了。。。不过发现一个问题就是在转了超级用户之后发觉点按钮反应很慢...点其它窗口再点回程序的时候也要等等才能反应...可能是权限之间的切换吧....
_RevertToSelf()
_LsaCloseHandle($hToken)
退出超级用户权限之后反应就正常了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2025-1-12 10:08 , Processed in 0.074296 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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