PsExec是一个由微软Sysinternals套件提供的轻量级工具。它被设计用于在远程系统上执行进程,这个过程无需手动安装任何客户端软件,就可以拥有完整的控制台应用交云。其为系统管理员和网络专业人员提供了一个高效的远程命令行访问和管理解决方案。

psexec-ipconfig-command-5c6ef8dc46e0fb0001b68174

工具的主要特点是可携带性和灵活性。PsExec能够使用任意用户的凭证来远程启动进程,这使得远程管理工作变得更加便捷。它支持多台计算机,并能够在没有用户交互的情况下远程执行各种命令和程序。这为执行批量更新、软件安装和系统维护等任务提供了巨大便利。

PsExec工具的强大之处在于它能够在没有图形用户界面干预的情况下,直接通过命令行界面控制其他电脑。这对于需要在大量机器上迅速执行任务的IT专业人员而言,PsExec成为了一个宝贵的资源。从简单的文件传输到完整的环境配置,PsExec都能够满足不同层次的系统管理需求。

如何使用 PsExec

在使用 PsExec 执行远程命令之前,您必须下载程序并以可以正确使用该工具的方式定位命令提示符。

下载并打开它

  1. 在将运行远程命令的计算机上下载 PsExec。作为 PsTools 的一部分,它可以从 Microsoft 在 Sysinternals 免费获得。

  2. 从 PsTools.zip 下载中提取文件。您可以通过右键单击 ZIP 文件并选择“全部解压”来完成此操作。任何第三方文件提取器也可以工作。

    pstools-extract-5c6efa4dc9e77c000107b544
  3. 打开解压文件所在的文件夹,从文件夹顶部的导航栏中删除其中的内容并输入 cmd。

    cmd-explorer-launch-5c6efa9946e0fb0001835d05

    另一种方法(至少在某些版本的 Windows 中)是按住 Shift 键并右键单击 PsTools 文件夹中的空白区域,然后选择在此处打开命令窗口。

    这将在该文件夹中打开命令提示符,以便您可以通过 PsExec 运行命令。

    pstools-command-prompt-5c6efad3c9e77c00016bfd0b
  4. 现在,通过命令提示符打开包含 PsExec.exe 的文件夹,您可以开始在远程计算机上输入命令。

理解语法

与任何命令行工具非常相似,PsExec 仅在严格遵循其语法时才起作用。一旦您了解如何以工具理解的方式键入命令,您就可以从任何命令提示符控制程序。

这是必须输入 PsExec 命令的方式:

psexec [\\计算机[,计算机2[,...] | @文件\]][-u 用户名[-p 密码][-ns][-r 服务名][-h][-l][-s|-e][-x][-i [会话]][ -c 可执行文件 [-f|-v]][-w 目录][-d][-<优先级>][-a n,n,...] cmd [参数]

这可能看起来复杂且令人困惑,但不用担心!本页底部有一些示例,您可以用来练习。

上述语法用于执行以下任何 PsExec 命令参数:

PsExec Command Options
 范围  解释
-a 使用逗号分隔可以运行应用程序的处理器,其中 1 是编号最小的 CPU。例如,要在 CPU 2 和 CPU 4 上运行应用程序,您需要输入:-a 2,4
-c 将指定的可执行文件复制到远程系统来执行。如果省略,则应用程序必须位于远程系统上的系统路径中。
-d 不要等待进程终止(非交互式)。
-e 不加载指定帐户的配置文件。
-f 即使文件已存在于远程系统上,也复制指定的程序。
 -我 运行该程序,以便它与远程系统上指定会话的桌面进行交互。如果未指定会话,则该进程在控制台会话中运行。
-h 如果目标系统是 Windows Vista 或更高版本,请使用帐户的提升令牌(如果可用)运行该进程。
-l 以受限用户身份运行该进程(剥离管理员组并仅允许分配给用户组的权限)。在 Windows Vista 中,该进程以低完整性运行。
-n 指定连接到远程计算机的超时(以秒为单位)。
-p 指定用户名的可选密码。如果省略,系统将提示您输入隐藏密码。
-r 指定要创建或交互的远程服务的名称。
-s 在系统帐户中运行远程进程。
-u 指定用于登录远程计算机的可选用户名。
-v 仅当指定文件的版本号高于远程系统上的版本号或更新时才复制该文件。
-w 设置进程的工作目录(相对于远程计算机)。
-x 显示 Winlogon 安全桌面上的用户界面(仅限本地系统)。
 -优先事项 指定 -low、-belownormal、-abovenormal、-high 或 -realtime 以不同的优先级运行进程。使用 -background 在 Windows Vista 上以低内存和 I/O 优先级运行。
 电脑 指示 PsExec 在指定的远程计算机上运行应用程序。如果省略,PsExec 将在本地系统上运行应用程序,如果指定通配符 (\\*),PsExec 将在当前域中的所有计算机上运行该命令。
@file PsExec 将在文件中列出的每台计算机上执行该命令。
 指令 要执行的应用程序的名称。
 论点 要传递的参数(请注意,文件路径必须是目标系统上的绝对路径)。

 PsExec 命令示例

以下是如何使用 PsExec 执行远程命令提示符命令、管理 Windows 服务以及启动或安装程序等操作的一些示例。

远程打开CMD

psexec \\192.168.86.62 cmd

使用 PsExec 在远程计算机上运行命令提示符命令的最简单方法之一是按照计算机的 IP 地址(本例中为 192.168.86.62)执行 cmd。

执行此操作将在现有命令提示符窗口中启动一个常规命令提示符窗口,让您输入每个命令,就像您坐在远程计算机前一样。例如,您可以输入 ipconfig 从另一台计算机获取这些结果,或者输入 mkdir 创建新文件夹,输入 dir 列出文件夹的内容等。

运行远程命令

psexec \\mediaserver01 tracert lifewire.com

使用 PsExec 的另一种方法是输入单独的命令,但不启动完整的命令提示符。在此示例中,我们针对 lifewire.com 执行 Tracert 命令,并且由于我们指定了远程计算机的名称 mediaserver01,因此命令结果与该计算机相关,而不是与本地计算机相关(即您所在的计算机)。在)。

远程启动服务

psexec \\FRONTDESK_PC -u tomd -p 3*(tom#87 net start spooler

上面显示的 PsExec 命令示例使用 tomd 用户的密码 3*(tom#87.

相同的命令可用于远程停止服务,但您需要输入“stop”而不是“start”。

打开注册表编辑器

psexec \\mikelaptopw10 -i -s C:\Windows\regedit.exe

在这里,我们使用 PsExec 在远程计算机 mikelaptopw10 上的系统帐户中启动注册表编辑器。由于使用了 -i,该程序将以交互模式打开,这意味着它将实际在远程计算机的屏幕上启动。

如果从上面的命令中省略 -i,它将以隐藏模式执行以避免显示任何对话框或其他窗口。

在远程计算机上安装程序

psexec \\J3BCD011 -c "Z:\files\ccleaner.exe” cmd /S

在如何使用 PsExec 的最后一个示例中,我们使用 -c 将 ccleaner.exe 程序复制到远程计算机 J3BCD011,然后使用 /S 参数执行它,因为这是 CCleaner 用于启用静默安装的方法(需要没有用户输入)。添加这样的参数需要 cmd。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。