0
일부 서버 응용 프로그램 풀을 원격으로 다시 시작하는 작업을 스크립팅하고 있습니다. 다음과 같이 Invoke-Command를 사용하고 있습니다.Powershell Invoke-Command 쿼리
Invoke-Command -ComputerName $server {Restart-WebItem "IIS:\AppPools\DefaultAppPool"}
이 작업은 정상적으로 작동합니다. 나는 응용 프로그램 풀을 매개 변수화하는 경우 그러나, 나는이 그냥 문법 문제입니다 가정
Unexpected object type.
Parameter name: pspath
실패,하지만 난 무엇을 작동 할 수 없습니다
$appPool = "IIS:\AppPools\DefaultAppPool"
Invoke-Command -ComputerName $server {Restart-WebItem $appPool}
을 다음과 같이.
이 우수한 $ 사용하는 구문은 근무
-argumentList
매개 변수를 사용했다. 이상하게도 로컬 변수가 원격으로 실행되기 전에 해결되었다는 인상을 받았습니다. -ArgumentList를 사용하여 동일한 오류 메시지가 나타납니다. –@KevinRoche 아니요,이 때문에'-argumentlist'가 만들어진 이유는 다음과 같습니다. "명령에서 로컬 변수의 값을 제공합니다. 명령이 원격 컴퓨터에서 실행되기 전에 명령의 변수가이 값으로 대체됩니다." –
방금 -ArgumentList로 몇 가지 테스트를 시도했지만 뭔가 빠졌습니다. 이 함수의 -PSPath 매개 변수는 문자열 배열이므로 원본과 같은 오류 ({Restart-WebItem} -ArgumentList ($ appPool) 및 {Restart-WebItem} -ArgumentList $ appPool을 시도했습니다. 올바른 구문은 무엇입니까? –