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