2011-07-29 2 views
1

this 접근 방식이 작동하지 않아 원격 컴퓨터에서 완전한 경로 정보를 얻는 데 매우 복잡한 방식을 시도하고 있습니다. 원격 powershell runspace에 연결하고 route.exe 명령 줄 도구를 실행하여 정보를 반환하려고합니다. 내가 명령을 실행하려고 제외하고 기본적으로 내가 솔루션을 적용하고Powershell Remoting C# invoke-expression

here을 발견 : 호출 표현을 "C : \ WINDOWS \ system32를 \ 인쇄 route.exe"대신 "얻을 프로세스"

의 나는 "get-process"를 사용한다. Invoke-Expression을 시도 할 때이 command-let을 찾을 수 없다는 예외가 생깁니다. 로컬 컴퓨터에서 똑같은 명령을 실행하면 작동하고 라우팅 정보가 표시됩니다. 그래서 구문의 문제 또는 경로의 오타가 아니라는 것을 알고 있습니다. 왜 이런 일이 일어나는 지 아는 사람이 있습니까?

감사합니다.

답변

1

좋아요, 게시하자마자 나는 똑똑하고 그러나 명백한 아이디어를 가지고있었습니다. 기술적으로 "Invoke-Expression"은 '명령'이고 "c : \ WINDOWS \ system32 \ route.exe print"는 명령의 인수입니다. 그래서 내가 위의 링크 된 코드에이를 추가해야합니다

scriptText가 있고 인수 "- 표현을 호출"입니다
powershell.AddCommand(scriptText); 
powershell.AddArgument(args); 

"C : 인쇄 route.exe \ WINDOWS \ system32를 \".

희망이 있으면 도움이됩니다.

0

원 포인트 : \을 올바르게 탈출 했습니까?
다른 점 : Invoke-Expression 대신 Invoke-Command를 시도하십시오.

+0

모든 것이 모두 좋았습니다. 편집 된 질문/답변을 참조하십시오. 게시 해 주셔서 감사합니다. – Bitfiddler