0

一部のサーバー アプリケーション プールを定期的にリモートで再起動するタスクのスクリプトを作成しています。次のように Invoke-Command を使用しています。

Invoke-Command -ComputerName $server {Restart-WebItem "IIS:\AppPools\DefaultAppPool"}

これは問題なく機能します。ただし、次のようにアプリ プールをパラメーター化すると

$appPool = "IIS:\AppPools\DefaultAppPool"
Invoke-Command -ComputerName $server {Restart-WebItem $appPool}

それは失敗します

Unexpected object type.
Parameter name: pspath

これは単なる構文の問題だと思いますが、何が原因かわかりません。

4

1 に答える 1

1

リモート ホスト $appPool には存在しません。PS V3 を使用している場合は、変数の前にusing:キーワードを付けることができます ->

$appPool = "IIS:\AppPools\DefaultAppPool"
Invoke-Command -ComputerName $server {Restart-WebItem $using:appPool}

バージョン 3 より前では、-argumentListパラメーターを使用する必要がありました

于 2014-09-19T13:02:31.680 に答える