如何使用 C#.Net 代码远程重置 IIS



我在Windows Server 2008上运行IIS服务,我想从我的Windows 7机器重置它。

如何使用 C#.Net 代码远程重置 IIS?

我尝试使用 Microsoft.Web.Administration,但它不接受远程服务器详细信息来连接。任何其他可用于此目的的 API ?

如果您有特定的网站名称,则可以使用 WMI 停止和启动该网站。 如果是整个 IIS,我确信 IIS WMI 提供程序中有一些东西可以执行此操作。 在这里,我使用WebAdministration来管理IIS下的网站,但也有MicrosoftIISV2。 谷歌的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("\localhostWebAdministration", 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);
            }
        }

相关内容

  • 没有找到相关文章

最新更新