Cómo crear un control de acción personalizada de Configuration Manager

En Configuration Manager, para crear un control de acción personalizado, cree un control de Windows mediante las dos clases siguientes:

Clase Descripción
SmsOsdEditorPageControl Control de acción personalizado. Deriva de esta clase para implementar el control de acción personalizado que se muestra en el Editor de secuencia de tareas.
TaskSequenceOptionControl Control de opciones para la acción personalizada. Deriva de esta clase para crear la página de opciones de acción personalizada que se muestra en el Editor de secuencia de tareas.

Estos procedimientos muestran cómo crear un ensamblado de control de implementación del sistema operativo Configuration Manager mediante Visual Studio 2005. Cuando se carga en el Editor de secuencia de tareas, el control muestra una página de propiedades que contiene un cuadro de texto que se usa para establecer una variable de acción de nombre de usuario para la acción personalizada.

Una vez completados estos pasos, realice los pasos descritos en los temas siguientes para crear el archivo de formato de objeto administrado por acción personalizada (MOF) y usar el control de acción personalizada.

Cómo crear un archivo MOF para una acción personalizada Configuration Manager

Uso de una acción personalizada de Configuration Manager

Nota:

Para obtener información sobre cómo usar la acción personalizada como parte de una implementación, consulte Acerca de Configuration Manager aplicaciones cliente de acciones personalizadas

Control de proyecto de Visual Studio

El siguiente procedimiento crea el proyecto de control de acción personalizado.

Creación del control

  1. En Visual Studio 2010, en el menú Archivo , seleccione Nuevoy, a continuación, haga clic en Proyecto para abrir el cuadro de diálogo Nuevo proyecto .

  2. En la lista de proyectos de Visual C#, Windows , seleccione la plantilla de proyecto Biblioteca de controles de Windows y ConfigMgrTSAction escriba el cuadro Nombre .

  3. Haga clic en Aceptar para crear el proyecto de Visual Studio.

  4. En Explorador de soluciones, haga clic con el botón derecho en UserControl1.cs, haga clic en Cambiar nombrey, a continuación, cambie el nombre a ConfigMgrTSActionControl.cs.

  5. En el Explorador de soluciones, haga clic con el botón secundario en Referencias y, a continuación, haga clic en Agregar referencia.

  6. En el cuadro de diálogo Agregar referencia, haga clic en la pestaña Examinar, vaya a %ProgramFiles%\Microsoft Configuration Manager\AdminUI\bin y, a continuación, seleccione los siguientes ensamblados:

    • Adminui.osdcommon.dll

    • Adminui.tasksequenceeditor.dll

    • Adminui.wqlqueryengine.dll

    • Microsoft.configurationmanagement.exe

    • Microsoft.configurationmanagement.managementprovider.dll

  7. Haga clic en Aceptar para agregar los ensamblados como referencias de proyecto.

  8. En Explorador de soluciones, haga clic con el botón derecho en ConfigMgrTSActionControl.cs y, a continuación, haga clic en Ver código.

  9. Agregue el código siguiente para incluir los espacios de nombres necesarios:

    using Microsoft.ConfigurationManagement.AdminConsole;  
    using Microsoft.ConfigurationManagement.AdminConsole.TaskSequenceEditor;  
    
  10. Cambie la clase ConfigMgrTSActionControl para que se derive de SmsOsdEditorPageControl.

  11. En ConfigMgrTSActionControl.cs, agregue el siguiente constructor nuevo a la clase ConfigMgrTSActionControl :

    public ConfigMgrTSActionControl(SmsPageData data) : base(data)   
    {   
        InitializeComponent();   
    }  
    
  12. Agregue el siguiente método para inicializar el control:

    public override void InitializePageControl()  
    {  
       base.InitializePageControl();  
    }  
    

Crear un control de opciones

El procedimiento siguiente crea el código que declara el control de opciones para la acción personalizada. Esta implementación usa el control de opciones predeterminado.

Para crear un control de opciones

  • Al final de ConfigMgrTSActionControl.cs , agregue la siguiente clase nueva en el espacio de nombres ConfigMgrTSAction :

    public class ConfigureTSActionOptions : TaskSequenceOptionControl  
    {  
        public ConfigureTSActionOptions() : base()   
        {  
        }  
        public ConfigureTSActionOptions(SmsPageData data) : base(data)   
        {  
        }  
    }  
    
    

Personalización de la interfaz de usuario

