我在 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?
如果您有特定的网站名称,则可以使用 WMI 停止和启动该网站。如果它是一个整体的 IIS,我确信 IIS WMI 提供程序中有一些东西可以做到这一点。这里我使用WebAdministration 来管理IIS 下的网站,但也有MicrosoftIISV2。Google for WmiExplorer,那里有一些不错的。
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);
}
}