如何通过Powershell在IIS应用程序池中填充Shutdown Executable字段

时间:2018-06-21 13:25:46

标签: powershell iis

在Internet Information Services管理器中,对于每个应用程序池,都有一个选项可用于设置“可执行文件关机”的路径以及高级设置中“快速故障保护”下的所有参数。

我有几个应用程序池(数百个),并且想使用PowerShell脚本自动设置 我创建的程序的每个关机字段。

是否存在这样的PowerShell命令?我仔细阅读了适当的文档,但没有结果。

The Field in Question

1 个答案:

答案 0 :(得分:0)

答案简短?我无法在Powershell中专门弄清楚它,但是,使用“ appcmd.exe”,我能够做到这一点。我编写了一个脚本,尝试重新启动应用程序池并通过电子邮件将结果发送给我。快速失败保护功能启动了该脚本。如果您愿意,我也可以分享此脚本... 但是,我真的不想像您提到的那样手动设置每个应用程序池,因此我提出了以下建议。.它不像某些应用程序漂亮或优雅,但是它可以起作用:

$poolList = (Get-ItemProperty -Path "IIS:\AppPools\*").name

ForEach($pool in $poolList) {
    C:\Windows\System32\inetsrv\appcmd.exe set apppool "$pool" /Failure.autoshutdownParams:"D:\_Scripts\CheckPools.ps1 -PoolName $pool"
    C:\Windows\System32\inetsrv\appcmd.exe set apppool "$pool" /Failure.autoshutdownexe:"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe"
    Get-ItemProperty -Path "IIS:\AppPools\$pool" -name Failure.autoshutdownexe|select *
}

我可以为我确认,在Windows 2016中,此脚本设置了Shutdown Executable和Shutdown Executable参数。可执行文件设置为启动powershell,并且参数调用powershell脚本并将其传递给应用程序池名称。