首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从ASP.NET查询远程计算机时出现WMI访问被拒绝错误

从ASP.NET查询远程计算机时出现WMI访问被拒绝错误
EN

Stack Overflow用户
提问于 2011-01-07 23:57:02
回答 1查看 2.5K关注 0票数 4

我有一个ASP.NET应用程序,它执行对远程系统的WMI调用。应用程序Web.config包含和选项,据我所知,它们应该强制代表应用程序用户执行应用程序代码。

问题是,尽管我可以成功地从同一主机上同一用户下的PowerShell控制台向所讨论的远程服务器执行我的WMI请求,但我还是收到了"Access is denied“错误。

代码语言:javascript
运行
复制
// this doesn't work
ManagementScope scope = new ManagementScope();
scope.Path.NamespacePath = "root\\virtualization";
scope.Path.Server = "vs01";
scope.Connect(); // <-- here comes exception

# this works just fine
Get-WmiObject -Namespace 'root\virtualization' -Class Msvm_ComputerSystem -ComputerName vs01

转储System.Security.Principal.WindowsIdentity.GetCurrent().Name,System.Threading.Thread.CurrentPrincipal.Identity.Name,HttpContext.Current.User.Identity.Name属性表明模拟按预期工作。

想法?这个问题可能是某种.NET或IIS的安全问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-08 02:26:58

您需要让域管理员为您的web服务器计算机启用委派。这是Kerberos的一个安全特性。默认情况下,不允许中间服务器(在这种情况下是您的web服务器)将客户端的模拟上下文传递到远程服务器,除非它已被授予委派权限。如果您不这样做,远程目标服务器将看到以匿名用户身份进入的请求……如果它被适当地保护,将被拒绝访问。

注意:常见的策略是只允许中间服务器委派给特定的目标服务器(称为约束委派),因此如果您的web应用程序需要能够在网络中的任何服务器上调用WMI,您可能会遇到问题。与您的域管理员交谈。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4627394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档