Microsoft.Web.Administration API を使用して、サーバー ファーム内のサンプル サーバーを "正常にシャットダウン" しようとしています。インターネットで同様の解決策を見つけましたが、うまくいきませんでした。
var mgr = new ServerManager();
var conf = mgr.GetApplicationHostConfiguration();
var sect = conf.GetSection("webFarms");
var webFarms = sect.GetCollection();
var farm = webFarms[0];
var servers = farm.GetCollection();
var server = servers[0];
var arr = server.GetChildElement("applicationRequestRouting");
var counters = arr.GetChildElement("counters");
//Console.WriteLine(counters.Attributes); // This also gives error "not supported"
var method = arr.Methods["SetState"];
var instance = method.CreateInstance();
instance.Input.Attributes[0].Value = 2; //shutdown gracefully
instance.Execute(); // Exception from HRESULT: 0x80070032