Does anyone know of any more advanced/powerful replacements for the "Internet Information Services (IIS) Manager" for IIS 7? It might include things like selecting multiple items to update/delete/etc. at once, and more powerful features like that.
I'm hoping for something analogous to Sysinternals' Process Explorer replacement for Windows Task Manager. They both basically do the same thing, but the Sysinternals tool is more powerful/flexible.
We have some automated deployments that tend to leave virtual directories/apps and app pools lying around, and it can be a pain to go in an delete them all one-by-one in IIS manager. I was considering writing a script/utility to do automated cleanups, but was hoping something already exists.
I have a list but, no GUI's (who needs graphics anyways)
Not sure of any GUI, but if you're scripting oriented then Powershell is your friend.
Getting started with the IIS Powershell snap-in
The Configuration Editor tool can be used to generate scripts for you. Instead of hitting Apply, hit Generate Script, and it'll show you how to do what you just did in the more detailed view.
The GUI hides certain things (like dangling apps and vdirs) from you because there's nowhere to show them in the tree view; Config Editor doesn't have the same limitation, so prune away.
You might consider using webdeploy which was designed to do exactly what you were talking about with automated deployments that will clean up after themselves. As an example:
Delete the application “myapp” from the MySite site, including all related content files and configuration. msdeploy -verb:delete -dest:apphostconfig="MySite/myapp"
There are some IIS tools available for MS System Center Operations Manager, but it's mainly just monitoring.
If you've outgrown the GUI tools then it's time to start learning IIS's management API's to create automatable repetitive tasks.
In addition to the suggestions to use
appcmd.exe
and the PowerShell IIS 7 snap-in your could also take a look at the managed API's as well:These can be consumed from any .NET language and PowerShell.