El procedimiento siguiente agrega un cuadro de texto y un código para administrar los datos de acción.

Para agregar la interfaz de usuario

  1. En Explorador de soluciones, haga clic con el botón derecho en ConfigMgrTSActionControl.cs y, a continuación, haga clic en Diseñador de vistas.

  2. En el Cuadro de herramientas, haga clic en la pestaña Controles comunes y, a continuación, haga doble clic en Cuadro de texto. Se agrega un botón denominado textBox1 al control en el Diseñador de controles de usuario.

  3. Haga doble clic en el cuadro de texto. Se agrega un controlador de eventos denominado textBox1_TextChanged a la clase ConfigMgrTSActionControl. Agregue el código siguiente para asegurarse de que los cambios se guardan en el administrador de propiedades de la acción:

    SetDirtyFlag(true);  
    
  4. En la clase ConfigMgrTSActionControl, agregue el siguiente método para escribir el valor del cuadro de texto en la User propiedad definida en la acción personalizada MOF. Esto se llama cuando se hace clic en el botón Aceptar o Aplicar .

    protected override bool ApplyChanges(out Control errorControl, out bool showError)  
    {  
        // You can check the error here and return false.  
        if (this.HasError(out errorControl) == true)  
        {  
            this.ShowMessageBox(  
                this.GetErrorString(),  
                "Error",  
                MessageBoxButtons.OK,  
                MessageBoxIcon.Warning);  
            errorControl = null;  
            showError = true;  
            return false;  
        }  
        this.PropertyManager["User"].StringValue = textBox1.Text;  
    
        return base.ApplyChanges(out errorControl, out showError);  
    }  
    
  5. En la vista de diseño del control, haga doble clic en el control para crear el método ConfigMgrTSActionControl_Load.

  6. Agregue el código siguiente al método . Este código carga el cuadro de texto con un valor user existente. Esto sucede cuando la acción de secuencia de tareas se edita después de crearla.

    textBox1.Text = this.PropertyManager["User"].StringValue;  
    

Cadenas de recursos

En el procedimiento siguiente se agregan las cadenas de recursos que se usan para mostrar el nombre de la acción personalizada en el Editor de secuencia de tareas.

Para agregar cadenas de recursos

  1. En Explorador de soluciones, en el menú Proyecto, haga clic en Propiedades.

  2. Haga clic en la pestaña Recursos . Si el archivo de recursos no existe, creelo seleccionando el mensaje que se muestra en la pestaña Recursos .

  3. En la barra de herramientas del Diseñador de recursos, seleccione la lista desplegable vista de recursos, haga clic en la flecha y asegúrese de que está establecida en Cadenas (que es el valor predeterminado). Aparece una cuadrícula de configuración que muestra las cadenas que mantiene esa instancia del Diseñador de recursos.

  4. Haga clic en la columna Nombre de la última fila de la cuadrícula, que está marcada con un asterisco (*).

  5. En la columna Nombre , escriba DefaultDisplay_ConfigMgrTSAction como nombre de cadena.

  6. En la columna Valor , escriba la cadena Acción personalizada. Esta es la cadena que se muestra en la lista de acciones de secuencia de tareas.

  7. Haga clic en la columna Nombre de la última fila de la cuadrícula, que está marcada con un asterisco (*).

  8. En la columna Nombre , escriba ConfigMgrTSAction como nombre de cadena.

  9. En la columna Valor , escriba Custom Action. Esta es la cadena que se muestra al agregar la acción personalizada.

Implementación del ensamblado

Este procedimiento compila y copia el ensamblado que ha creado en la carpeta de ensamblados de consola de Configuration Manager. Para obtener información importante sobre la implementación de extensiones de consola de Configuration Manager, consulte Acerca de Configuration Manager Implementación de extensiones de consola de administrador.

Para implementar el ensamblado

  1. Cree el proyecto. Visual Studio crea el ensamblado como \Visual Studio 2005\Projects\ConfigMgrControl\ConfigMgrTSAction\bin\Debug\ConfigMgrTSActionControl.dll.

  2. Copie el ensamblado en la carpeta %ProgramFiles%\Microsoft Configuration Manager\AdminUI\bin.

Consulta también

Acerca de Configuration Manager extensión de consola
Implementación de la extensión de consola de Configuration Manager
Cómo crear un archivo MOF para una acción personalizada Configuration Manager
Uso de una acción personalizada de Configuration Manager