我需要使用WMI远程管理IIS7 (Windows 2008)。因此,我添加了IIS6 WMI兼容性和IIS6元数据库兼容性角色,以访问根\MicrosoftIIsv2 2命名空间。
我有一个域帐户,它不是远程计算机上的管理员;有了这个权限,一切都好了。
我将域帐户的这些权限配置为远程访问root\MicrosoftIIsv2 WMI命名空间;请注意,这些权限在IIS6和Windows 2003上非常有效:
DCOM:
WMI:
IIS元数据库(Metabase Explorer):
我也尝试在C:\Windows\System32 32\inetsrv上提供一些访问;不知道是否需要。
我不能列出IIS (\root\MicrosoftIISv2:IIsWebServerSetting.Name="W3SVC/*").
Get-WmiObject IIsComputer -namespace "ROOT\MicrosoftIISv2" -authentication PacketPrivacy | SELECT *Get-WmiObject IIsWebServerSetting -namespace "ROOT\MicrosoftIISv2" -authentication PacketPrivacy | SELECT ServerCommentFI:我收到了一个5605的警告事件,不管对不对,这似乎没有影响:
根\MicrosoftIISv2 2命名空间被标记为RequiresEncryption标志。如果脚本或应用程序没有适当的身份验证级别,则可能拒绝对此命名空间的访问。将身份验证级别更改为Pkt_Privacy,然后再次运行脚本或应用程序
好的,我有一些更多的信息,当我在我的管理员帐户中使用IIS 6元数据库资源管理器时,我可以看到我的非管理员帐户的权限是正确继承的。
但是,当我试图使用非管理员帐户连接时,我可以列出LM节点,但是当我试图浏览子节点时,我可以获得一个“拒绝访问,无法获取密钥的数据”。
我再查一查。
我试图跟踪WMI活动,一切似乎都正常;这往往会证实问题在于IIS权限。
发布于 2012-09-18 08:32:36
解决了。
WMI和IIS元数据库权限必须像您在IIS 6上所做的那样设置。因此,它们对我来说是正确的。
具体内容在IIS元数据库上。首先,在IIS7中,W3SVC权限是完全从根继承的,而如果要处理应用程序池,则必须在IIS 6上设置W3SVC/AppPools权限。
由于存在“兼容性”,主要区别在于IIS 7元数据库文件系统。在IIS 6上,inetsrv文件夹(这是Users的默认值)和元数据库ACL上的读取权限就足够了。
在IIS 7上,必须在IIS和IIS7配置文件夹:%SYSTEMROOT%/system32/inetsrv/config (以及.config文件)上设置权限。默认情况下,只有Administrators (这就是为什么它可以很好地使用管理员权限)和其他一些保留组才能访问这个文件夹。
另外一点,如果您需要在应用程序池上执行像Stop这样的方法,则此特性需要配置文件夹上的写权限。
https://serverfault.com/questions/411894
复制相似问题