通过命令行回收IIS中的所有应用程序池

时间:2015-12-23 11:18:26

标签: powershell iis appcmd

我有一个PowerShell脚本:

& $psexec $serveraddr -u $remoteuser -p $remotepass -accepteula C:\Windows\System32\inetsrv\appcmd.exe list apppool /xml | C:\Windows\System32\inetsrv\appcmd.exe recycle apppool /in

我用来回收所有IIS池。问题是只有IIS池中的默认值才会被回收。没有私人泳池可以回收。第二个appcmd找不到它们。首先,appcmd查找由IIS和私有提供的所有池。

错误是:

  

错误(消息:NiemożnodnnaleźćobiektuAPPPOOL o identyfikatorze“Core1”。)

来自波兰语:

  

错误(消息:找不到ID为“Core1”的对象APPPOOL。)

我无法回收私人泳池。有没有办法绕过这个?

2 个答案:

答案 0 :(得分:1)

因此命令的第二部分在本地执行。我已经通过单个命令更改了脚本以回收每个池:

& $psexec $server -u $remoteuser -p $remotepass -accepteula C:\Windows\System32\inetsrv\appcmd.exe recycle apppool /apppool.name:Core1

答案 1 :(得分:0)

这是一个可以回收所有应用程序池的班轮:

& $env:windir\system32\inetsrv\appcmd list apppools /state:Started /xml | & $env:windir\system32\inetsrv\appcmd recycle apppools /in