2014-09-30 3 views
0

Я кодирую программу на C# для связи с удаленным ПК в сети Wi-Fi AdHoc. Я выполняю файл BATCH на удаленном компьютере, который отправит локальному файлу CHECK.txt. Я использую PsExec.Возврат файла, отправленного с удаленного ПК с помощью BATCH с помощью PsExec C#

Все работает отлично в моей программе на C#, когда я запускаю этот командный файл удаленно с PsExec с локального ПК, чтобы скопировать файл CHECK.txt в любой из каталогов удаленного. Проблема возникает, когда я изменить эту ПАРТИЮ, чтобы скопировать текстовый файл на LOCAL:

copy C:\Windows\CHECK.txt \\192.168.1.10\C$\Windows 

кажется, что процесс PsExec, используемый для выполнения ПАРТИЮ в отдаленных, блокирует связь сети, когда BATCH пытается отправьте обратно в локальный текстовый файл. Проблемы с портами 445 и 139? Любая идея того, что блокирует файл для отправки?

Все установлено для прозрачного диалога между удаленным и локальным (без брандмауэра и т. Д.).

Заранее спасибо ...

+0

Какие ошибки вы получаете? – aphoria

+0

Привет, Афория, и спасибо за ответ. На самом деле у меня нет ошибок ... Это всего лишь мой пакетный файл: когда он корректно выполняется на удаленном ПК, текстовый файл не отправляется на локальный ПК, как это было бы, выполняя его непосредственно с удаленного , Локальные и удаленные работают как с win7, так и в одной рабочей группе (wifi adhoc). – Yomismo

+0

Имеет ли идентификатор пользователя, что 'PSEXEC' запускает пакет, с правами на запись в общий ресурс admin (' \\ 192.168.1.10 \ C $ ')? – aphoria

ответ

0

Я просто заметил, что параметр на вашей команде PSEXEC-s. Номер -s означает Run the remote process in the System account.. Удаление этого файла должно позволить вашему пакетному сценарию писать на локальный компьютер.

+0

Большое спасибо афории. Фактически я выполняю командный файл удаленно, используя эти параметры: //////////// .ProcessStartInfo ("cmd", "/ C \\ psexec" + "\\\\" + this. tb_ip.Text.ToString() + "-u" + this.tb_name.Text.ToString() + "-psswd" + this.tb_password.Text.ToString() + "-i -d -s C: \\ COPY_CHECK2 .bat "); ////////////////////// и все работает нормально ... Я настаиваю, проблема в том, когда пакет выполняется ... файл не отправляется обратно в локальный ... :( – Yomismo

+0

Вы уверены, что командный файл фактически запущен, а просто строка 'COPY' терпит неудачу? Или весь командный файл не работает? – aphoria

+0

На самом деле, BATCH просто делает что он выполняет линию COPY, и он работает, когда я выполняю его вручную из того, что будет моим удаленным компьютером (всегда подключенным к моему adhoc) ... Это просто когда я выполняю его с помощью PsExec из локального, что он делает не отправлять файл обратно в локальный ... IP правильный, как исправлено по умолчанию (я его настроил) ... – Yomismo