PsExec v2.34

 admin   2021-12-15 10:54   204 人阅读  0 条评论

使用 Telnet 和远程控制程序(如 Symantec 电脑 Anywhere)等实用程序,可以在远程系统上执行程序,但设置这些程序可能很困难,并且需要在要访问的远程系统上安装客户端软件。 PsExec 是一种轻型 telnet 替换,可用于在其他系统上执行进程,为控制台应用程序完成完全交互,而无需手动安装客户端软件。 PsExec 最强大的用途包括在远程系统上启动交互式命令提示符,以及 IpConfig 等远程启用工具,否则无法显示有关远程系统的信息。

注意:某些防病毒扫描程序报告一个或多个工具感染了"远程管理员"病毒。 PsTools 不包含病毒,但它们已被病毒使用,这就是它们触发病毒通知的原因。

安装

只需将 PsExec 复制到可执行路径即可。 键入"psexec"会显示其用法语法。

使用 PsExec

请参阅 2004 年 7 月Windows It Pro 杂志Mark一文,其中介绍了 PsExec 的高级用法。

用法:

cmd
psexec [\\computer[,computer2[,...] | @file]][-u user [-p psswd][-n s][-r servicename][-h][-l][-s|-e][-x][-i [session]][-c executable [-f|-v]][-w directory][-d][-<priority>][-a n,n,...] cmd [arguments]
使用 PsExec
参数说明
-a单独的处理器,应用程序可以使用逗号运行,其中 1 是编号最低的 CPU。 例如,若要在 CPU 2 和 CPU 4 上运行应用程序,请输入:"-a 2,4"
-c将指定的可执行文件复制到远程系统以执行。 如果省略此选项,则应用程序必须位于远程系统上的系统路径中。
-d不要等待进程终止 (交互式) 。
-e不加载指定帐户的配置文件。
-f复制指定的程序,即使远程系统上已存在该文件。
-i运行程序,以便它与远程系统上指定会话的桌面交互。 如果未指定会话,则进程在控制台会话中运行。 尝试以 交互方式 运行控制台应用程序时,此标志 (重定向的标准 IO) 。
-h如果目标系统为 Vista 或更高版本,则 进程使用帐户提升的令牌运行(如果可用)。
-l以受限用户模式 (进程会去除 Administrators 组,并且仅允许分配给"用户组") 。 在 Windows Vista 上,进程以低完整性运行。
-n指定连接到远程计算机的超时(以秒表示)。
-p指定用户名的可选密码。 如果省略此密码,系统会提示输入隐藏的密码。
-r指定要创建或与之交互的远程服务的名称。
-s在系统帐户中运行远程进程。
-u指定用于登录到远程计算机的可选用户名。
-v只有当指定文件的版本号较高或比远程系统上的版本号更新时,才复制该文件。
-w设置进程的工作目录 (远程计算机) 。
-x在 Winlogon 安全桌面上显示 UI, (本地系统) 。
-priority指定 -low、-belownormal、-abovenormal、-high 或 -realtime 以不同的优先级运行进程。 使用 -background 在 Vista 上以低内存和 I/O 优先级运行。
计算机指示 PsExec 在指定的远程计算机或计算机上运行应用程序。 如果省略计算机名称,PsExec 将在本地系统上运行应用程序,如果指定通配符 (\\*) ,PsExec 将在当前域中的所有计算机上运行 命令。
@filePsExec 将在文件中列出的每台计算机上执行命令。
cmd要执行的应用程序的名称。
参数要传递的参数 (请注意,文件路径必须是目标系统路径上的绝对) 。
-accepteula此标志禁止显示许可证对话框。

可以将名称中具有空格的应用程序括起来,例如

cmd
psexec \\marklap "c:\\long name app.exe"

只有在按下 Enter 键时,输入才传递给远程系统。 键入 Ctrl-C 将终止远程进程。

如果省略用户名,则进程将在远程系统的帐户上下文中运行,但无法访问网络资源 (因为它正在模拟) 。 如果远程进程需要访问网络资源或在不同的帐户中运行,请指定 Domain\User 语法中的有效用户名。 请注意,密码和命令在传输至远程系统时已加密。

PsExec 返回的错误代码特定于执行的应用程序,而不是 PsExec。

示例

本文介绍 PsExec 的工作原理 ,并提供了如何使用它的提示:

以下命令在 上启动交互式命令提示 \\marklap 符:

cmd
psexec -i \\marklap cmd

此命令使用 开关在远程系统上执行 IpConfig, /all 并在本地显示生成的输出:

cmd
psexec -i \\marklap ipconfig /all

此命令将程序复制到 test.exe 远程系统,并交互执行它:

cmd
psexec -i \\marklap -c test.exe

指定已在远程系统上安装的程序的完整路径(如果它不在系统的路径上):

cmd
psexec -i \\marklap c:\bin\test.exe

在系统帐户中以交互方式运行 Regedit 以查看 SAM 和安全密钥的内容::

cmd
psexec -i -d -s c:\windows\regedit.exe

若要Internet Explorer用户特权受限的 运行应用程序,请使用此命令:

cmd
psexec -l -d "c:\program files\internet explorer\iexplore.exe"

下载 PsTools (3.5 MB)

PSTools

PsExec 是一个不断增长的 Sysinternals 命令行工具工具包的一部分,这些工具有助于管理名为 PsTools的本地和远程系统。

运行于:

  • 客户端:Windows Vista 及更高版本。

  • 服务器:Windows Server 2008 及更高版本。


本文地址:https://liuchunjie.top/?id=303
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

 发表评论


表情

还没有留言,还不快点抢沙发?