IISAdministration PowerShell Cmdlet
作者:Baris Caglar
兼容性
版本 | 说明 |
---|---|
IIS 10.0 | IIS 10.0 中引入了 IISAdministration PowerShell Cmdlet。 Powershell 库支持最新版本的 IISAdministration。 |
IIS 8.5 和更低版本 | 低于 IIS 10.0 的版本不支持 IISAdministration PowerShell Cmdlet。 但是,用户可以通过 Powershell 库安装它。 |
请访问 iis.net 了解如何获取最新版本的 IISAdministration。
IISAdministration 概述
随着 Windows 10 和 Windows Server 2016,IIS 团队正在使用现有的 WebAdministration
Cmdlet 并排发布新的简化版 IISAdministration
模块。 决定发布全新的 PowerShell Cmdlet 模块的原因有很多,下面是其中一些:
IISAdministration
将在需要较长时间使用WebAdministration
运行的脚本中更好地缩放。- 你现在可以获取对
Microsoft.Web.Administration.ServerManager
对象实例的直接引用,并执行可在Microsoft.Web.Administration
命名空间中与脚本一起执行的任何操作。 - PowerShell 管道兼容性是许多 cmdlet 设计背后的驱动力。 因此,
IISAdministration
在 PowerShell 管道中效果更好。
为 Windows 10 发布的 Cmdlet 版本是一个粗略版本,具有改进空间;目标版本是 Windows Server 2016,用于完成和完善的产品。 推出早期版本的原因是从行业中真正的 PowerShell 用户和 IIS 管理员那里获得反馈、解答任何问题,以及接收不仅关于现有功能,还可能针对用户希望 IIS Administration 能够提供(因为它与 PowerShell 相关)的新功能的建议。
下面是有关新提供程序的用法的一些示例:
流水线处理
PS:>Get-IISConfigSection -SectionPath "system.webServer/defaultDocument" | Get-IISConfigCollection -CollectionName "files" | New-IISConfigCollectionElement -ConfigAttribute @{"Value" = "MyDefDoc.htm"}
Get-IISConfigSection
位于大多数管道的开头,在上面的特定示例中,我们首先获取“system.webServer/defaultDocument”部分(区分大小写!),然后获取文件集合,最后获取具有给定属性值的集合元素。
PS:>$ConfigSection = Get-IISConfigSection -SectionPath "system.applicationHost/sites"
PS:>Get-IISConfigCollection $configSection | Get-IISConfigCollectionElement -ConfigAttribute @{"Name"="Default Web Site"} | Get-IISConfigAttributeValue -AttributeName "State"
这更像一个混合示例,其中该部分先放入到变量中,然后在管道中使用。
简单命令
简单命令的数量大大减少到了几个。 示例包括 Get-IISSite 和 Get-IISAppPool。 不存在相关命令的其他简单操作可以通过管道操作来执行。
PS:> Get-IISAppPool
Name Status CLR Ver Pipeline Mode Start Mode
---- ------ ------- ------------- ----------
DefaultAppPool Started v4.0 Integrated OnDemand
Get-IISServerManager
PS:>$sm = Get-IISServerManager
PS:>$sm.ApplicationPools["DefaultAppPool"].Recycle()
正如你所看到的,一旦你有权访问服务器管理器,就没有限制了。
Start-IISCommitDelay/Stop-IISCommitDelay
通过将操作封装在这些命令之间,可以确保同时提交所做更改。
这些只是你可以使用新的提供程序执行的一些示例。 有关完整文档和更多示例,请访问联机文档。