在远程 Windows 7 Enterprise 工作站上运行 psexec

在远程 Windows 7 Enterprise 工作站上运行 psexec

我似乎无法让psexec命令在远程 Windows 7 企业工作站上运行。

我正在尝试执行以下命令:

psexec.exe \\172.16.165.157 -u jc -p testing123 -c -f -i cmd.exe

但我一直收到错误:

PsExec v1.94 - Execute processes remotely
Copyright (C) 2001-2008 Mark Russinovich
Sysinternals - www.sysinternals.com

Error copying C:\WINDOWS\system32\cmd.exe to remote system:
Access is denied.

我正在尝试从运行 Windows XP Professional 的机器上执行该命令。

答案1

我使用-d参数作为解决方法。但这意味着我无法从远程启动的进程中获取返回代码。

这是一种解决方法,但并不理想。

答案2

如果您尝试执行某些操作以在远程系统上生成 UAC 提示,则需要使用以下命令:

     -h 如果目标系统是 Vista 或更高版本,则进程
                如果可用,请使用帐户的提升令牌运行。

将 cmd.exe 从 WinXP 计算机的 system32 目录复制到 Win7 计算机的 system32 目录是一个非常糟糕的示例。请小心。如此不尊重系统文件是不明智的,尤其是在跨操作系统版本或体系结构的情况下。

当您使用 psexec 时,请指定不在远程系统上的 c:\windows\ 层次结构中的完整路径。

答案3

假设机器“172.16.165.157”上有一个用户账户“jc”,密码为“testing123”,并且该账户在那里具有“管理员”权限?

如果答案是“否”,那么这就是你的问题。

您也不想将“CMD.EXE”复制到远程计算机。它已经在那里了。您不需要在 PSEXEC 命令行上使用“-c”标志。

答案4

我想到三件事......

  1. 确保在目标上激活 admin$ 共享
  2. 即使您在 psexec 的参数中传递了管理员用户,您仍然需要以管理员身份在源上运行 psexec 命令本身。
  3. 在最近的 psexec 上有一个 -h 开关可以解决 Vista 及以上版本机器上的问题,尽管我还没有测试过它。

相关内容