如何使用PowerShell和Web管理模块检查IIS中是否存在应用程序池?

Shr*_*wal 10 iis powershell application-pool web-administration

我使用PowerShell自动配置IIS中的网站.我有以下代码为我创建一个Web应用程序池

#Creating a new Application Pool
New-WebAppPool "NewAppPool"
Run Code Online (Sandbox Code Playgroud)

但是在创建池之前,我想检查池是否存在.我该怎么做呢?

请注意:我的系统上没有IIS驱动器.因此,如下所示在路径中提到IIS的命令会失败:

$IISPath = "IIS:\AppPools"
cd $IISPath
if (Test-Path ".\NewAppPool") { Write-Host "NewAppPool exists." }
Run Code Online (Sandbox Code Playgroud)

Ran*_*tta 17

用这个:

import-module webadministration

$AppPoolName="NewAppPool"

if(Test-Path IIS:\AppPools\$AppPoolName)
{
"AppPool is already there"
return $true;
}
else
{
"AppPool is not present"
"Creating new AppPool"
New-WebAppPool "$AppPoolName" -Force
return $false;
}
Run Code Online (Sandbox Code Playgroud)

注意:您需要Powershell的WebAdministration模块.导入后,您可以使用它.请参阅我提到过的有关IIS驱动器的其他答案

  • 在某些情况下,这将为现有应用程序池返回false.我不得不将import-module webadministration添加到文件的顶部. (3认同)