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." }
The Get-IISAppPool cmdlet gets information about application pools and their current status and other key information. If a specific application pool or a comma delimited list of application pools are requested, only those whose names are passed as an argument are returned.
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With