Поделиться через


Сведения о MOF-файлах Configuration Manager пользовательских действий

В Configuration Manager действия развертывания операционной системы определяются в MOF-файле %ProgramFiles%\Майкрософт Configuration Manager\bin\i386\_tasksequenceprovider.mof.

При создании настраиваемого действия необходимо создать MOF-файл, объявляющий пользовательское действие. Затем вы используете Mofcomp.exe для добавления изменений в поставщик SMS. Дополнительные сведения см. в статье Создание MOF-файла для пользовательского действия Configuration Manager.

Администратор настраивает настраиваемое действие, как определено в MOF-файле, с помощью пользовательского элемента управления действием. Дополнительные сведения см. в разделе Сведения о пользовательских действиях Configuration Manager.

Содержимое MOF-файла

Настраиваемое действие является производным от класса WMI сервера SMS_TaskSequence_Action. Объявление MOF-файла включает определение класса и различные квалификаторы для командной строки, переменных последовательности задач, категории и расположения сборки пользовательского элемента управления действием.

Свойства, объявленные в классе, за исключением свойств с CommandLineArg квалификатором, доступны в виде переменных последовательности задач во время развертывания клиента. Дополнительные сведения см. в разделе Использование переменных последовательности задач в выполняемой последовательности задач Configuration Manager.

Пространство имен для настраиваемого действия — \\root\SMS_Site_SITECODE. При компиляции MOF-файла настраиваемое действие становится дочерним элементом класса WMI сервера SMS_TaskSequence_Action.

Примечание.

Пример MOF см. в разделе MOF-файл действия последовательности задач, объявленный в _tasksequenceprovider.mof.

Раздел MOF-файла для объявления пользовательского действия будет выглядеть примерно так, как в следующем примере:

[   CommandLine("smsswd.exe /run:%1 Application.exe /user:%2"),  
    VariablePrefix("MyCustomActionPrefix"),  
    ActionCategory("My Custom Action Category,7,1"),  
    ActionName{"ConfigMgrTSAction.dll", "ConfigMgrTSAction.Properties.Resources", "ConfigMgrTSAction"},  
    ActionUI{"ConfigMgrTSAction.dll", "ConfigMgrTSAction","ConfigMgrTSActionControl",   
"ConfigureTSActionOptions"}  
    ]  
class ConfigMgrTSActionControl : SMS_TaskSequence_Action  
{  
    [TaskSequencePackage, CommandLineArg(1)]  
    string          PackageIDForApplicationExe;  

    [Not_Null, CommandLineArg(2)]  
    string          User;  

    [VariableName("CustomLocation")]  
    string          Location;  

};  

Полный MOF также указывает пространство имен и другие сведения.

Полный MOF-файл для этого примера см. в статье Создание MOF-файла для пользовательского действия Configuration Manager.

Командная строка

Командная строка для действия описана в квалификаторе CommandLine класса. Он определяет вызываемое приложение и различные аргументы, которые можно указать. Для каждого аргумента командной CommandLineArg строки существует квалификатор класса для аргумента соответствующего свойства класса.

CommandLine обычно принимает следующий вид:

CommandLine("smsswd.exe /run:%1 Application.exe %2 %3")

Smsswd.exe используется для запуска программы в пакете. Для этого требуются следующие аргументы:

Аргументация Описание
/run:%1 Определяет пакет, в котором находится приложение. %1 — это идентификатор пакета (SMS_Package свойство классаPackageID WMI сервера).
Application.exe Выполняемое приложение пользовательского действия.
%2 - %n Один или несколько аргументов командной строки для Application.exe.

Строки подстановки командной строки , %1, %2 и т. д., определяются квалификатором CommandLineArg класса. Например, следующий объект объявляет %1.

[TaskSequencePackage, CommandLineArg(1)]  
string          PackageIDForApplicationExe;  

В пользовательском элементе управления действием вы используете PackageIDForApplicationExe свойство для настройки идентификатора пакета.

Примечание.

Свойства, объявленные с помощью CommandLineArg квалификатора, недоступны в качестве переменных последовательности задач во время развертывания клиента.

Категория действий

Действие можно связать с определенной категорией в раскрывающемся меню редактора последовательности задач с помощью ActionCategory квалификатора класса.

Примечание.

Не используйте категорию, которая уже используется другим действием.

Синтаксис:

