部署域服务后,默认域用户加入本地计算机的“Users”中,具备普通用户的权限。某些软件正常运行时,需要具备本地管理员的权限。例如建行网银检测工具,人事部用的社保和公积金软件,招聘部用的招聘测评软件。

如果将域账号加入本地管理员组中,将不利于管理。我们可以将需要运行的应用程序通过脚本(wscript)二次封装,并使用工具“ScriptCryptor”编译为exe文件,Users中的用户执行exe文件,后台完成普通用户的权限提升操作,使得应用程序以管理员的身份运行。

 

一、以管理员身份运行“记事本”为例。

1、编写脚本。脚本内容如下:

set sh=Wscript.CreateObject("WScript.Shell")

WScript.Sleep 1000

sh.Run ("runas /user:administratorc:\Windows\notepad.exe")

// c:\Windows\notepad.exe是以管理员身份运行的软件的路径。

WScript.Sleep 1000

//Sleep方法的参数是TimeAs Long,意思是在指定的时间长度内将脚本执行挂起,然后继续执行。参数值若设置较低,编译后的exe文件可能不能正常运行,需合理设置。

sh.SendKeys "password{ENTER}"    //password是administrator的密码

WScript.Sleep 1000

sh.SendKeys "{ENTER}"

2、保存为vbs格式文件后,使用工具“ScriptCryptor”将vbs脚本编译成exe,如下图所示:

提升域用户运行特定软件的权限_第1张图片

PS:ScriptCryptor可以设置所生成exe文件的各种参数,包括应用程序图标,所需包含的额外文件列表,公司名称,程序名称,版本,文件备注,时间等。

 

3、权限提升前,当前登录用户为“ytx”,直接打开“记事本”,通过任务管理器查看用户权限,如下图所示,显示的用户名为“ytx”,“ytx”为Users组中的账户。

提升域用户运行特定软件的权限_第2张图片

在用户“ytx”下,运行刚才编译成的exe文件打开记事本,通过任务管理器查看用户权限,如下图所示,显示用户名为“administrator”。

提升域用户运行特定软件的权限_第3张图片

通过这种方法,我们就可以将需要管理员权限才可以运行的软件二次封装后,编译为exe文件。在客户端安装完需要管理员权限才可以运行的软件后,不再通过快捷方式打开软件,而是打开对应的编译后的exe文件,达到提升权限的目的。

 

二、以管理员身份运行cmd(上述方法的延伸思考)

默认情况下,命令行窗口以普通用户身份运行。执行以下脚本后将命令行窗口提升为管理员模式。

set sh=Wscript.CreateObject("WScript.Shell")

WScript.Sleep 1000

sh.Run ("runas /user:administrator cmd")

WScript.Sleep 1000

sh.SendKeys "password{ENTER}"

WScript.Sleep 1000

sh.SendKeys "{ENTER}"

注意,将上述文本存储为vbs格式后,运行编译后的exe文件打开命令行窗口,然后手动方式运行其他应用程序,应用程序将继承管理员权限,以管理员身份运行。例如运行Foxmail,效果如下图:

提升域用户运行特定软件的权限_第4张图片

提升域用户运行特定软件的权限_第5张图片

 

PS:科普一下,怎么在CMD里运行程序

先找到要运行的程序路径,如D盘             输入D:回车

然后如果在文件夹中,如ProgramFiles         输入cd Program Files 回车

如果还有文件夹,继续用cd打开,如Foxmail 7.2  输入cd Foxmail 7.2 回车

要运行的程序在此目录时,输入那个程序名即可,如Foxmail  输入Foxmail

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~其他命令~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

dir 回车   查看当前目录中的文件和文件夹。

cd.. 回车  退到上一级目录。

 

 

同理,还可以用此安装软件。例如QQ的安装包“QQ7.2.exe”放在F盘,安装QQ,如下图:


提升域用户运行特定软件的权限_第6张图片

提升域用户运行特定软件的权限_第7张图片