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 服务的状态,请在“计算机管理”中单击“服务和应用程序”,然后单击“服务”。要测试用户帐户,请尝试使用该帐户登录合适的域。  
> runas /profile /user:mymachine\administrator cmd
> runas /profile /env /user:mydomain\admin "mmc %windir%\system32\dsa.msc"
> runas /env /user:user@domain.microsoft.com "notepad \"my file.txt\""

注意: 只有在被提示时才输入用户的密码。
注意: USER@DOMAIN 与 /netonly 不兼容。
二.常见错误及对策

1.在域控制器(DC)上不能工作.
  当我们在域控制器上通过使用文件的右键快捷菜单中"运行为..."命令,以其他身份用户运行应用程序时,可能会遇到下述错误:

无法登录:
登录失败:未知的用户名或错误密码.

  实际上我们的用户名和密码都是非常正确的,这个错误不会在独立服务器或域内的成员服务器上出现.导致这个错误的原因是微软的一个小小失误:当我们使用快捷菜单的"运行为..."命令调出"以其他用户身份运行"对话框时,"域"文本框内出现的是本地计算机的名字而不是本地计算机所属于的域的名字.解决办法只要输入正确的域名就可以了.
2.SP1补丁导致runas工作不正常.
  当windows2000 Professional/server/advanced server打上sp1补丁后,会导致runas工作不正常(衣服越补越破...:)),具体表现为:
(1)当我们使用一个UPN用户名如admin@mydom.com启动某个应用程序时,如:

runas /user:admin@mydom.com "mmc C:\WINNT\system32\compmgmt.msc"

用户验证通过应用程序初始化时会发生如下错误:

Microsoft Visual C++ Runtime Library
Runtime Error!
Program:C:\WINNT\system32\mmc.exe
abnormal program termination


(2)当我们使用普通用户名,如admin时,同样运行上述程序:

runas /user:admin "mmc C:\WINNT\system32\compmgmt.msc"

会出现下述错误:

试图启动 "mmc C:\WINNT\system32\compmgmt.msc" 作为用户 "admin"...
RUNAS 错误: 无法运行 - mmc C:\WINNT\system32\compmgmt.msc
1326: 登录失败: 未知的用户名或错误密码。


  出现上述问题的根源在于runas命令使用TranslateName函数将UPN和普通用户名转换为domain\user格式,当转换不能完成时问题就发生了.

  解决的办法临时可以使用domain\user格式的用户名,如"mydom\admin"。
3.使用runas运行的"共享文件夹"MMC管理单元不能在远程计算机上创建共享.
  表现为当使用runas以其他用户的身份运行"共享文件夹"MMC管理单元后,则不能在远程计算机创建一个共享文件夹.原因是系统不能识别你输入的服务器名是远程计算机的还是本地计算机的.
 
 
原文: runas的用法