如何使用Powershell Web Admin Commandlets更改IIS站点的应用程序池

Zer*_*nce 27 iis powershell

以下代码演示了我认为可能有用的内容,但它不会更改应用程序池 - 它仍保持设置为当前值(即使$ site对象确实更新):

import-module WebAdministration

$site = get-item "IIS:\Sites\Project"
$site.ApplicationPool = "ProjectAppPool"
$site | set-item
Run Code Online (Sandbox Code Playgroud)

如果使用New-WebSite创建指定-ApplicationPool参数的站点,则会按预期创建.我必须使用哪些Powershell IIS web命令将现有站点的应用程序池更改为不同的东西?

Kei*_*ill 44

ApplicationPool是IIS:驱动器中的网站上的属性.设置如下:

#site level
Set-ItemProperty 'IIS:\Sites\Default Web Site' applicationPool ProjectAppPool

#app level
Set-ItemProperty 'IIS:\Sites\Default Web Site\AppName' applicationPool ProjectAppPool
Run Code Online (Sandbox Code Playgroud)

如果安装了PowerShell社区扩展,则可以使用Show-Tree命令探索这些驱动器,例如:

Show-Tree IIS:\Sites -ShowProperty -Depth 1
Run Code Online (Sandbox Code Playgroud)

  • 我发现"应用程序池"属性区分大小写,您需要将ApplicationPool更改为应用程序池.例如Set-ItemProperty'IIS:\ Sites\Default Web Site\AppName'applicationPool ProjectAppPool (23认同)
  • 在“Get-ItemProperty”和“Set-ItemProperty”命令可用之前需要“Import-Module WebAdministration”。 (2认同)