2013-07-11 1 views
0

이 질문에 대답하는 모든 사람이 A. 예를 들어 설명하지 않음으로써 문제를 해결할 수 있습니다. 또는 B. -scriptBlock 버전을 사용하십시오.Powershell의 -FilePath 인수 전달

내가 원하는 것은 다음과 같습니다. 로컬 컴퓨터의 원격 컴퓨터에서 PowerShell 스크립트를 실행하고 싶습니다. 인수 나 매개 변수를 전달해야합니다.

$responseObject = Invoke-Command -ComputerName MININT-OU9K10R -FilePath C:\Users\Documents\RemoteProofOfConcept\validatePath.ps1 -ArgumentList $filename -AsJob 

내가 validatePath.ps1 스크립트에 $filename를 전달하려면, 나는이 작업을 수행하는 방법을 알아낼 수 없습니다 : 여기

내가 뭘하는지입니다.

다른 사람이 나에게이 작업을 수행하는 방법을 보여 주거나 내가 뭘 잘못하고 있는지 말해 줄 수 있습니까? 이러한 링크의

없음은 도움이되지 않은 :

Get script directory in PowerShell when script is invoked with Invoke-Command

Powershell Invoke-Command with-FilePath Gives ItemNotFoundException

How do I pass named parameters with Invoke-Command?

+0

아니요, 그것이 요점입니다. 그 파일은 내 로컬 컴퓨터에 있습니다. 원격 컴퓨터에 있다면'-scriptblock'을 사용할 수 있다는 것을 알았지 만 그렇지 않습니다. 원격 컴퓨터에서 로컬 스크립트를 실행하고 해당 스크립트에 매개 변수를 전달할 수 있습니다. – BlackHatSamurai

답변

1

이 PowerShell을 v3에서 작동합니다. V2에 있습니까?

9# gc .\foo.ps1 
param($myarg) 

hostname 
"parameter value of myarg is $myarg" 
10# $filename = "c:\foo.txt" 
11# Invoke-Command Beagle2 -FilePath .\foo.ps1 -ArgumentList $filename 
BEAGLE2 
parameter value of myarg is c:\foo.txt 

BTW, foo.ps1은 원격 컴퓨터에 없습니다. 실행을 위해 PowerShell에서 원격 컴퓨터로 전송 중입니다. 이제 $filename에 로컬 컴퓨터 경로가 포함되어있는 경우 두 컴퓨터에 공통된 파일을 가리 키지 않으면 원격 컴퓨터에서 어떻게 작동하는지 잘 모르겠습니다.

+0

나는 그것이 효과가 있다고 믿는다. 도와 줘서 고마워! – BlackHatSamurai