Creating an IIS 6.0 Application Pool Using Powershell

How to create application pool in IIS 6.0 using PowerShell script?

This is what I have come up with so far ...

$appPool = [wmiclass] "root\MicrosoftIISv2:IIsApplicationPool" 

thanks

+6
powershell iis-6
source share
3 answers

This is not the most obvious process, but here's what worked for me.

 $AppPoolSettings = [wmiclass]'root\MicrosoftIISv2:IISApplicationPoolSetting' $NewPool = $AppPoolSettings.CreateInstance() $NewPool.Name = 'W3SVC/AppPools/MyAppPool' $Result = $NewPool.Put() 

You may get an error with a call to the Put () method, but calling it the second (or third) time should make it work. This is due to a problem with PowerShell V1 and WMI.

+6
source share

I think I can share the script I came with. Thanks, Stephen and Leo.

 # Settings $newApplication = "MaxSys.Services" $poolUserName = "BRISBANE\svcMaxSysTest" $poolPassword = "ThisisforT3sting" $newVDirName = "W3SVC/1/ROOT/" + $newApplication $newVDirPath = "C:\" + $newApplication $newPoolName = $newApplication + "Pool" #Switch the Website to .NET 2.0 C:\windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -sn W3SVC/ # Create Application Pool $appPoolSettings = [wmiclass] "root\MicrosoftIISv2:IISApplicationPoolSetting" $newPool = $appPoolSettings.CreateInstance() $newPool.Name = "W3SVC/AppPools/" + $newPoolName $newPool.PeriodicRestartTime = 0 $newPool.IdleTimeout = 0 $newPool.MaxProcesses = 2 $newPool.WAMUsername = $poolUserName $newPool.WAMUserPass = $poolPassword $newPool.AppPoolIdentityType = 3 $newPool.Put() # Do it again if it fails as there is a bug with Powershell/WMI if (!$?) { $newPool.Put() } # Create the virtual directory mkdir $newVDirPath $virtualDirSettings = [wmiclass] "root\MicrosoftIISv2:IIsWebVirtualDirSetting" $newVDir = $virtualDirSettings.CreateInstance() $newVDir.Name = $newVDirName $newVDir.Path = $newVDirPath $newVDir.EnableDefaultDoc = $False $newVDir.Put() # Do it a few times if it fails as there is a bug with Powershell/WMI if (!$?) { $newVDir.Put() } # Create the application on the virtual directory $vdir = Get-WmiObject -namespace "root\MicrosoftIISv2" -class "IISWebVirtualDir" -filter "Name = '$newVDirName'" $vdir.AppCreate3(2, $newPoolName) # Updated the Friendly Name of the application $newVDir.AppFriendlyName = $newApplication $newVDir.Put() 
+7
source share

Things are good! I changed the code so that the explicit call to the $ newPool.Put () command after the initial error. Thank you for your help!

0
source share

All Articles