Я пытался создать страницу c # asp.net, которая находится на сервере win2k3 IIS 6 и при вызове (удаленно) перезапускает / перезапускает определенный пул приложений на сервере.
У меня не было особого взгляда, кто-нибудь знает, где я иду не так? Я пробовал много комбинаций и пробовал работать напрямую с сервера, но безрезультатно.
Я продолжаю получать сообщения «доступ запрещен» или «ошибки win32: доступ запрещен», когда я не передаю учетные данные. Когда я передаю их, я получаю «Учетные данные пользователя не могут использоваться для локальных подключений».
Я также пытался повысить права доступа к учетной записи anon просто для проверки, но опять-таки это не сработало ... возможно ли это, чего я пытаюсь достичь?
try
{
ManagementScope scope = new ManagementScope("root\\MicrosoftIISv2");
scope.Path.Server = "servername";
scope.Path.Path = "\\\\servername\\root\\MicrosoftIISv2";
scope.Path.NamespacePath = "root\\MicrosoftIISv2";
scope.Options.Username = "domain\\user";
scope.Options.Password = "password";
scope.Options.Authentication = AuthenticationLevel.Default;
scope.Options.Impersonation = ImpersonationLevel.Impersonate;
scope.Options.EnablePrivileges = true;
scope.Connect();
ManagementObject appPool = new ManagementObject(scope, new ManagementPath("IIsApplicationPool.Name='W3SVC/AppPools/AppPoolName'"), null);
appPool.InvokeMethod("Recycle", null, null);
}
catch (System.Exception ex)
{
}