How to check whether an application pool exists or not in IIS using powershell and web administration module?

Shruti Agarwal picture Shruti Agarwal · Apr 6, 2017 · Viewed 12.8k times · Source

I am using powershell to automate configuring websites in my IIS. I have the following code that creates a web application pool for me

#Creating a new Application Pool
New-WebAppPool "NewAppPool"

But before creating the pool, I want to check whether pool exists or not.How do I go about doing this?

Please note : There is no IIS Drive on my system. And hence commands which have IIS mentioned in the path like the following fail :

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

Answer

Ranadip Dutta picture Ranadip Dutta · Apr 6, 2017

Use this:

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;
}

Note: You need the WebAdministration module for Powershell. After importing you can use it. See the other ANSWER where I have mentioned about IIS drive