# RunAs

指定一组用户凭据, 用于后续所有的 Run 和 RunWait 函数.

    RunAs User, Password, Domain

## 参数

User

  类型: 字符串

  如果省略此参数和其他所有参数, 则关闭 RunAs 的功能, 这样会恢复 Run 和 RunWait 到它们默认的行为. 否则, 指定新进程创建所用的账户名.

Password

  类型: 字符串

  如果未设置或省略, 默认为空密码. 否则, 请指定 User 的密码. 请注意, 默认情况下不允许传递空白密码, 根据操作系统策略 "帐户: 使用空密码的本地帐户只允许进行控制台登录".

Domain

  类型: 字符串

  如果未设置或省略, 将使用本地账户. 否则, 请指定 User 的域名. 如果这样不起作用, 请尝试使用 @YourComputerName.

## 备注

如果脚本由于用户帐户控制(UAC) 而以受限特权运行, 则即使使用 RunAs, 其启动的任何程序通常也将受到限制. 要提升权限, 请改用 Run *RunAs.

此命令只通知 AutoHotkey 为后续所有的 Run 和 RunWait 函数使用(或不使用) 替换的用户凭据. 该函数不验证证书.

如果指定了无效的 User, Password 或 Domain, 则 Run 和/或 RunWait 将显示一条错误消息来说明问题(除非 Try/Catch 语句捕获了此错误).

当 RunAs 功能生效时, Run 和 RunWait 将无法启动文档, URL 或系统动词. 换句话说, 要启动的文件必须是可执行文件.

为了使此函数起作用, "Secondary Logon" 服务必须设置为手动或自动(如果设置为手动, 则操作系统会根据需要自动启动).

## 相关

Run, RunWait

## 示例

以管理员身份打开注册表编辑器.

    RunAs "Administrator", "MyPassword"
    Run "RegEdit.exe"
    RunAs  ; 恢复为普通行为.

dftg