ActionCategory{CategoryName,ActionOrder,CategoryOrder}

CategoryName
Имя категории.

ActionOrder
Порядок действий в категории.

CategoryOrder
Порядок категорий во всех категориях.

По умолчанию Configuration Manager категорий, к которым можно добавить действие, относятся:

  • Общие указания

  • диски;

  • User State

  • изображения;

  • Драйверы

  • Параметры

    Вы также можете создать новую категорию, указав новую категорию в квалификаторе ActionCategory классов. Например, следующий MOF-файл создает новую категорию с именем Моя пользовательская категория. Действие занимает второе место в категории, а категория занимает пятое место в общем.

    ActionCategory{"My Custom Category",2,5"},

ActionName

Квалификатор ActionName класса определяет имя пользовательского элемента управления действием. Квалификатор имеет следующий синтаксис:

ActionName{"Assembly", "Namespace.Properties.Resources", "Control"}

Assembly
Сборка, содержащая элемент управления действием.

Namespace.Properties.Resources
Пространство имен ресурса, содержащего отображаемые строки имени действия. Дополнительные сведения см. в статье Создание Configuration Manager пользовательского элемента управления действиями.

Control
Элемент управления, содержащий строковые ресурсы.

Пользовательский интерфейс action

Квалификатор ActionUI классов определяет расположение сборки и классов, используемых действием. Квалификатор имеет следующий синтаксис:

ActionUI{"Assembly","Namespace", "Control", "Option control"}

Assembly
Сборка, содержащая элемент управления действием.

Namespace
Пространство имен, в котором находится элемент управления действием.

Control
Элемент управления действием, отображаемый в редакторе последовательности задач. На ней размещается страница управления параметром.

Option control
Страница, используемая для управления параметрами действий в редакторе последовательности задач.

Несколько вкладок элементов управления можно реализовать, включив дополнительные имена классов элементов управления, разделенные запятыми. Например:

ActionUI{"Assembly","Namespace", "Control1", "Control2", "Control3", "Option control"}

Переменные действия

Квалификатор VariableName используется для переопределения имени переменной по умолчанию для свойства.

Свойство класса можно определить как переменную последовательности задач, добавив VariableName квалификатор класса. В приведенном выше примере свойство MessageTimeout является переменной действия с именем RebootTimeout.

VariablePrefix Если используется квалификатор класса, переменные префиксируются значением квалификатора класса.

Дополнительные сведения об использовании переменных см. в статье Использование переменных последовательности задач в выполняемой последовательности задач Configuration Manager.

Свойства

Квалификаторы

Существует несколько квалификаторов, которые можно применить к свойствам MOF. Обычно используется следующее:

Квалификатор Описание
CommandLineArg Свойство, которое должно быть вставлено в командную строку.
Not_Null Для этого свойства требуется значение.
ValueMap Задает список допустимых строковых значений.
ValueRange Задает диапазон допустимых значений (поля int).
RequiredIfNull Для этого свойства требуется значение, если другое свойство имеет значение NULL.
TaskSequencePackage Определяет свойство как идентификатор пакета.
Имя_переменной Задает другое имя свойства в среде последовательности задач.
AllowedLen Задает минимальное и максимальное количество символов в строке.
SuccessCodes Указывает один или несколько кодов возврата из исполняемого файла, который указывает на успешное выполнение.

Ограничения

  • К свойствам класса можно применять обычные ограничения квалификатора. Например, в приведенном выше примере аргументы командной строки не могут иметь значение null. Дополнительные сведения см. в статье Пакет SDK инструментария управления Windows (WMI).

  • Убедитесь, что имена свойств и квалификаторы синхронизированы между MOF-файлом, пользовательским элементом управления действием и клиентским приложением. Имена свойств должны совпадать с любыми ограничениями. Например, если int свойство является обязательным и должно находиться в диапазоне от 1 до 512, то MOF-файл должен иметь Not_Null квалификатор и ValueRange , пользовательский элемент управления должен убедиться, что свойство задано и находится в диапазоне, а клиентское приложение должно проверить значение перед его использованием.

См. также

Сведения о пользовательских действиях Configuration Manager
Создание пользовательского элемента управления действием Configuration Manager
Создание MOF-файла для пользовательского действия Configuration Manager
Использование переменных последовательности задач в выполняемой последовательности задач Configuration Manager
Сведения о клиентских приложениях пользовательских действий Configuration Manager