PsExec也是一个Telnet的工具,无需手动安装客户端软件即可执行其他系统上的进程,并且可以获得与控制台应用程序相当的完全交互性。PsExec为管理员提供了方便的命令行方式的管理,用户可以像使用Telnet一样使用它。
1.PsExec命令概述
安装PsExec时需将PsExec复制到可执行路径,输入"psexec"可显示其使用语法。
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时所使用的相同账户运行。
2.应用实战
在对Psexec工具有了进一步了解后,下面讲述使用Psexec进行各种操作时的具体过程。步骤1:进入Telnet操作状态。若想要用Telnet一样在远程系统上执行命令,则输入"psexec\\192. 168.0.16-u administrator-p"shining0924"cmd"命令,便可在本地机上打开远程主机192.168.0.16上的命令行Shell,如图3-65所示。在该命令行Shell中输入的命令会在远程主机上直接执行,就实现了与Telnet登录同样的功能。
步骤2:执行本地程序。如果想要远程机执行本地C:\rav2009.exe文件,则可以输入"Psexec\\192.168.0.16-u administrator-p shining0924-c C:\rav2009.exe"命令即可。如图3-66所示。
步骤3:启动远程服务。如果想要让远程机器执行本地上的TFTP服务端,(假设TFTP服务端在本地C:\TFTP.exe),则应输入“psexec\\远程机器ip-u administrator-p shining0924-c C:\tftp32.exe-d”命令。