Importando o arquivo .mof do filtro WMI do GPO

1

Eu tenho alguns filtros WMI do GPO exportados de um domínio do AD como .MOF files. Vejo que posso importá-los usando o console Gerenciamento de Diretiva de Grupo, mas gostaria de importá-los novamente por meio de um script para automatizar todo o processo.

Eu não consegui encontrar nenhuma documentação decente sobre como isso funciona e os scripts disponíveis no TechNet 1 estão indo principalmente lendo valores de propriedades do diretório de origem e gravando-os no destino.

Gostaria de manter a capacidade de usar o GPMC para restaurar backups de filtros WMI manualmente, se necessário. Portanto, é necessária uma abordagem para simplesmente usar os arquivos .mof criados pelo GPMC na exportação do filtro WMI.

1 Curiosamente, diferentes funcionários da Microsoft aparentemente trabalharam em problemas semelhantes ao longo dos anos, todos chegando a soluções semelhantes publicadas no TechNet:

por the-wabbit 03.07.2018 / 12:51

1 resposta

2

Um .mof é um arquivo de entrada para o utilitário mofcomp que está presente em todos os sistemas Windows. Você só precisa fornecer o nome do arquivo e o namespace correspondente como parâmetros para fazê-lo funcionar.

O nome do arquivo é obviamente a parte fácil - isso é algo que você especifica ao exportar o filtro WMI. Mas mofcomp não executaria a .mof export sem o namespace correto, pois não sabe onde encontrar a classe MSFT_SomFilter que está sendo instanciada:

C:\Users\john>mofcomp wmi-filter-export.mof
Microsoft (R) MOF Compiler Version 10.0.14393.0
Copyright (c) Microsoft Corp. 1997-2006. All rights reserved.
Parsing MOF file: wmi-filter-export.mof
MOF file has been successfully parsed
Storing data in the repository...
An error occurred while resolving the alias for object 1 defined on lines 2 - 18:
0X80041002 Class, instance, or property 'MSFT_SomFilter' was not found.
Compiler returned error 0x80041002

Basta pesquisar na rede o nome da classe MSFT_SomFilter para obter o link da documentação da classe no MSDN , que convenientemente afirma:

| Namespace |  Root\policy |

Portanto, chame mofcomp com o namespace apropriado e veja o trabalho. Você provavelmente precisará executar isso no seu controlador de domínio com direitos administrativos (ou seja, elevados).

C:\Users\john>mofcomp -N:root\Policy wmi-filter-export.mof
Microsoft (R) MOF Compiler Version 10.0.14393.0
Copyright (c) Microsoft Corp. 1997-2006. All rights reserved.
Parsing MOF file: wmi-filter-export.mof
MOF file has been successfully parsed
Storing data in the repository...
WARNING: File wmi-filter-export.mof does not contain #PRAGMA AUTORECOVER.
If the WMI repository is rebuilt in the future, the contents of this MOF file will not be included in the new WMI repository.
To include this MOF file when the WMI Repository is automatically reconstructed, place the #PRAGMA AUTORECOVER statement on the first line of the MOF file.
Done!

Observe que, se um Filtro WMI com o mesmo GUID que o definido pela linha ID = <GUID> , o .mof já existir, ele será sobrescrito. Se o GUID ainda não estiver em uso, um novo filtro WMI será criado.

O aviso #PRAGMA AUTORECOVER não tem substância real aqui - nenhuma nova classe está sendo definida pelo .mof , portanto, nada é perdido no caso de uma reconstrução do repositório do WMI.

    
por 03.07.2018 / 12:51