Acerca de Configuration Manager archivos MOF de acción personalizada

En Configuration Manager, las acciones de implementación del sistema operativo se definen en el archivo formato de objeto administrado (MOF), %ProgramFiles%\Microsoft Configuration Manager\bin\i386\_tasksequenceprovider.mof.

Al crear una acción personalizada, debe crear un archivo MOF que declare la acción personalizada. A continuación, use Mofcomp.exe para agregar los cambios al proveedor de SMS. Para obtener más información, vea How to Create a MOF File for a Configuration Manager Custom Action(Cómo crear un archivo MOF para una acción personalizada de Configuration Manager).

El administrador configura la acción personalizada, tal como se define en el archivo MOF, mediante un control de acción personalizado. Para obtener más información, vea Acerca de Configuration Manager acciones personalizadas.

Contenido del archivo MOF

Una acción personalizada deriva de SMS_TaskSequence_Action clase WMI de servidor. La declaración de archivo MOF incluye una definición de clase y varios calificadores para la línea de comandos, las variables de secuencia de tareas, la categoría y la ubicación del ensamblado de control de acción personalizado.

Las propiedades declaradas en una clase, excepto aquellas con el CommandLineArg calificador, están disponibles como variables de secuencia de tareas durante la implementación del cliente. Para obtener más información, vea How to Use Task Sequence Variables in a Running Configuration Manager Task Sequence.

El espacio de nombres de la acción personalizada es \\root\SMS_Site_SITECODE. Cuando se compila el archivo MOF, la acción personalizada se convierte en un elemento secundario de SMS_TaskSequence_Action clase WMI de servidor.

Nota:

Para obtener un MOF de ejemplo, vea la acción de secuencia de tareas MOF que se declara en _tasksequenceprovider.mof.

La sección del archivo MOF de la declaración de acción personalizada tendrá un aspecto similar al siguiente ejemplo:

[   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;  

};  

El MOF completo también especifica el espacio de nombres y otra información,

Para obtener el MOF completo de este ejemplo, vea How to Create a MOF File for a Configuration Manager Custom Action (Cómo crear un archivo MOF para una acción personalizada de Configuration Manager).

Línea de comandos

La línea de comandos de la acción se describe en el calificador de CommandLine clase. Define la aplicación a la que se llama y los distintos argumentos que se pueden proporcionar. Para cada argumento de línea de comandos, hay un CommandLineArg calificador de clase para el argumento en la propiedad de clase correspondiente.

CommandLine normalmente adopta la forma siguiente:

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

Smsswd.exe se usa para ejecutar un programa dentro de un paquete. Requiere los argumentos siguientes:

Argumento Descripción
/run:%1 Identifica el paquete en el que se encuentra la aplicación. %1 es el identificador del paquete (SMS_Package propiedad clasePackageID WMI de servidor).
Application.exe La aplicación de acción personalizada que se realiza.
%2 - %n Uno o varios argumentos de línea de comandos para Application.exe.

Las cadenas de sustitución de línea de comandos, %1, %2, etc., se definen mediante el calificador de CommandLineArg clase. Por ejemplo, el siguiente declara %1.

[TaskSequencePackage, CommandLineArg(1)]  
string          PackageIDForApplicationExe;  

Con el control de acción personalizado, se usa la PackageIDForApplicationExe propiedad para configurar el identificador del paquete.

Nota:

Las propiedades declaradas con el CommandLineArg calificador no están disponibles como variables de secuencia de tareas durante la implementación del cliente.

Categoría de acción

Una acción se puede asociar a una categoría específica, en el menú desplegable del editor de secuencia de tareas, mediante el calificador de ActionCategory clase.

Nota:

No use una categoría que ya esté en uso por otra acción.

La sintaxis es:

ActionCategory{CategoryName,ActionOrder,CategoryOrder}

CategoryName
Nombre de la categoría.

ActionOrder
Orden de acción dentro de la categoría.

CategoryOrder
Orden de categorías dentro de todas las categorías.

