6

我使用 PsExec 在远程机器上复制和运行一个 exe 文件。我还想将 xml 文件复制到远程机器。我可以这样做

PsExec.exe -d -c \\someserver  c:\somefile.xml 

上面的命令抛出错误说系统找不到指定的文件,但将 xml 文件添加到远程服务器。
你知道将文件复制到远程服务器的更好方法吗?
有没有可用的 PsTool?
还是 PsExec 中的一个选项?

编辑:(答案)我发现使用 Powershell 我们可以将文件复制到远程机器并且它有效。

4

4 回答 4

6

正如您可以从 psexec 帮助中看到的那样

-c:将指定程序复制到远程系统执行。如果省略此选项,则应用程序必须位于远程系统的系统路径中。

因此,您的 xml 文件被复制到远程 sys/USER:[domainname]username]tem 上并执行,这会给您带来错误。
如果您的 xml 是您必须在远程计算机上运行的应用程序的一部分,那么一种解决方案是将应用程序与所有必要的文件一起压缩到一个自解压 EXE 中,该 EXE 在解压时运行主命令。

如果您只需要复制文件,为什么不使用映射远程文件夹然后复制文件的简单脚本呢?就像是:

NET USE \\computername\sharename password /USER:[domainname\]username
xcopy .....
NET USE \\computername\sharename /DELETE
于 2012-04-12T06:24:16.303 回答
3

PsExec 并非旨在跨机器复制文件。它只能复制将要远程运行的程序。

如果您有权访问远程计算机,则可以通过copy c:\somefile.xml \\\\remote-machine\Admin$在运行 PsExec 之前运行来完成复制。

于 2012-04-12T06:27:56.987 回答
0

您可以将此模式与 psexec 一起使用来复制任何扩展名...

psexec -d -i 2 \PC 名称 -u 域\用户名 -p 密码 cmd /c 复制 \server\location\filename c:\xx\xx\xx

PS:如果您不确定 -d 和 i 的作用,请参阅 PSEXEC 开关。但是,“2”是远程桌面用户的会话 ID,每次创建新的远程桌面会话时都可能更改。

于 2014-08-12T09:03:05.890 回答
-1

这帮助我将我的 exe 文件复制到 c:\windows 目录中(在同一域内一对一复制):

PsExec.exe -d -c \\remoteserver -u administrator -p password c:\executable.exe 
于 2014-10-21T05:16:11.183 回答