我一直在尝试创建一个位于win2k3 IIS 6服务器上的ac#asp.net页面,并且当被远程调用时,重新启动/回收特定应用程序池服务器。通过WMI从ASP.NET重新启动应用程序池问题
我一直没有多看,有人知道我要去哪里错了吗?我尝试了很多组合,并尝试从服务器直接运行,但无济于事。
当我不通过凭证时,我总是收到“访问被拒绝”或“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)
{
}
忘了提及,我通过的域帐户确实需要权限才能执行应用程序池重启(dom admin) – Developr