Las categorías de Configuration Manager predeterminadas a las que puede agregar una acción son:

  • General

  • Discos

  • Estado de usuario

  • Imágenes

  • Controladores

  • Configuración

    También puede crear una nueva categoría especificando una nueva categoría en el ActionCategory calificador de clase. Por ejemplo, el siguiente archivo MOF crea una nueva categoría denominada Mi categoría personalizada. La acción se coloca en segundo lugar dentro de la categoría y la categoría se coloca en quinto lugar general.

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

ActionName

El ActionName calificador de clase define el nombre del control de acción personalizado. El calificador tiene la sintaxis siguiente:

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

Assembly
Ensamblado que contiene el control de acción.

Namespace.Properties.Resources
Espacio de nombres del recurso que contiene las cadenas de nombre de acción mostradas. Para obtener más información, vea How to Create a Configuration Manager Custom Action Control.

Control
Control que contiene los recursos de cadena.

Interfaz de usuario de acción

El ActionUI calificador de clase define la ubicación del ensamblado y las clases que usa una acción. El calificador tiene la sintaxis siguiente:

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

Assembly
Ensamblado que contiene el control de acción.

Namespace
Espacio de nombres en el que reside el control de acción.

Control
Control de acción que se muestra en el editor de secuencia de tareas. Hospeda la página de control de opciones.

Option control
Página usada para administrar las opciones de acción, en el editor de secuencia de tareas.

Se pueden implementar varias pestañas de control mediante la inclusión de más nombres de clase de control separados por comas. Por ejemplo:

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

Variables de acción

El VariableName calificador se usa para invalidar el nombre de variable predeterminado de una propiedad.

Una propiedad de clase se puede definir como una variable de secuencia de tareas agregando el calificador de VariableName clase. En el ejemplo anterior, la propiedad MessageTimeout es una variable de acción con el nombre RebootTimeout.

Si se usa el VariablePrefix calificador de clase, las variables tienen como prefijo el valor de calificador de clase.

Para obtener más información sobre el uso de variables, vea How to Use Task Sequence Variables in a Running Configuration Manager Task Sequence (Cómo usar variables de secuencia de tareas en una secuencia de tareas en ejecución Configuration Manager).

Propiedades

Calificadores

Hay varios calificadores que se pueden aplicar a las propiedades MOF. Se suelen usar los siguientes elementos:

Calificador Descripción
CommandLineArg Propiedad que se debe insertar en la línea de comandos
Not_Null Se requiere un valor para esta propiedad.
ValueMap Especifica una lista de valores de cadena permitidos.
ValueRange Especifica un intervalo de valores permitidos (campos int).
RequiredIfNull Se requiere un valor para esta propiedad si otra propiedad es null.
TaskSequencePackage Identifica una propiedad como un identificador de paquete.
VariableName Especifica un nombre diferente para la propiedad en el entorno de secuencia de tareas.
AllowedLen Especifica el número mínimo y máximo de caracteres de una cadena.
SuccessCodes Especifica uno o varios código devuelto del ejecutable que indica que se ha realizado correctamente.

Restricciones

  • Las restricciones de calificador normal se pueden aplicar a las propiedades de clase. Por ejemplo, en el ejemplo anterior, los argumentos de la línea de comandos no pueden ser null. Para obtener más información, consulte el SDK de Instrumental de administración de Windows (WMI).

  • Asegúrese de que los nombres de propiedad y los calificadores están sincronizados entre el archivo MOF, el control de acción personalizado y la aplicación cliente. Los nombres de propiedad deben coincidir, así como las limitaciones. Por ejemplo, si se requiere una int propiedad y debe estar en el intervalo 1 a 512, el archivo MOF debe tener un Not_Null calificador y ValueRange , el control personalizado debe asegurarse de que la propiedad está establecida y dentro del intervalo, y la aplicación cliente debe comprobar el valor antes de usarlo.

Consulta también

Acerca de Configuration Manager acciones personalizadas
Cómo crear un control de acción personalizada de Configuration Manager
Cómo crear un archivo MOF para una acción personalizada Configuration Manager
Uso de variables de secuencia de tareas en una secuencia de tareas en ejecución Configuration Manager
Acerca de Configuration Manager aplicaciones cliente de acciones personalizadas