Windows Server 2008 で実行している IIS サービスを Windows 7 マシンからリセットしたいと考えています。
C#.Net コードを使用して IIS をリモートでリセットするにはどうすればよいですか?
Microsoft.Web.Administration を使用してみましたが、接続するリモート サーバーの詳細を受け入れません。この目的で使用できる他の API はありますか?
Windows Server 2008 で実行している IIS サービスを Windows 7 マシンからリセットしたいと考えています。
C#.Net コードを使用して IIS をリモートでリセットするにはどうすればよいですか?
Microsoft.Web.Administration を使用してみましたが、接続するリモート サーバーの詳細を受け入れません。この目的で使用できる他の API はありますか?
特定の Web サイト名がある場合は、WMI を使用してその Web サイトを停止および開始できます。全体として IIS である場合、IIS WMI プロバイダーにはこれを行うための何かがあると確信しています。ここでは WebAdministration を使用して IIS で Web サイトを管理していますが、MicrosoftIISV2 もあります。WmiExplorer の Google には、優れたものがいくつかあります。
var connOptions = new ConnectionOptions();
connOptions.Authentication = AuthenticationLevel.PacketPrivacy;
// if you want to connect as someone other than logged in user
//connOptions.Username = username;
//connOptions.Password = password;
var scope = new ManagementScope("\\localhost\WebAdministration", connOptions);
WqlObjectQuery query = new WqlObjectQuery(`enter code here`string.Format("SELECT * FROM Site WHERE Name = '{0}'", "Default Web Site"));
using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query))
{
foreach (ManagementObject site in searcher.Get())
{
ManagementBaseObject inParams = site.GetMethodParameters("Stop");
site.InvokeMethod("Stop", inParams, null);
ManagementBaseObject inParams2 = site.GetMethodParameters("Start");
site.InvokeMethod("Start", inParams2, null);
}
}