Direitos WMI necessários para ler root \ MicrosoftIISv2 no IIS7 com o modo de compatibilidade com IIS6

6

Eu preciso gerenciar meu IIS7 (Windows Server 2008) remotamente com uma API do WMI IIS6. Então eu adicionei as funções Compatibilidade com IIS6 WMI e IIS6 Metabase Compatibility para acessar o namespace root \ MicrosoftIIsv2 .

Eu tenho uma conta de domínio que não é administrador na máquina remota; com este direito, tudo está bem.

Eu configurei esses direitos para minha conta de domínio para acessar o namespace root\MicrosoftIIsv2 WMI remotamente; observe que esses direitos funcionam perfeitamente em um IIS6 e no Windows Server 2003 :

DCOM:

  • Conta em Usuários COM distribuídos > Remoto & acesso local ao DCOM

WMI:

  • Root \ CIMV2 (eu preciso acessar aqui também) > Executar métodos, Ativar conta, Ativar remotamente
  • Root \ Default (eu preciso acessar aqui também) > Executar métodos, Ativar conta, Ativar remotamente
  • Raiz \ MicrosoftIISv2 > Executar métodos, ativar conta, gravação de provedor, habilitar remoto

Metabase do IIS (Metabase Explorer):

  • LM > Controle total ( W3SVC herda essas permissões)

Eu tentei dar algum acesso em C: \ Windows \ System32 \ inetsrv também; não sei se é necessário.

Meu problema é:

Não consigo listar os Web sites do IIS (\ root \ MicrosoftIISv2: IIsWebServerSetting.Name="W3SVC / *"). Eu não obtenho um 'acesso negado', mas nada é retornado.

  • Meus testes de API e powershell podem se conectar e executar consultas no namespace root \ MicrosoftIISv2
  • eu posso ler a classe IIsComputer
    • ex: Get-WmiObject IIsComputer -namespace "ROOT\MicrosoftIISv2" -authentication PacketPrivacy | SELECT *
  • Não consigo ler o IIsWebServerSetting, IIsWebServer ... para listar os WebSites: a consulta retorna uma coleção vazia
    • ex: Get-WmiObject IIsWebServerSetting -namespace "ROOT\MicrosoftIISv2" -authentication PacketPrivacy | SELECT ServerComment
  • Todas as consultas funcionam perfeitamente se a conta for do administrador como já foi dito
  • Estou usando a autenticação PacketPrivacy

FI: recebi um Evento de Aviso 5605 com o Administrador certo ou não, que parece não ter impacto:

The root\MicrosoftIISv2 namespace is marked with the RequiresEncryption flag. Access to this namespace might be denied if the script or application does not have the appropriate authentication level. Change the authentication level to Pkt_Privacy and run the script or application again

Ok, eu tenho mais algumas informações, quando eu uso o IIS 6 Metabase Explorer com minha conta de administrador, vejo que os direitos são herdados corretamente para minha conta não-administrador.

Mas quando tento me conectar usando minha conta não-administrador, posso listar o nó LM , mas obter um "acesso negado, falha ao obter os dados de uma chave" quando Eu tento navegar nos nós filhos.

Vou verificar mais.

Eu tentei rastrear a atividade do WMI e tudo parece OK; isso tende a confirmar que o problema está nos Direitos do IIS.

    
por JoeBilly 27.07.2012 / 18:05

1 resposta

1

Resolvido.

Os direitos da Metabase do WMI e do IIS precisam ser definidos como você faria em um IIS 6. Por isso, eles estavam corretos para mim.

A especificidade está na Metabase do IIS. Primeiro de tudo, no IIS 7, os direitos W3SVC são completamente herdados da raiz, enquanto você precisa definir os direitos W3SVC/AppPools no IIS 6, se quiser manipular os pools de aplicativos.

Como há uma 'compatibilidade', a principal diferença reside no sistema de arquivos da metabase do IIS 7. No IIS 6, os direitos de leitura na pasta inetsrv (que é o padrão para Users ) e as ACLs da Metabase são suficientes.

No IIS 7, os direitos devem ser definidos na Metabase do IIS E na pasta de configuração do IIS 7: %SYSTEMROOT%/system32/inetsrv/config (e arquivos .config ). Por omissão, apenas Administrators (é por isso que está a funcionar perfeitamente com o Administrador) e alguns outros grupos reservados podem aceder a esta pasta.

Outro ponto, se você precisar executar métodos como Stop em um pool de aplicativos, esse recurso exigirá os direitos Write na pasta de configuração.

    
por 18.09.2012 / 10:32