powershell - 如何通过 Powershell 填充 IIS 应用程序池中的关闭可执行文件字段
问题描述
在 Internet 信息服务管理器中,对于每个应用程序池,都有一个选项可以设置关机可执行文件的路径,以及Rapid-Fail Protection
高级设置下的任何参数。
我有几个应用程序池(几百个),并想使用 PowerShell 脚本自动将每个应用程序池的关闭字段设置为我创建的程序。
是否存在这样的 PowerShell 命令?我仔细阅读了相应的文档,但没有结果。
解决方案
简短的回答?我无法专门在 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 参数。Executable 设置为启动 powershell,参数调用 powershell 脚本并将应用程序池名称传递给它。
推荐阅读
- c# - 比较表示日期的整数
- css - 无法更改我的 Wordpress 标题上的 CSS
- ag-grid - ag-grid - 当 headerName 与字段不同时,在透视模式下的列工具面板中默认未选择列
- python - 我如何更快地获得 4 个像素
- java - 无法在 android studio 中显示视图
- node.js - 如何使用带有 TypeScript 的 Azure 函数更新 cosmos db 中子文档中的特定值
- javascript - DataTables 警告:表 id=tblData - 请求第 0 行第 5 列的未知参数“OwnByWareHouse”
- java - Java for Android 和 Java for pc 是否相同
- python - ValueError:无法将 NumPy 数组转换为数组大小超过 4000 的张量(不支持的对象类型 numpy.ndarray)
- c# - ASP.NET MVC:使用 Visual Studios for Mac 连接 SQL 数据库