Компилятор формата управляемого объекта (MOF) анализирует файл, содержащий инструкции MOF, и добавляет классы и экземпляры класса, определенные в файле, в репозиторий WMI. MOF-файлы обычно компилируются автоматически во время установки систем, с которыми они предоставляются, но вы также можете компилировать MOF-файлы с помощью этого средства.
Добавляет именованный MOF-файл в список файлов, скомпилированных во время восстановления репозитория. Список MOF-файлов с автоматическим восстановлением хранится в разделе реестра:
MOF-файлы, перечисленные в этой записи реестра, должны находиться на локальном компьютере, так как MOF-файлы, использующие команду автовосстановки , не могут восстановить MOF-файлы, расположенные на удаленном компьютере.
Запрашивает, чтобы компилятор выполнял синтаксический проверка только и выводил соответствующие сообщения об ошибках. С этим коммутатором нельзя использовать другие параметры. При использовании этого параметра подключение к инструментарию управления Windows (WMI) не устанавливается, и изменения репозитория WMI не вносятся.
-N:<namespacepath>
Запрашивает, чтобы компилятор загрузил MOF-файл в пространство имен, указанное как *namespacepath*. Скомпилированный MOF-файл загружается в пространство имен Mofcomp по умолчанию root\\default, если этот параметр не используется. Вы также можете вставить команду препроцессора **\#pragma пространстве имен ("***путь к пространству имен***")** в MOF-файл, чтобы добиться того же результата. Если используются параметр **-N:** и команда \#pragma namespace , приоритет имеет \#**pragma namespace** **autorecover**. В этом случае единственным способом компиляции MOF-файла в другое пространство имен является изменение MOF-файла и изменение команды \#**pragma namespace**. Удаленный компьютер можно указать с помощью \\\\имя_компьютера\\root\\default.
-class:createonly
Запрашивает, чтобы компилятор не внося изменения в существующие классы. При использовании этого параметра операция компиляции завершается, если класс, указанный в MOF-файле, уже существует.
-class:forceupdate
Принудительно обновляет классы при наличии конфликтующих дочерних классов. Например, предположим, что квалификатор класса определен в дочернем классе, а базовый класс пытается добавить тот же квалификатор. В режиме -class:forceupdate компилятор MOF разрешает этот конфликт путем удаления конфликтующего квалификатора в дочернем классе. Если дочерний класс содержит экземпляры, принудительное обновление завершается ошибкой.
-class:safeupdate
Позволяет обновлять классы даже при наличии дочерних классов, если изменение не вызывает конфликтов с дочерними классами. Например, этот флаг позволяет добавить новое свойство в базовый класс, который ранее не упоминался в дочерних классах. Если дочерние классы имеют экземпляры, обновление завершается ошибкой.
-class:updateonly
Запрашивает, чтобы компилятор не создавал новые классы. При использовании этого параметра операция компиляции завершается, если класс, указанный в MOF-файле, не существует.
-instance:updateonly
Запрашивает, чтобы компилятор не создавал новые экземпляры. При использовании этого параметра операция компиляции завершается, если экземпляр, указанный в MOF-файле, не существует.
-instance:createonly
Запрашивает, чтобы компилятор не внося изменения в существующие экземпляры. При использовании этого параметра операция компиляции завершается, если экземпляр, указанный в MOF-файле, уже существует.
-B:<filename>
Запрашивает, чтобы компилятор создавал двоичную версию MOF-файла с именем файла без внесения изменений в репозиторий WMI.
При использовании параметра -B:<filename> для создания двоичного MOF-файла в репозитории WMI будут храниться только стандартные варианты квалификатора.
Двоичный формат MOF — это промежуточный формат для объединения WDM-драйвера с MOF в качестве ресурса. Двоичный MOF-файл представляет классы и экземпляры точно так же, как текстовый MOF-файл, и сжимается перед сохранением на диске.
-WMI
Запрашивает, чтобы компилятор выполнил синтаксическую проверка WMI. С этим параметром необходимо использовать параметр -B : . Параметр -WMI используется только для создания двоичных MOF-файлов для использования драйверами устройств WDM. Этот параметр вызывает отдельное средство проверки двоичного MOF-файла, которое запускается после создания двоичного MOF-файла.
-P:<Password>
Указывает пароль в качестве пароля, который пользователь компьютера вводит при входе в систему.
-U:<UserName>
Указывает UserName в качестве имени пользователя, который входит в систему.
-A:<Authority>
Указывает Authority в качестве центра (доменного имени), используемого при входе в WMI.
-MOF:<path>
Имя выходных данных, не зависящих от языка. Используется с параметром -AMENDMENT , чтобы указать имя moF-файла, не зависящий от языка, который будет создан.
-MFL:<path>
Имя выходных данных для конкретного языка. Используется с параметром -AMENDMENT для указания имени создаваемого MOF-файла для конкретного языка.
-AMENDMENT:<Locale>
Разбивает MOF-файл на версии, не зависящие от языка и зависящие от языка. Компилятор MOF создает не зависящий от языка формат MOF-файла, в который удалены все измененные квалификаторы. Локализованная версия MOF-файла также создается с расширением имени файла MFL. Параметр Locale указывает имя дочернего пространства имен, которое содержит определения локализованных классов. Формат параметра Locale — MS_xxx где xxx — шестнадцатеричное значение идентификатора языка Windows. Например, языковой стандарт для американского английского языка MS_409.
-ER <ResourceName>
Извлекает двоичный MOF-файл из именованного ресурса. Этот параметр получает двоичный MOF-файл из класса в репозитории WMI, а параметр -B создает двоичный формат MOF из MOF-файла.
-L:<ResourceLocale>
Необязательный элемент. Извлекает локализованные описания MOF из двоичного MOF-файла при использовании с параметром -ER.
<
MOFfile>
Имя файла для анализа.
Возвращаемые значения
В качестве первой операции компилятор MOF выполняет синтаксическую проверка в MOF-файле. Если компилятор обнаруживает какие-либо ошибки, он выводит сообщение об ошибке и процесс завершается.
Компилятор MOF может возвращать следующие значения:
0
Операция компиляции MOF прошла успешно.
1
Компилятору MOF не удалось подключиться к серверу WMI. Это происходит из-за семантической ошибки, такой как несовместимость с существующим репозиторием WMI, или фактической ошибки, такой как сбой запуска сервера WMI.
2
Один или несколько параметров командной строки были недопустимыми.
3
Произошла синтаксическая ошибка MOF.
Если MOF-файл анализируется правильно, но предпринимается попытка выполнить операцию, которая запрещена параметром командной строки, компилятор возвращает код ошибки, созданный WMI, вместо любого из кодов возврата, перечисленных в списке выше. Например, код ошибки WMI возвращается, если указан параметр -instance:updateonly и MOF-файл пытается создать экземпляр.
WARNING: FileYourMof.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.
Комментарии
Компилятор MOF доступен в каталоге %Windir%\System32\wbem. MoF-файл необходимо указать в качестве параметра компилятора MOF. Вы также можете указать параметр Автовосстановления, если требуется, чтобы MOF-файл автоматически перекомпилировался, если репозиторий CIM когда-либо должен быть автоматически восстановлен. Для получения дополнительных сведений введите Mofcomp /? в командной строке.
MOF-файл, использующий кодировку Юникода, содержит сигнатуру в качестве первых двух байтов файла. Эта сигнатура имеет значение U+FFFE или U+FEFF в зависимости от порядка байтов файла.
Если в процессе синтаксического анализа не возникает ошибок, MOF-компилятор подключается к серверу WMI, запущенному на локальном компьютере, если не указан параметр -проверка. Классы и экземпляры, определенные в MOF-файле, добавляются в репозиторий WMI.
При возникновении ошибки при обновлении репозитория WMI компилятор не пытается вернуть репозиторий в его состояние до начала обработки компилятором.
Windows 8. При установке поставщика mofcomp обрабатывает квалификаторы [Key] и [Static] как true, если они присутствуют, независимо от их фактических значений. Другие квалификаторы обрабатываются как false, если они присутствуют, но не имеют явного значения true.
В этом модуле описывается использование CIM и инструментария WMI для внесения изменений с помощью методов. Доступные методы различаются в зависимости от типа объекта. Выявление и понимание этих методов необходимо для запрашивания сведений о репозитории и управления ими.