计算机技術文摘

Runas的困惑

       工具下载
         大多数公司的IT人员,如果不想每天被繁琐的电话吵得想跳楼,被MM嚷得想开溜。那么就一定要实施域管理。如果由于公司资源不足,限制用户权限是一定要做的了。
       但是在限制用户权限以后,我们所要面对的会是一些新问题,比如某个MM某天突然要安装一个什么软件,而且还得到了领导的许可。或者我们自己由于管理需要安装一些软件,那么就会比较麻烦,必须要用到超级用户的权限,这时候要注销用户然后用超级用户登陆,中间那段等待的过程是痛苦的。而且在切换用户的时候更有可能泄露密码信息,被一些居心不良的人盗用。
         Windows NT内核的系统本身为我们提供了一个工具——Runas。它可以在不切换用户的情况下让我们以管理员的身份运行某个软件。请看Runas的命令介绍。

Runas
允许用户用其他权限运行指定的工具和程序,而不是用户当前登录提供的权限。

语法
runas [{/profile /noprofile}] [/env] [/netonly] [/smartcard] [/showtrustlevels] [/trustlevel] /user:UserAccountName program

参数
/profile
加载用户的配置文件。/profile 是默认值。
/no profile
/noprofile 指定不加载用户的配置文件。这使应用程序载入的更加快速,但是在一些应用程序中也会引起错误。
/env
指定当前使用的网络环境,而不是用户的本地环境。
/netonly
指明指定的用户信息只用于远程访问。
/smartcard
/smartcard 表示凭据是否是由智能卡提供的。
/showtrustlevels
列出 /trustlevel 开关项。
/trustlevel
指定应用程序运行所在的授权级别。使用 /showtrustlevels 查看可用的信任级别。
/user:UserAccountName
指定在其下运行程序的用户帐户的名称。用户帐户的格式应是 user@domain 或 domain\user。
程序
指定要用在 /user 中指定的帐户运行的程序或命令。
/?
在命令提示符显示帮助。
注释
管理员可以使用一个权限受限制的帐户执行日常、非管理性的任务,只有在执行特定管理任务时,才使用一个权限更大的帐户。要不经过注销再重新登录就完成这样的任务,可以用一般帐户登录,然后使用 runas 命令来运行需要更大权限的工具。
有关 runas 命令的使用范例,请参阅“相关主题”。
尽管 runas 通常由 Administrator 帐户使用,但并非仅限于 Administrator 帐户。任何拥有多个帐户的用户均可以利用备用凭据,使用 runas 运行程序、MMC 控制台或“控制面板”项。
如果要在计算机上使用 Administrator 帐户,对于 /user:,键入下列参数之一:
/user:AdministratorAccountName@ComputerName

/user:ComputerName\AdministratorAccountName

如果想以域管理员身份使用这个命令,键入下列参数之一:
/user:AdministratorAccountName@DomainName

/useromainName\AdministratorAccountName

runas 命令允许您运行程序 (*.exe)、保存的 MMC 控制台 (*.msc)、程序和保存的 MMC 控制台的快捷方式及“控制面板”项。作为另一组(例如“Users”或“Power Users”组)的成员登录到计算机时,可以以管理员的身份运行。
可以使用 runas 命令来启动任何程序、MMC 控制器或“控制面板”项。只要提供适当的用户帐户和密码信息,用户帐户就具有登录到计算机的能力,并且程序、MMC 控制台、“控制面板”项在系统中及对该用户帐户均可用.
runas 命令允许您管理其他域的服务器(运行工具的计算机和要管理的服务器在不同的域中)。
如果尝试使用 runas 从网络位置启动程序、MMC 控制台或“控制面板”项,可能会因为用来连接网络共享的凭据与用来启动程序的凭据不同而失败。后者的凭据可能无法访问同一网络共享。
有些项,例如“打印机”文件夹和桌面项,间接由 Windows 2000 打开,而不能使用 runas 命令启动。
如果 runas 命令失败,则可能是没有运行 RunAs 服务或使用的用户帐户无效。要检查 RunAs 服务的状态,请在“计算机管理”中单击“服务和应用程序”,然后单击“服务”。要测试用户帐户,请尝试使用该帐户登录合适的域。
范例
要在本地计算机上以管理员身份启动 Windows 2000 命令提示行实例,请键入:

runas /user:localmachinename\administrator cmd
系统提示时,键入管理员密码。

要使用名为 companydomain\domainadmin 的域管理员帐户启动“计算机管理”管理单元实例,请键入:

runas /user:companydomain\domainadmin "mmc %windir%\system32\compmgmt.msc"
当提示时,键入帐户密码。

要使用名为 domain.microsoft.com 的域中的域管理员帐户 user 启动“记事本”实例,请键入:

runas /user:user@domain.microsoft.com "notepad my_file.txt"
当提示时,键入帐户密码。

要启动命令提示符行窗口、保存的 MMC 控制台、控制面板项或管理其他地点服务器的程序的一个实例,请键入:

runas /netonly /user:domain\username "command"
domain\username 必须是有足够权限管理服务器的用户。当提示时,键入帐户密码。


举个例子:假如我们需要用Administrator用户安装D盘的一个软件,软件的安装文件就是setup.exe那么我们可以这样来做,
打开运行,输入Runas /user:administrator "d:\setup.exe" 回车我们会得到一个输入administrator用户密码的提示信息,输入Administrator的密码然后回,setup.exe就会以administrator的身份模式运行。当然我们也可以把它做成一个批处理如下:
打开记事本输入如下命令,然后另存为Adminsetup.bat
@echo off
echo --------------------------------------------------
echo 安装软件中请等待..........
runas /user:%1 "%2"
exit
         我们在安装软件的时候只需要打开运行窗口,运行adminsetup.bat administrator "D:\setup.exe"然后输入administrator的密码就可以了。当然,如果你网络中每台电脑的管理员用户都是一样的在上面的批处理中你可以把“%1”换成你的管理员用户名。但是我们在使用批处理时也无法避免输入密码这个步骤。最初我有尝试过用(echo 密码 Runas /user:administrator  "command")来避免使用批处理时输入密码,但提示错误,于是感觉自己技术不足,在百度上一搜,发现有很多朋友碰到这种问题,也有朋友在百度问吧上给出了像我一样的答案,呵呵,我想那位朋友一定没试过,真是误人子弟啊。
         经过一段时间的搜索我找到了这个软件CPAU来代替Runas并且他可以在使用批处理时避免输入密码。CPAU的命令行使用方法是:
         CPAU.exe -u:administraotr -p password -ex "command"可以直接运行CPAU.exe得到该软件的帮助信息。这样我们就可以使用批处理命令而不需要输入密码了。把CPAU.exe放到C:\windows\system32目录下然后把上面的批处理改成
@echo off
echo --------------------------------------------------
echo 安装软件中请等待..........
CPAU.exe -u administrator -p password -ex "D:\setup.exe"
exit
这里再向大家介绍一个小技巧,相信大家现在装系统的时候都是使用克隆版的吧,我们不如把CPAU.exe改成Runas.exe然后放到系统克隆文件里,再用软件把那个批处理编译成exe文件也放到克隆文件里,这样以后在安装的时候就把CPAU.exe直接加入到系统中了。呵呵方便吧。
      另外我还找到了一个Runasp.exe的小工具,它可以图形化的完成我们所需要的操作。使用很简单,相信大家一看就会。


         

posted on 2007-02-02 22:43 计算机技术博客 阅读(2070) 评论(0)  编辑 收藏 引用 所属分类: 4 工作手記

公告

http://www.nuanbb.com

导航

常用链接

随笔分类(255)

常用链接