</head> <body> <h1>RunAs</h1> <p>指定一组用户凭据, 用于后续所有的 <a href="Run.htm">Run</a> 和 <a href="Run.htm">RunWait</a> 函数.</p> <pre class="Syntax"><span class="func">RunAs</span> <span class="optional">User, Password, Domain</span></pre> <h2 id="Parameters">参数</h2> <dl> <dt>User</dt> <dd> <p>类型: <a href="../Concepts.htm#strings">字符串</a></p> <p>如果省略此参数和其他所有参数, 则关闭 RunAs 的功能, 这样会恢复 <a href="Run.htm">Run</a> 和 <a href="Run.htm">RunWait</a> 到它们默认的行为. 否则, 指定新进程创建所用的账户名.</p> </dd> <dt>Password</dt> <dd> <p>类型: <a href="../Concepts.htm#strings">字符串</a></p> <p>如果为空或省略, 默认为空密码. 否则, 请指定 <em>User</em> 的密码. 请注意, 默认情况下不允许传递空白密码, 根据操作系统策略 "帐户: 使用空密码的本地帐户只允许进行控制台登录".</p> </dd> <dt>Domain</dt> <dd> <p>类型: <a href="../Concepts.htm#strings">字符串</a></p> <p>如果为空或省略, 将使用本地账户. 否则, 请指定 <em>User</em> 的域名. 如果这样不起作用, 请尝试使用 @YourComputerName.</p> </dd> </dl> <h2 id="Remarks">备注</h2> <p>如果脚本由于<a href="https://en.wikipedia.org/wiki/User_Account_Control">用户帐户控制(UAC)</a> 而以受限特权运行, 则即使使用 RunAs, 其启动的任何程序通常也将受到限制. 要提升权限, 请改用 <a href="Run.htm#RunAs">Run *RunAs</a>.</p> <p>此命令只通知 AutoHotkey 为后续所有的 <a href="Run.htm">Run</a> 和 <a href="Run.htm">RunWait</a> 函数使用(或不使用) 替换的用户凭据. 该函数不验证证书.</p> <p>如果指定了无效的 <em>User</em>, <em>Password</em> 或 <em>Domain</em>, 则 <a href="Run.htm">Run</a> 和/或 <a href="Run.htm">RunWait</a> 将显示一条错误消息来说明问题(除非 <a href="Try.htm">Try</a>/<a href="Catch.htm">Catch</a> 语句捕获了此错误).</p> <p>当 RunAs 功能生效时, <a href="Run.htm">Run</a> 和 <a href="Run.htm">RunWait</a> 将无法启动文档, URL 或系统动词. 换句话说, 要启动的文件必须是可执行文件.</p> <p>为了使此函数起作用, "Secondary Logon" 服务必须设置为手动或自动(如果设置为手动, 则操作系统会根据需要自动启动).</p> <h2 id="Related">相关</h2> <p><a href="Run.htm">Run</a>, <a href="Run.htm">RunWait</a></p> <h2 id="Examples">示例</h2> <div class="ex" id="ExBasic"> <p><a class="ex_number" href="#ExBasic"></a> 以管理员身份打开注册表编辑器.</p> <pre>RunAs "Administrator", "MyPassword" Run "RegEdit.exe" RunAs <em>; 恢复为普通行为.</em></pre> </div> </body> </html>