Назад | Перейти на главную страницу

Импорт файла .mof фильтра WMI GPO

У меня есть несколько экспортированных фильтров GPO WMI из домена AD, как .MOF файлы. Я вижу, что могу импортировать их с помощью консоли управления групповой политикой, но мне бы хотелось повторно импортировать их с помощью сценария для автоматизации всего процесса.

Мне не удалось найти достойную документацию о том, как это работает, и сценариях, доступных в TechNet.1 в основном собираются путем чтения значений свойств из исходного каталога и записи их в место назначения.

Я хотел бы сохранить возможность использовать GPMC для восстановления резервных копий фильтров WMI вручную, если это необходимо. Итак, подход к простому использованию .mof файлы, созданные GPMC при экспорте фильтра WMI, обязательны.


1 Интересно, что разные сотрудники Microsoft явно работали над аналогичными проблемами на протяжении многих лет, и все они пришли к аналогичным решениям, опубликованным в TechNet:

А .mof это входной файл для mofcomp утилита, которая присутствует в каждой системе Windows. Вам просто нужно указать имя файла и соответствующее пространство имен в качестве параметров, чтобы он работал.

Очевидно, что имя файла - это самая простая часть - это то, что вы указываете при экспорте фильтра WMI. Но mofcomp не будет запускать .mof экспорт без правильного пространства имен, поскольку он не знает, где найти класс MSFT_SomFilter, экземпляр которого создается:

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

Просто ищите в сети имя класса MSFT_SomFilter принесет вам ссылка на документацию класса в MSDN в котором удобно говорится:

| Namespace |  Root\policy |

Так что просто позвони mofcomp с соответствующим пространством имен и посмотрите, как он работает. Вероятно, вам нужно будет запустить это на своем контроллере домена с правами администратора (т. Е. С повышенными правами).

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!

Обратите внимание, что если фильтр WMI с тем же GUID, что и тот, который определен ID = <GUID> выровнять .mof уже существует, он будет перезаписан. Если GUID еще не используется, будет создан новый фильтр WMI.

В #PRAGMA AUTORECOVER предупреждение здесь не имеет реального значения - никакие новые классы не определяются .mof, поэтому ничего не теряется в случае перестройки репозитория WMI.