2023年12月14日发(作者:)
Windows下以其他用户身份运行程序从Windows 2000开始,微软的视窗操作系统开始提供给当前登录用户以不同的用户身份来运行程序的功能。前提是系统的RunAs服务(Windows 2000下)/Secondary Logon服务(Windows XP下)没有被禁用并处于已启动状态。
在必需的RunAs/Secondary Logon服务已经启动之后,就可以为程序设定用户身份。对于一般的可执行程序来说,只需要创建指向该可执行文件的快捷方式,然后在按住Shift键的同时鼠标右键单击快捷方式,然后单击"运行方式.",在弹出的对话框中设置指定的用户及密码信息即可。这里是微软官方的HOW TO指南。
但对于某些特殊类型的快捷方式来说,用Shift+鼠标右键唤出的菜单中并没有"运行方式."的设置选项,比如说一些批处理文件(.bat)等有缺省文件类型打开方式的快捷连接。对于这种文件如果需要使用到RunAs的功能,可以新建一个空的快捷方式,在快捷方式向导对话框中键入项目的位置为runas/savecred/usr:administrator"command line to the real
application"即可。其中/usr:后面的administrator表示以administrator用户身份运行程序;command line to the real application填写实际程序的执行命令;/savecred参数将自动保存输入的密码,这样在下一次运行快捷方式的时候就不需要再输入密码(该参数在XP Home Edition版本中无效),如果不希望系统保存密码去掉该参数即可。
RUNAS用法:
RUNAS[[/noprofile|/profile][/env][/netonly]]
/user:program RUNAS[[/noprofile|/profile][/env][/netonly]]
/smartcard[/user:]program
/noprofile指定不应该加载用户的配置文件。 这会加速应用程序加载,但
可能会造成一些应用程序运行不正常。
/profile指定应该加载用户的配置文件。
这是默认值。
/env要使用当前环境,而不是用户的环境。
/netonly只在指定的凭据限于远程访问的情况下才使用。
/savecred用用户以前保存的凭据。
Windows XP Home Edition上没有这个选项。
该选项会被忽略。
/smartcard如果凭据是智能卡提供的,则使用这个选项。
/user应使用USER@DOMAIN或DOMAINUSER形式
program EXE.的命令行。请参阅下面的例子
例如:
runas/noprofile/user:mymachineadministrator cmd
runas/profile/env/user:mydomainadmin"mmc%windir%"
runas/env/user:*********************.com"notepad"""注意:只在得到提示时才输入用户的密码。
注意:USER@DOMAIN跟/netonly不兼容。
注意:/profile跟/netonly不兼容。
其中mymachine可以通过我的电脑--属性--好像是第二个选项卡上面查到 刚启动电脑后直接进入受限帐户,使用runas命令时会出现"拒绝访问".
用户名,密码等都输入正确,但进一遍管理员用户后再回来则一切正常,请教下原因.
试试这个:runas/savecred/user:mymachineadministrator cmd 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或domainuser。
程序
指定要用在/user中指定的帐户运行的程序或命令。
/?
在命令提示符显示帮助。
注释
管理员可以使用一个权限受限制的帐户执行日常、非管理性的任务,只有在执行特定管理任务时,才使用一个权限更大的帐户。要不经过注销再重新登录就完成这样的任务,可以用一般帐户登录,然后使用runas命令来运行需要更大权限的工具。
有关runas命令的使用范例,请参阅"相关主题"。
尽管runas通常由Administrator帐户使用,但并非仅限于Administrator帐户。任何拥有多个帐户的用户均可以利用备用凭据,使用runas运行程序、MMC控制台或"控制面板"项。
如果要在计算机上使用Administrator帐户,对于/user:,键入下列参数之一: /user:AdministratorAccountName@ComputerName
/user:ComputerNameAdministratorAccountName
如果想以域管理员身份使用这个命令,键入下列参数之一:
/user:AdministratorAccountName@DomainName
/useromainNameAdministratorAccountName runas命令允许您运行程序(*.exe)、保存的MMC控制台(*.msc)、程序和保存的MMC控制台的快捷方式及"控制面板"项。作为另一组(例如"Users"或"Power Users"组)的成员登录到计算机时,可以以管理员的身份运行。
可以使用runas命令来启动任何程序、MMC控制器或"控制面板"项。只要提供适当的用户帐户和密码信息,用户帐户就具有登录到计算机的能力,并且程序、MMC控制台、"控制面板"项在系统中及对该用户帐户均可用.
runas命令允许您管理其他域的服务器(运行工具的计算机和要管理的服务器在不同的域中)。
如果尝试使用runas从网络位置启动程序、MMC控制台或"控制面板"项,可能会因为用来连接网络共享的凭据与用来启动程序的凭据不同而失败。后者的凭据可能无法访问同一网络共享。
有些项,例如"打印机"文件夹和桌面项,间接由Windows 2000打开,而不能使用runas命令启动。
如果runas命令失败,则可能是没有运行RunAs服务或使用的用户帐户无效。要检查RunAs服务的状态,请在"计算机管理"中单击"服务和应用程序",然后单击"服务"。要测试用户帐户,请尝试使用该帐户登录合适的域。
范例
要在本地计算机上以管理员身份启动Windows 2000命令提示行实例,请键入: runas/user:localmachinenameadministrator cmd
系统提示时,键入管理员密码。
要使用名为companydomaindomainadmin的域管理员帐户启动"计算机管理"管理单元实例,请键入:
runas/user:companydomaindomainadmin"mmc%windir%"
当提示时,键入帐户密码。
要使用名为的域中的域管理员帐户user启动"记事本"实例,请键入:
runas/user:*********************.com"notepadmy_"当提示时,键入帐户密码。
要启动命令提示符行窗口、保存的MMC控制台、控制面板项或管理其他地点服务器的程序的一个实例,请键入:
runas/netonly/user:domainusername"command"
domainusername必须是有足够权限管理服务器的用户。当提示时,键入帐户密码。
在win2k中,开始→程序→附件,找到计算器,按住shift键,点右键,选择"运行方式.",这时候,会弹出对话框,询问你要使用哪个用户身份来运行该程序。
不知道大家是否使用过win2k的这个功能,如果大家是使用win2k的英文版本的话,在按住shift后选择的就不是"运行方式."而是"runas.",也就是今天要讲的这个命令。 在cmd中输入runas,会得到帮助,今天,我们只将它最简单的用法,就是怎么样使用这个命令来以另外一个用户身份运行一个程序。
其实,命令非常简单:
runas/user:user_name user_name是要使用哪个用户运行该程序就写上哪个用户名,是程序名,如果不在system32目录下的话,需要指明具体路径。
为了证明这个过程,做一个实验,那就是使用guest帐号来运行at命令,查看当前的计划任务清单,大家都知道,guest默认情况下是没有此权限的,因此,只要这个命令真的起作用的话,会出现"拒绝访问"的字样,在这里,我们使用这个命令:
runas/user:guest" cmd/k "
是调用cmd这个程序,而cmd/k则是指cmd命令后跟/k参数,目的是为了是当前的执行结果的屏幕保留。
(注意:这里由于命令过长,而且中间有空格,所以用引号引起来,如果只有一个命令,例如的话,那么就不需要有引号了)
由于运行的程序是在一个新窗口中打开,而不是在原来的cmd窗口中打开,所以,如果我不使用 cmd/k这个参数的话,窗口会一闪而过,看不到效果。
运行完这个命令后,会要求guest的密码,填上,回车,等一会,一会就会出现一个cmd窗口,里面写着"拒绝访问",而且,在cmd窗口上沿还有"(运行为guest)"的字样。
这个工具还可以在域中使用,而且还可以加上个人配置文件,实在是很爽~
---
RUNAS用法: RUNAS[/profile][/env][/netonly]/user:program
/profile如果需要加载用户的配置文件
/env要使用当前环境,而不是用户的环境。
/netonly只在指定的凭据限于远程访问的情况下才使用
/user应使用USER@DOMAIN或DOMAINUSER形式
program EXE.的命令行。参阅下面的例子
例如:
runas/profile/user:mymachineadministrator cmd
runas/profile/env/user:mydomainadmin"mmc%windir%"
runas/env/user:*********************.com"notepad"""注意:只有在被提示时才输入用户的密码。
注意:USER@DOMAIN与/netonly不兼容。
这应该是英语吧!
MSN空间完美搬家到新浪博客!


发布评论