Скопируйте не exe-файл на удаленную машину

Я использовал PsExec для копирования и запуска exe-файла на удаленной машине. Я также хочу скопировать xml-файл на удаленную машину. Я умею это делать

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

вышеприведенная команда выдает ошибку о том, что система не может найти указанный файл, но добавляет xml-файл на удаленный сервер.
Знаете ли вы лучший способ копирования файлов на удаленный сервер.
Есть ли для этого PsTool?
Или вариант в PsExec ?

Изменить: (Ответить) Я узнал, что использование Powershell мы можем скопировать файл на удаленные машины, и это сработало.

4 ответов


Как вы можете прочитать из справки psexec

- c: скопируйте указанную программу в удаленную систему для выполнения. Если вы опустите эту опцию, приложение должно быть в системном пути на удаленная система.

таким образом, ваш xml-файл копируется на удаленный sys/USER:[domainname]username]tem и выполняется, это дает вам ошибку.
Если ваш xml является частью приложения, которое вы должны запустить на удаленном компьютере, одним из решений является сжатие приложения со всеми необходимые файлы в самораспаковывающемся exe, который запускает основную команду при извлечении.

Если вам просто нужно скопировать файл, почему бы вам не использовать простой скрипт, который отображает удаленную папку, а затем копирует файл? Что-то вроде:

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

PsExec не предназначен для копирования файлов на разных машинах, он может копировать только программу, которую он собирается запустить удаленно.

Если у вас есть доступ к удаленной машине, копия может быть выполнена путем запуска ' copy c:\somefile - ... xml \ \ remote-machine\Admin$ ' перед запуском PsExec


вы можете использовать этот шаблон с psexec для копирования любого расширения ...

psexec-d-i 2 \PC Name-U домен\username-P пароль cmd / c копировать \server\location\filename c:\xx\xx\xx

PS: обратитесь к коммутаторам PSEXEC, если вы не уверены в том, что-d и я делаем. Однако" 2 " - это идентификатор сеанса пользователя удаленного рабочего стола, который может изменяться при каждом создании нового сеанса удаленного рабочего стола.


это помогло мне скопировать мой exe-файл в c:\windows каталог (одна копия в одном домене):

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