How to start / stop the default website and any IIS7 application pool programmatically in C #?
This is similar to what you want to use WMI. The IIsWebServer class is likely to be a good place to search, you can find documentation for this here . And here is the codeproject article for stopping and starting sites in C #.
You can use System.DirectoryServices
http://terrapinstation.wordpress.com/2008/06/12/restart-iis-application-pool-from-aspnet-page/