提升域用户运行特定软件的权限
部署域服务后,默认域用户加入本地计算机的“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,如下图所示:
PS:ScriptCryptor可以设置所生成exe文件的各种参数,包括应用程序图标,所需包含的额外文件列表,公司名称,程序名称,版本,文件备注,时间等。
3、权限提升前,当前登录用户为“ytx”,直接打开“记事本”,通过任务管理器查看用户权限,如下图所示,显示的用户名为“ytx”,“ytx”为Users组中的账户。
在用户“ytx”下,运行刚才编译成的exe文件打开记事本,通过任务管理器查看用户权限,如下图所示,显示用户名为“administrator”。
通过这种方法,我们就可以将需要管理员权限才可以运行的软件二次封装后,编译为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,效果如下图:
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,如下图:
转载于:https://blog.51cto.com/chongyang/1695447
总结
以上是生活随笔为你收集整理的提升域用户运行特定软件的权限的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 我学的是设计模式的视频教程——命令模式v
- 下一篇: UIColor之【扩展:#FFFFFF