用户权限不够无法运行程序
的解决方法
 
实现目的
在企业的计算机管理中,可能会遇到因为用户账户权限不够,而无法运行某些程序的情况,一般 这种情况下,都是通过使用其它具有此权限的用户 进行登录或使用runas命令调用其它用户权限运行程 序,但这些方法都要求用户知道其它用户的密码, 因此,此方法具有很大的局限性。
通过本课程可以完美解决此问题。
 
本次教程以培训楼515、523教室出现的因用户权限不够,导致出现无法启动应用程序的故障为 例,来讲解怎么实现本次课程的目标。
 
故障现象
这两间教室都安装了“小哨兵”硬件还原卡,因为此设备必需安装驱动程序才可以正常运行,所以 在系统启动时会启动一个程序,但此软件启动时不 能为Guests组用户,所以在使用Guest账户时,会出 现无法启动此软件的现象。
 
解决方法
一、Runas命令
通过系统自带的Runas命令可以实现以其它用户权限来启动程序的功能,缺点是必需手动输入用户 密码,在本故障中,本方法不适用。(使用程序文 件上的右键菜单“运行方式”中的“运行身份”方法为此方法的图形窗口方式)
runas /user:(用户) (命令)
 
二、第三方工具
本教程中我们使用第三方工具“LSrunase”来达成目标。
使用本工具可以在命令行中加入用户密码参数运行,因此可以设计批处理程序运行此工具来实现 自动调用其它用户权限运行程序的目的。
[url]http://www.moernaut.com/default.aspx?ite[/url] m=lsrunase
 
1、命令的设计
此工具包中有三个程序,其中“lsrunas.exe”必须使用明文密码;“lsrunase.exe”必需使用加密后的密文;“LSencrypt.exe”用来将明文转换为密文。(推荐使用密
文,以防止密码泄露)
使用格式:
用法:lsrunase /user:(用户) /password:(密码) /domain: /command:(程序) /runpath:(程序启动的路径 )
所有的参数必须齐全,其中: user 为运行的账号password 为密码密文(lsrunas则使用的为明文) domain 为机器名或域名,也可留空代表本机command 为要运行的程序名,如果携带参数需要在命令的首尾加引号 runpath 为程序启动的路径
 
使用“lsrunase.exe”时,必需先用“LSencrypt.exe” 工具根据密码明文计算出相对应的密码密文。
 
我们就可以在命令提示符窗口下通过命令行形式来达到目的。
 
我们可以将此命令编辑成批处理程序,然后添加至启动项中,就可以达到启动时就自动运行的目的。
 
2、后继的考虑
通过第1步,我们就可以达到要求,但,如果只是设计成批处理程序的话,任何人都可以对此文本 文件中的命令进行修改,那样,就会导致启动失 败。
因此,我们需要将此批处理程序进行更改,达到即无法更改文件的内容,又可以实现想要的程序 效果的目的。
 
针对此问题,我们可以使用“Quick Batch File Compiler ”工具,将设计好的BAT批处理程序转换成EXE程序文件,从而达到想要的效果。
 
3、最后的设置
将设计好的程序文件和“lsrunase.exe”程序文件拷贝至需要启动的程序文件目录。
 
删除本例中“小哨兵”硬件还原卡驱动程序安装过程中建立的启动项(共有两处启动:“all user” 用户目录下的启动项,以及注册表中“H_L_M\SOFTWARE\Microsoft\Windows\CurrentVers ion\Run”分支键中的“Client”键)。
 
添加所设计的程序快捷方式至“all user”用户目录下的启动目录中,以达到所有用户启动时都自 动运行此程序的目的。
 
通过前面的设置,从而可以实现所有想要达到的效果。
 
附一:
在批处理程序文件中,如果一条命令长度超过规定的长度时,则会出现执行程序后出错或达不到 效果的现象,针对此问题,我们可以通过使用局部 变量等形式来进行解决。
如本例中的批处理程序如下:
@echo off
setlocal
set command_name=lsrunase /user:administrator
set nic1= /password:/ld1gewG+6GA3fHgHw==
set nic2= /domain: /command:"C:\Program Files\Sentry\card9R\Client.exe"
set parameter= /runpath:c:\
%command_name% %nic1% %nic2% %parameter%
@echo on
其中“set nic1=”、“set nic2=”、“set parameter=” 、“%command_name%”、“ %nic1%”以及“ %nic2%”后面都有空格。
 
附二:
在使用“Quick Batch File Compiler ”工具进行转换时,可以使用自定义的图标文件,通过界面 中的“Embedded Files”标签界面进行设置。
使用“Quick Batch File Compiler ”软件界面上的“Build”按钮进行从BAT程序文件至EXE程序文件的转换。