Powershell Invoke-Command查询

时间:2014-09-19 12:42:28

标签: powershell invoke-command

我正在编写一个任务脚本,以定期远程重启某些服务器应用程序池。我正在使用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

我认为这只是一个语法问题,但我无法解决问题。

1 个答案:

答案 0 :(得分:1)

远程主机$ appPool上的

将不存在。 如果您使用的是PS V3,则可以使用using:关键字 - >

为变量添加前缀
$appPool = "IIS:\AppPools\DefaultAppPool"
Invoke-Command -ComputerName $server {Restart-WebItem $using:appPool}

在版本3之前,您必须使用-argumentList参数