【说明】
没有足够权限的程序无法获得重要资源,因为Windows系统从Vista版本加入了UAC机制。 在Linux上,可以使用sudo命令轻松提高当前程序的运行权限,但在Windows上,通常只能右键单击程序图标并选择“以管理员身份运行”。 需要用鼠标单击的这种方法很不方便,特别是在想要自动化一些任务时。
可以自己编写在Windows系统上运行的sudo命令工具。
【源代码】
ShellExecute方法角色:用于执行程序或脚本。 '语法'.ShellExecute 'application ',' parameters ',' dir ',' verb ',window '.shellexecute ' some program.exe ',' ' shellecute' 1'关键字' application要执行的程序或脚本名称' parameters程序或脚本所需的参数' dir工作路径,如果未指定,则为当前路径' verers ' 也可以是打印) runas操作通常用于提升权限的' window程序或脚本运行时窗口样式(normal=1,hide=0,2=min,3=manage ) 10=default (setu AC=createobject (shell.application ) (setshell=createobject ) wscript.shell ' ) )。 if wscript.arguments.count1then wscript.echo ' pleaseusecommand 3360 sudo command [ args ] ' else if wscript.arguments.count=1then UAC.shellexecute wscript.arguments (0)、'、''、'、' runas, 1 ' wscript.sleep 1500 ' dim ret ' ret=shell.appactivate (用户帐户控制) ) if ret=truethen ' shell.sendkeys ' % y ' elselse (wscript.arguments.count-1 ) step1args=args ' wscript.a args next UAC.shellexecute wscript.arguments (0)、args、args
创建新的文本文件,复制上面的代码并粘贴到文件中,然后将该文本文件重命名为sudo.vbs。 请注意,后缀已更改为. vbs。 将包含sudo.vbs的路径添加到环境变量PATH中,以便可以在任何路径上使用sudo命令获取管理员权限。
可以在命令行中输入
sudo command [args.]
效果如图1、图2、图3所示:
图1
图2
图3
【注意事项】
此sudo命令并不直接获得管理员权限,而是在程序需要管理员权限时自动显示请求窗口,允许您手动以管理员权限运行。
如果要获取“用户帐户控制”窗口的句柄,或者将焦点移动到“用户帐户控制”窗口,则可以直接自动获取管理员权限。