我需要使用WMI IIS6 API远程pipe理我的IIS7(Windows Server 2008)。 所以我添加了IIS6 WMI兼容性和IIS6元数据库兼容性angular色来访问root \ MicrosoftIIsv2命名空间。
我有一个远程计算机上不是pipe理员的域帐户; 有了这个权利,一切都好。
我为我的域帐户configuration了这些权限,以便远程访问root\MicrosoftIIsv2 WMI名称空间; 请注意这些权限在IIS6和Windows Server 2003上完美工作 :
DCOM:
WMI:
IIS元数据库(Metabase Explorer):
我试图给C:\ Windows \ System32 \ inetsrv一些访问; 不知道是否需要。
我的问题是:
我无法列出IIS WebSites(\ root \ MicrosoftIISv2:IIsWebServerSetting.Name =“W3SVC / *”)。 我没有得到“访问被拒绝”,但没有任何返回。
Get-WmiObject IIsComputer -namespace "ROOT\MicrosoftIISv2" -authentication PacketPrivacy | SELECT * Get-WmiObject IIsComputer -namespace "ROOT\MicrosoftIISv2" -authentication PacketPrivacy | SELECT * Get-WmiObject IIsWebServerSetting -namespace "ROOT\MicrosoftIISv2" -authentication PacketPrivacy | SELECT ServerComment Get-WmiObject IIsWebServerSetting -namespace "ROOT\MicrosoftIISv2" -authentication PacketPrivacy | SELECT ServerComment FI:我有一个警告事件5605,有没有pipe理员的权利,这似乎没有影响:
根\ MicrosoftIISv2命名空间标有RequiresEncryption标志。 如果脚本或应用程序没有适当的身份validation级别,则可能会拒绝对此名称空间的访问。 将身份validation级别更改为Pkt_Privacy,然后再次运行脚本或应用程序
好吧,我有更多的信息,当我用我的pipe理员帐户使用IIS 6元数据库资源pipe理器时 ,我可以看到权限正确地inheritance了我的非pipe理员帐户。
但是,当我尝试使用非pipe理员帐户进行连接时, 我可以列出LM节点,但是当我尝试浏览子节点时,得到“拒绝访问,未能获取密钥的数据” 。
我会进一步检查。
我试图跟踪WMI活动,一切似乎都没问题; 这往往证实问题在于IIS权利。
解决。
WMI和IIS元数据库权限必须像在IIS 6上那样进行设置。所以他们对我来说是正确的。
该特性是在IIS元数据库上。 首先,在IIS 7中,如果要处理应用程序池, W3SVC权限将完全从根inheritance,而您必须在IIS 6上设置W3SVC/AppPools权限。
由于存在“兼容性”,主要区别在IIS 7元数据库文件系统中。 在IIS 6上,对inetsrv文件夹(这是Users的默认设置)和元数据库ACL的读取权限就足够了。
在IIS 7上,必须在IIS元数据库和IIS 7configuration文件夹上设置权限: %SYSTEMROOT%/system32/inetsrv/config (然后是.config文件)。 默认情况下,只有Administrators (这就是为什么它完全与pipe理员权限)和一些其他保留组可以访问此文件夹。
还有一点,如果您需要在应用程序池上执行Stop等方法,则此function需要configuration文件夹上的Write权限。