C# 远程重置IIS-访问被拒绝

C# 远程重置IIS-访问被拒绝,c#,asp.net,.net,iis,C#,Asp.net,.net,Iis,我正在创建一个小的单页asp.net web表单应用程序来重置IIS。此页面包含一个gridview with checkbox列,用于选择要进行IIS重置的计算机。然后根据选择,我将不得不对所有选择的机器进行IIS重置 现在,web应用程序托管在IIS上的机器1上,我将在此机器上运行web应用程序,并选择可能是机器2,机器3以重置IIS。我已经为IIS重置编写了一些代码,但它给了我访问被拒绝的例外。详情如下 try { using (ServiceController iisServi

我正在创建一个小的单页asp.net web表单应用程序来重置IIS。此页面包含一个gridview with checkbox列,用于选择要进行IIS重置的计算机。然后根据选择,我将不得不对所有选择的机器进行IIS重置

现在,web应用程序托管在IIS上的机器1上,我将在此机器上运行web应用程序,并选择可能是机器2,机器3以重置IIS。我已经为IIS重置编写了一些代码,但它给了我访问被拒绝的例外。详情如下

try
{
    using (ServiceController iisService = new ServiceController("W3SVC"))
    {
        TimeSpan timeout = TimeSpan.FromMilliseconds(10000);
        iisService.MachineName = machineName;

        if (iisService.Status == ServiceControllerStatus.Running)
        {
            iisService.Stop();
            iisService.WaitForStatus(ServiceControllerStatus.Stopped, timeout);
        }

        if (iisService.Status == ServiceControllerStatus.Stopped)
        {
            iisService.Start();
            iisService.WaitForStatus(ServiceControllerStatus.Running, timeout);
        }
    }
}
运行上述代码后,我收到以下错误:

无法在计算机“计算机名”上打开w3svc服务


还有其他方法可以做到这一点,但我必须为机器选择提供选项,如网格或其他

try/catch
块的用途是什么?另外,您是否有任何理由相信您可以访问该计算机上的IIS?您是否尝试过远程使用IIS管理器?您正在使用哪种身份验证?Windows身份验证?在其下运行应用程序的用户应具有执行您尝试执行的操作的适当权限。您可以使用powershell来执行此操作。这是一次性事件还是已计划?Try catch是异常,我得到InvalidOperationException。我使用管理员帐户登录到机器1,并且在所有其他机器上都是相同的管理员帐户。不,我没有远程使用IIS管理器,对此我很抱歉。是,我已启用windows身份验证,但我不要求任何凭据。如果在创建power shell脚本后使用它,我是否必须从asp.net应用程序调用它?