将一个非 exe 文件复制到远程机器

6

我使用了PsExec将一个exe文件复制到远程机器并运行。我还想将一个xml文件复制到远程机器。我可以通过以下方式完成:

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

上述命令会提示系统找不到指定文件的错误,但会将xml文件添加到远程服务器。
你知道更好的将文件复制到远程服务器的方法吗?
有可用于此的PsTool吗?
或者在PsExec中是否有选项?

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

4个回答

6

如您从psexec帮助页面所读,

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

因此,您的xml文件被复制到远程sys/USER:[domainname]username]tem并执行,这导致了错误。
如果您的XML文件是要在远程计算机上运行的应用程序的一部分,则可以将该应用程序和所有必要文件压缩成一个自解压缩的EXE文件,当解压缩时可运行主命令。

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

NET USE \\computername\sharename password /USER:[domainname\]username
xcopy .....
NET USE \\computername\sharename /DELETE

@newuser:我的答案提供了所有你需要的内容,以便登录到远程机器,复制文件并断开连接... - Marco

3

PsExec并不是为了跨机器拷贝文件而设计的。它只能远程复制即将运行的程序。

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


0

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

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

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


-1

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

PsExec.exe -d -c \\remoteserver -u administrator -p password c:\executable.exe 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接