2014-09-30 2 views
0

저는 Wifi AdHoc 네트워크에서 원격 PC와 통신하기 위해 C# 프로그램을 코딩하고 있습니다. 로컬의 CHECK.txt 파일을 보낼 원격에서 BATCH 파일을 실행합니다. 나는 PsExec를 사용한다.PsExec에서 BATCH를 사용하여 원격 PC에서 파일 가져 오기 C#

로컬 컴퓨터에서이 배치 파일을 원격으로 실행하여 원격지 디렉토리에서 CHECK.txt 파일을 복사하면 모든 것이 C# 프로그램에서 올바르게 작동합니다. 나는 현지에있는 텍스트 파일을 복사하려면이 BATCH를 수정할 때 문제가 온다 :

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

이 보인다에 네트워크의 통신 할 때 일괄 시도를 원격 블록의 배치를 실행하는 데 사용되는 프로세스 PsExec를, 텍스트 파일을 다시 로컬로 보냅니다. 445 번 포트와 139 번 포트에 문제가 있습니까? 파일을 다시 보내지 못하게 막는 이유는 무엇입니까?

모든 것은 원격지와 로컬 (방화벽 없음 등) 간의 투명 대화 상자로 설정됩니다. 사전에

덕분에 ...

+0

어떤 오류가 발생 했습니까? – aphoria

+0

안녕하세요 아포리아, 답변 해 주셔서 감사합니다. 사실 나는 어떤 오류도 발생하지 않고 있습니다 ... 그것은 단지 배치 파일입니다 : 원격 PC에서 올바르게 실행되면 텍스트 파일이 원격 PC에서 직접 실행하여 수행하는 것처럼 로컬 PC로 전송되지 않습니다 . Local과 Remote는 win7에서 작동하며 둘 다 동일한 작업 그룹 (wifi adhoc)에 있습니다. – Yomismo

+0

'PSEXEC'이 관리 공유 ('\\ 192.168.1.10 \ C $')에 쓸 권한을 가지고있는 사용자 ID에 일괄 처리를 실행하고 있습니까? – aphoria

답변

0

난 그냥 당신의 PSEXEC 명령에 -s 매개 변수를 나타났습니다. -sRun 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 라인을 실행하고, 내가 원격 PC (항상 내 adhoc에 연결됨)가 될 것으로부터 수동으로 실행할 때 작동합니다 ... 그것은 단지 그것이 실행하는 지역의 PsExec를 사용하여 실행하는 것입니다 로컬로 파일을 보내지 마십시오 ... IP는 기본적으로 고정되어 있습니다 (필자가 구성 했음) ... – Yomismo

관련 문제