http://www.vnz.me/microsoft/30.html
RUNAS 用法:
允许用户用其他权限运行指定的工具和程序,而不是用户当前登录提供的权限。
RUNAS [ [/noprofile | /profile] [/env] [/netonly] ]
/user:<UserName> program
RUNAS [ [/noprofile | /profile] [/env] [/netonly] ]
/smartcard [/user:<UserName>] program
/noprofile 指定不应该加载用户的配置文件。
这会加速应用程序加载,但
可能会造成一些应用程序运行不正常。
/profile 指定应该加载用户的配置文件。
这是默认值。
/env 要使用当前环境,而不是用户的环境。
/netonly 只在指定的凭据限于远程访问的情况下才使用。
/savecred 用用户以前保存的凭据。
Windows XP Home Edition 上没有这个选项。
该选项会被忽略。
/smartcard 如果凭据是智能卡提供的,则使用这个选项。
/user <UserName> 应使用 USER@DOMAIN 或 DOMAIN\USER 形式
program EXE. 的命令行。请参阅下面的例子
例如:
> runas /noprofile /user:mymachine\administrator cmd
> runas /profile /env /user:mydomain\admin "mmc %windir%\system32\dsa.msc"
> runas /env /user:[email protected] "notepad \"my file.txt\""
注意: 只在得到提示时才输入用户的密码。
注意: USER@DOMAIN 跟 /netonly 不兼容。
注意: /profile 跟 /netonly 不兼容。
Psexec
一
示例:
以下命令可在 \\marklap 上启动交互式命令提示窗口:
psexec \\marklap cmd
此命令通过 /all 开关在远程系统上执行 IpConfig,并在本地显示输出结果:
psexec \\marklap ipconfig /all
此命令将程序 test.exe 复制到远程系统,并以交互方式执行此程序:
psexec \\marklap -c test.exe
如果远程系统中已经安装的程序不在系统路径中,请指定该程序的完整路径:
psexec \\marklap c:\bin\test.exe
在系统帐户中以交互方式运行 Regedit,以便查看 SAM 和 SECURITY 注册表项的内容:
psexec -i -d -s c:\windows\regedit.exe
要以受限用户权限运行 Internet Explorer,请使用此命令:
psexec -l -d "c:\program files\internet explorer\iexplore.exe"
二
psexec \\远程机器ip [-u username [-p password]] [-c [-f]] [-i][-d] program [arguments]
它的参数有:
-u后面跟用户名 -p后面是跟密码的,如果建立ipc连接后这两个参数则不需要。(如果没有-p参数,则输入命令后会要求你输入密码)
-c <[路径]文件名>:拷贝文件到远程机器并运行(注意:运行结束后文件会自动删除)
-d 不等待程序执行完就返回,(比如要让远程机器运行tftp服务端的时候使用,不然psexec命令会一直等待tftp程序结束才会返回)
-i 在远程机器上运行一个名为psexesvc进程,(到底什么用弄不明白)
假设我在远程机器ip有一个账号,账号名是:abc 密码是:123
比如想要用telnet一样在远程系统上执行命令可以打:
psexec \\远程机器ip -u abc -p 123 cmd
如果想要远程机器执行本地c:\srm.exe文件可以打:
psexec \\远程机器ip -u abc -p 123 -c c:\srm.exe
如果想要让远程机器执行本地上tftp服务端,(假设tftp服务端在本地c:\tftp32.exe),可以打:
psexec \\远程机器ip -u abc -p 123 -c c:\tftp32.exe -d
用法:psexec [\\computer[,computer2[,...] | @file][-u user [-p psswd]][-n s][-l][-s|-e][-x][-i [session]][-c [-f|-v]][-w directory][-d][-][-a n,n,...] cmd [arguments]
computer
指示 PsExec 在指定的一台或多台计算机上运行应用程序。如果省略计算机名称,则 PsExec 将在本地系统上运行应用程序;如果输入计算机名称“\\*”,则 PsExec 将在当前域中的所有计算机上运行应用程序。
@file
指示 PsExec 在指定的文本文件中列出的每台计算机上运行命令。
-a
用逗号分隔可以运行应用程序的处理器,CPU 编号最小为 1。例如,要在 CPU 2 和 CPU 4 上运行应用程序,请输入:“-a 2,4”
-c
将指定的程序复制到远程系统以便执行。如果省略此选项,则应用程序必须位于远程系统上的系统路径中。
-d
不等待应用程序终止。请只对非交互式应用程序使用此选项。
-e
不加载指定帐户的配置文件。
-f
将指定的程序复制到远程系统,即使远程系统中已存在该文件。
-i
运行程序,以便它与远程系统中指定会话的桌面进行交互。如果未指定会话,则进程将在控制台会话中运行。
-l
以受限用户身份(去除 Administrators 组的权限,并且只允许使用分配给 Users 组的权限)运行进程。在 Windows Vista 上,此进程将以“低完整性”运行。
-n
指定与远程计算机连接的超时(秒)。
-p
指定用户名的密码(可选)。如果省略此选项,系统将提示您输入隐藏密码。
-s
在系统帐户中运行远程进程。
-u
指定用于登录远程计算机的可选用户名。
-v
仅在指定文件具有更高版本号或该文件比远程系统上的文件新时复制该文件。
-w
设置进程的工作目录(相对于远程计算机)。
-x
在 Winlogon 桌面上显示 UI(仅限于本地系统)。
-priority
指定 –low、-belownormal、-abovenormal、-high 或 -realtime 按不同优先级运行进程。
program
要执行的程序的名称。
arguments
要传递的参数(请注意,文件路径必须是目标系统中的绝对路径)
对于其名称中含有空格的应用程序,可以在其两侧加引号,例如,psexec \\marklap "c:\long name\app.exe"。按下 Enter 键时,仅将输入内容传递到远程系统。键入 Ctrl-C 可终止远程进程。
如果省略用户名,则远程进程将以执行 PsExec 时所使用的相同帐户运行,但由于远程进程以模仿方式运行,因此它无权访问远程系统上的网络资源。指定用户名时,远程进程将以指定的帐户执行,并可访问该帐户有权访问的任何网络资源。请注意,密码是以明文形式传递到远程系统的。
当目标系统是本地系统时,由于 PsExec 不需要您具有管理员权限,因此您可以使用当前版本的 PsExec 来取代 Runas。
以下命令可在 \\marklap 上启动交互式命令提示窗口:
psexec \\marklap cmd
此命令通过 /all 开关在远程系统上执行 IpConfig,并在本地显示输出结果:
psexec \\marklap ipconfig /all
此命令将程序 test.exe 复制到远程系统,并以交互方式执行此程序:
psexec \\marklap -c test.exe
如果远程系统中已经安装的程序不在系统路径中,请指定该程序的完整路径:
psexec \\marklap c:\bin\test.exe
在系统帐户中以交互方式运行 Regedit,以便查看 SAM 和 SECURITY 注册表项的内容:
psexec -i -d -s c:\windows\regedit.exe
要以受限用户权限运行 Internet Explorer,请使用此命令:
psexec -l -d "c:\program files\internet explorer\iexplore.exe"
(只需将 PsExec 复制到可执行路径。键入“psexec”可显示其使用语法。PsExec 可在 Windows Vista、NT 4.0、Win2K、Windows XP 和 Server 2003(包括 64 位版本的 Windows)上运行。)