Batch file 将用户切换到管理员的批处理脚本
我需要以不同的用户身份登录到Windows,然后通过批处理脚本将用户切换到管理员用户。RUNAS windows实用工具对我来说不起作用。有人能帮我吗?Batch file 将用户切换到管理员的批处理脚本,batch-file,dos,Batch File,Dos,我需要以不同的用户身份登录到Windows,然后通过批处理脚本将用户切换到管理员用户。RUNAS windows实用工具对我来说不起作用。有人能帮我吗?RunAs不起作用,因为在(我假设您正在使用)Windows 7中,默认情况下禁用了管理帐户 我发现启动提升的命令提示符(甚至从批处理脚本)最简单的方法是创建提升的快捷方式 First, Right-Click on your desktop and Click "New -> Shortcut" Next type CMD into th
RunAs
不起作用,因为在(我假设您正在使用)Windows 7中,默认情况下禁用了管理帐户
我发现启动提升的命令提示符(甚至从批处理脚本)最简单的方法是创建提升的快捷方式
First, Right-Click on your desktop and Click "New -> Shortcut"
Next type CMD into the box labled "Type the location of the item:"
Click "Next -> Finish"
现在,您的桌面上有一个名为CMD.exe
的新快捷方式。接下来
Right Click "CMD.exe -> Properties -> Advanced..."
Check "Run as administrator"
Click "OK -> OK"
现在您有了一个到C:\Windows\System32\cmd.exe
的快捷方式,它将以管理权限启动cmd.exe
。现在,您可以将快捷方式移动到任意位置,只需确保它位于PATH变量中的某个位置,这样在调用它时就不必指定它的路径。我有一个用于批处理文件的特殊目录,另一个用于第三方可执行文件。我将我的移动到批处理目录
现在,根据Windows,快捷方式的名称是cmd.exe,但是如果您进入“DOS”,您将能够看到它实际上是名为cmd.exe.lnk
。我将我的重命名为cmd.Admin.lnk
,只是为了指定它的功能
您现在可以用几种不同的方式启动它
单击START Ball
,然后键入:cmd.exe.lnk
Return(或cmd.admin.lnk
,以您选择的为准)。打开命令提示符并键入:
cmd.exe.lnk
Return将行
cmd.exe.lnk
添加到批处理文件中
您甚至可以传递如下参数:
cmd.admin.lnk "/c echo. & echo %time% & echo. & pause.exe"
cmd.admin.lnk "/c cd /d d:\tmp & x.bat & echo. & echo %time% & echo. & pause.exe"
cmd.admin.lnk "/c title The Shiznit & echo. & echo %date% %time% & echo. & pause.exe"
cmd.admin.lnk "/c title The Shiznit & echo. & echo %date% %time% & echo. & pause.exe & exit 999"
最后一个示例将返回999的%errorlevel%
。尽管没有其他变量会被传回
注意,我必须将.exe
放在内部命令pause
之后。我发现您可以通过这种方式强制执行许多内部命令。甚至.com
也能工作
最后,与运行方式不同,使用此快捷方式可以做两件事:
首先,它将创建一个弹出窗口,请求以管理权限执行。这与默认禁用管理员帐户一样,是防止恶意程序和脚本运行的安全措施
秒,如果从命令提示符或批处理文件启动,它将打开另一个命令解释器窗口。除非您使用
start
启动它,否则调用窗口将等待新窗口关闭,然后继续执行停止的批处理文件或命令解释器。CPAU.exe是解决此问题的好方法