[TOC]

runas 命令

描述:在某些情况下为了安全起见,大部分公司都会使用域控制器或只会给员工电脑user的用户权限,这样做能大大提高安全性和可控性,但由此也带来了一些困扰,所以在特定规定下要用到特殊权限的用户进行切换.

比如:某些特定的部门(如财务,物流)没有管理员权限,但工作又需要使用特定的插件或程序,且该程序或插件又必须以管理员身份运行,在这种情况下,我们如果将用户的权限提升为管理员,那样会增加安全风险而且可能引起很多不可控的情况。在这种情况下我们可以使用runas命令来指定运行某个程序,这个命令是微软系统自有的包括域环境下也能使用。这样一来即解决了软件使用问题,又不会牺牲安全性。

用法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
RUNAS [ [/noprofile | /profile] [/env] [/savecred | /netonly] ] /user:<UserName> program
RUNAS [ [/noprofile | /profile] [/env] [/savecred] ] /smartcard [/user:<UserName>] program
RUNAS /trustlevel:<TrustLevel> program

#选项参数
/noprofile 指定不应该加载用户的配置文件。
/profile 指定应该加载用户的配置文件。
/env 要使用当前环境,而不是用户的环境。
/netonly 只在指定的凭据限于远程访问的情况下才使用。
/savecred 用用户以前保存的凭据。
/smartcard 如果凭据是智能卡提供的,则使用这个选项。
/user <UserName> 应使用 [email protected] 或 DOMAIN\USER 形式
/showtrustlevels 显示可以用作 /trustlevel 的参数的
/trustlevel <Level> 应该是在 /showtrustlevels 中枚举
program EXE 的命令行。请参阅下面的例子

注意:

  • 只在得到提示时才输入用户的密码
  • /profile 跟 /netonly 不兼容
  • /savecred 跟 /smartcard 不兼容

基础示例:

# (1) 使用本机上的test普通用户执行calc.exe.
runas /user:test calc.exe

# (2) 使用本机上的admin身份扫行msc控制台, /profile为指定加载用户配置文件。
runas /profile /env /user:mydomain\admin "mmc %windir%\system32\dsa.msc"
/user:ComputerName\AdministratorAccountName    # 本地用户

# (3)  参数 /env 表示使用当前环境,使用域用户身份运行,并指定使用notepad打开my file.txt文档。
runas /env /user:[email protected] "notepad \"my file.txt\""   #\为转义符号
/user:[email protected]    # 域环境

# (4)显示信任级别
runas /showtrustlevels 
# 你的系统上有下列信任级别 0x20000 (基本用户)

# (5)示例1.使用本机上的Administrator管理员身份执行CMD,/noprofile为不加载该用户的配置信息 
#提升CMD管理员权限
runas /noprofile /user:Administrator "cmd.exe cmd/k" #打开CMD输入Administrator账户的密码,注意必须设置密码
runas /noprofile /user:ASUS cmd #也可以不是Administrator账户,只要是具有管理员权限的账号都可,例如ASUS等。


# (6) 以管理员身份运行IE浏览器 (注意保存了凭证到系统之中)
# 我们将命令保存为批处理后,只要在用户电脑上运行这个批处理(第一次输入管理员密码),以后用户只要双击该文件就可会以管理员身份执行命令中所指定的程序了
@echo off
runas /user:Administrator /savecred "C:\Program Files\Internet Explorer\iexplore.exe" 
runas /user:Weiyi\Administrator /sa "C:\Program Files\Internet Explorer\iexplore.exe"
WeiyiGeek.runas

WeiyiGeek.runas