Сведения о 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