Clase WMI de servidor SMS_Program

La SMS_Program clase Instrumental de administración de Windows (WMI) es una clase de servidor de proveedor de SMS, en Configuration Manager, que representa un programa o comando que se ejecuta cuando se distribuye software a un equipo cliente.

La sintaxis siguiente se simplifica a partir del código de formato de objeto administrado (MOF) e incluye todas las propiedades heredadas.

Sintaxis

Class SMS_Program : SMS_BaseClass
{
     UInt32 ActionInProgress;
     String ApplicationHierarchy;
     String CommandLine;
     String Comment;
     String DependentProgram;
     String Description;
     UInt32 DeviceFlags;
     String DiskSpaceReq;
     String DriveLetter;
     UInt32 Duration;
     UInt8 ExtendedData[];
     UInt32 ExtendedDataSize;
     UInt8 Icon[];
     UInt32 IconSize;
     UInt8 ISVData[];
     UInt32 ISVDataSize;
     String ISVString;
     String MSIFilePath
     String MSIProductID
     String PackageID;
     String PackageName
     UInt32 PackageType
     String PackageVersion
     UInt32 ProgramFlags;
     String ProgramName;
     String RemovalKey;
     String Requirements;
     UInt32 SecuredTypeID
     SMS_OS_Details SupportedOperatingSystems[];
     UInt32   TransformReadiness=0;
     Datetime TransformAnalysisDate;
     String   TransformDtID;
     String WorkingDirectory;
};

Métodos

La SMS_Program clase no define ningún método.

Propiedades

ActionInProgress Tipo de datos: UInt32

Tipo de acceso: solo lectura

Calificadores: [lectura, enumeración]

Acción actual que Configuration Manager está realizando en el paquete asociado al programa. Los posibles valores son:

Valor Descripción
0 NINGUNO
1 UPDATE
2 AGREGAR
3 DELETE

Use esta propiedad en una cláusula WHERE para filtrar los programas que se han marcado para su eliminación pero que aún no se han eliminado. Para obtener más información, vea la sección Comentarios más adelante en este tema.

ApplicationHierarchy Tipo de datos: String

Tipo de acceso: Lectura y escritura

Clasificatorios: ninguno

Jerarquía de aplicaciones del programa. El valor predeterminado es "".

CommandLine Tipo de datos: String

Tipo de acceso: Lectura y escritura

Clasificatorios: ninguno

Línea de comandos que se ejecuta cuando se inicia el programa. El valor predeterminado es "".

Comment Tipo de datos: String

Tipo de acceso: Lectura y escritura

Clasificatorios: ninguno

Comentario que describe el programa en la consola de Configuration Manager. El valor predeterminado es "".

DependentProgram Tipo de datos: String

Tipo de acceso: Lectura y escritura

Clasificatorios: ninguno

Cadena de texto con formato que define cualquier programa que se debe ejecutar antes de ejecutar este programa. El formato se define como <PackageID;>;<ProgramName>. Si el programa está en el mismo paquete, la aplicación que llama puede simplemente especificar ;;<ProgramName>. El valor predeterminado es "".

La dependencia se mantiene solo la primera vez que se ejecuta el programa. Una vez ejecutado el programa, se omite la dependencia. Por ejemplo, no puede crear un trabajo programado periódico para el que se mantenga la dependencia para cada ejecución de programa.

Description Tipo de datos: String

Tipo de acceso: Lectura y escritura

Clasificatorios: ninguno

No se usa.

DeviceFlags Tipo de datos: UInt32

Tipo de acceso: Lectura y escritura

Clasificatorios: ninguno

Marcas que describen el dispositivo asociado al programa. Los posibles valores son:

Hexadecimal (bits) Descripción
0x01000000 (24) Asigne siempre un programa al cliente.
0x02000000 (25) Asignar solo si el dispositivo está conectado actualmente a una conexión de ancho de banda alto (valor predeterminado superior a 60 KBps).
0x04000000 (26) Asigne solo si el dispositivo está acoplado, es decir, está conectado a un escritorio que usa ActiveSync.

DiskSpaceReq Tipo de datos: String

Tipo de acceso: Lectura y escritura

Clasificatorios: ninguno

Espacio en disco aproximado que requiere el programa. El formato es "<tamaño><KB|MB|Gran Bretaña>". El valor predeterminado es "".

Esta información se usa en la consola de Configuration Manager y en el anuncio para proporcionar alertas sobre los requisitos de espacio en disco del programa. Después, el usuario puede decidir aceptar el anuncio o realizar primero alguna tarea de administración de discos.

DriveLetter Tipo de datos: String

Tipo de acceso: Lectura y escritura

Calificadores: [SizeLimit("1"), Range("a-z")]

Letra de unidad (un carácter en el rango a-z) que el programa asigna y desde el que se ejecuta. El valor predeterminado es "".

Duration Tipo de datos: UInt32

Tipo de acceso: Lectura y escritura

Clasificatorios: ninguno

La duración aproximada, en minutos, de la ejecución del programa en el equipo cliente. Especifique este valor como un número entero mayor o igual que 0 (predeterminado) o como Desconocido (no recomendado). Si la propiedad se establece en Desconocido, Configuration Manager establece el tiempo máximo de ejecución permitido en 720 minutos (12 horas). Para obtener más información, vea la sección Comentarios más adelante en este tema.

Nota:

En los equipos cliente, el valor especificado para los programas publicados aparece en Run Advertised Programs el Panel de control.

ExtendedData Tipo de datos: UInt8 matriz

Tipo de acceso: Lectura y escritura

Calificadores: [grande, perezoso]

El blob XML para la implementación de imágenes.

ExtendedDataSize Tipo de datos: UInt32

Tipo de acceso: Lectura y escritura

Calificadores: [perezoso]

El tamaño de datos extendidos, en bytes. El valor predeterminado es 0.

Icon Tipo de datos: UInt8 matriz

Tipo de acceso: Lectura y escritura

Clasificatorios: [grande]

Información del icono asociada con el icono del programa, tal como se muestra en la consola de Configuration Manager.

IconSize Tipo de datos: UInt32

Tipo de acceso: Lectura y escritura

Calificadores: [perezoso]

Tamaño (en bytes) del icono del programa. Establezca esta propiedad en 0 para borrar el icono.

ISVData Tipo de datos: UInt8 matriz

Tipo de acceso: Lectura y escritura

Calificadores: [grande, perezoso]

Información que permite a un único ISV almacenar datos relacionados con un SMS_Program objeto.

No hay restricciones ni formatos definidos para los datos de ISV. Sin embargo, es importante no sobrescribir la propiedad después de que se haya establecido la propiedad del ISV. La aplicación debe leer primero los datos existentes en esta propiedad. Si los datos no pertenecen a la aplicación, no deben modificarse. Debe incluir un identificador en los datos del programa para que se pueda establecer fácilmente la propiedad.

ISVDataSize Tipo de datos: UInt32

Tipo de acceso: Lectura y escritura

Calificadores: [perezoso]

El tamaño, en bytes, de los datos almacenados en ISVData. El valor predeterminado es 0.

ISVString Tipo de datos: String

Tipo de acceso: Lectura y escritura

Clasificatorios: ninguno

Cadena para extensibilidad de asociados.

MSIFilePath Tipo de datos: String

Tipo de acceso: Lectura y escritura

Clasificatorios: ninguno

La ruta de acceso al archivo del paquete de Windows Installer con el que está asociado el programa. El valor predeterminado es "".

MSIProductID Tipo de datos: String

Tipo de acceso: Lectura y escritura

Clasificatorios: ninguno

El identificador de producto del paquete de Windows Installer al que está asociado el programa. El valor predeterminado es "".

PackageID Tipo de datos: String

Tipo de acceso: Lectura y escritura

Calificadores: [key, Not_null]

Identificador de un paquete existente al que asociar el programa. Para obtener más información, vea la sección Comentarios más adelante en este tema.

PackageName Tipo de datos: String

Tipo de acceso: Lectura y escritura

Clasificatorios: [Ninguno]

Nombre del paquete al que pertenece el programa.

PackageType Tipo de datos: String

Tipo de acceso: Lectura y escritura

Clasificatorios: [Ninguno]

El tipo de paquete al que pertenece el programa.

Valor Descripción
0 Paquete de distribución de software normal.
3 Paquete de controladores.
4 Paquete de secuencia de tareas.
5 Paquete de actualización de software.
6 Paquete de configuración de dispositivos.
257 Paquete de imágenes.
258 Paquete de imágenes de arranque.
259 Paquete de instalación del sistema operativo.

PackageVersion Tipo de datos: String

Tipo de acceso: Lectura y escritura

Clasificatorios: [Ninguno]

La versión del paquete al que pertenece el programa.

ProgramFlags Tipo de datos: UInt32

Tipo de acceso: Lectura y escritura

Calificadores: [bits]

Marcas que identifican las características de instalación del programa. Los valores posibles se enumeran a continuación. Los valores predeterminados son EVERYUSER, USEUNCPATH, USERCONTEXT y UNATTENDED.

Nota:

Al usar SMS_Program mediante programación, asegúrese de que no hay valores en conflicto. Por ejemplo, NOUSERLOGGEDIN y USERCONTEXT no deben usarse juntos.

Los posibles valores son:

Hexadecimal (bits) Descripción
0x00000001 (0) AUTHORIZED_DYNAMIC_INSTALL. El programa está autorizado para la instalación dinámica.
0x00000002 (1) USECUSTOMPROGRESSMSG. La secuencia de tareas muestra un mensaje de interfaz de usuario de progreso personalizado.
0x00000010 (4) DEFAULT_PROGRAM. Este es un programa predeterminado
0x00000020 (5) DISABLEMOMALERTONRUNNING. Deshabilita las alertas MOM mientras se ejecuta el programa.
0x00000040 (6) MOMALERTONFAIL. Genera una alerta MOM si se produce un error en el programa.
0x00000080 (7) RUN_DEPENDANT_ALWAYS. Si se establece, el dependiente inmediato de este programa siempre debe ejecutarse.
0x00000100 (8) WINDOWS_CE. Indica un programa de dispositivo. Si se establece, el programa no se ofrece a los clientes de escritorio.
0x00000200 (9) Este valor no se usa.
0x00000400 (10) CUENTA REGRESIVA. No se muestra el cuadro de diálogo de cuenta atrás.
0x00000800 (11) FORCERERUN. Este valor no se usa.
0x00001000 (12) DESHABILITADO. El programa está deshabilitado.
0x00002000 (13) DESATENDIDO. El programa no requiere interacción del usuario.
0x00004000 (14) USERCONTEXT. El programa solo se puede ejecutar cuando un usuario haya iniciado sesión.
0x00008000 (15) DERECHOS DE ADMINISTRADOR. El programa debe ejecutarse como la cuenta de administrador local.
0x00010000 (16) CADA USUARIO. El programa debe ser ejecutado por todos los usuarios para los que es válido. Válido solo para trabajos obligatorios.
0x00020000 (17) NOUSERLOGGEDIN. El programa solo se ejecuta cuando ningún usuario ha iniciado sesión.
0x00040000 (18) OKTOQUIT. El programa reiniciará el equipo.
0x00080000 (19) OKTOREBOOT. Configuration Manager reinicia el equipo cuando el programa termina de ejecutarse correctamente.
0x00100000 (20) USEUNCPATH. Use una ruta UNC (sin letra de unidad) para acceder al punto de distribución.
0x00200000 (21) PERSISTCONNECTION. Conserva la conexión a la unidad especificada en la propiedad DriveLetter. La marca de bit USEUNCPATH no debe establecerse.
0x00400000 (22) RUNMINIMIZED. Ejecutar el programa como una ventana minimizada.
0x00800000 (23) RUNMAXIMIZED. Ejecutar el programa como una ventana maximizada.
x01000000 (24) HIDEWINDOW. Ocultar la ventana del programa.
0x02000000 (25) OKTOLOGOFF. Cerrar la sesión del usuario cuando el programa se completa correctamente.
0x04000000 (26) RUNACCOUNT. Este valor no se usa.
0x08000000 (27) ANY_PLATFORM. Comprobación de invalidación de compatibilidad con la plataforma.
0x10000000 (28) STILL_RUNNING. Este valor no se usa.
0x20000000 (29) SUPPORT_UNINSTALL. Ejecutar la desinstalación desde la clave del registro cuando expire el anuncio.
0x40000000 (30) La plataforma no es compatible.
0x80000000 (31) SHOW_IN_ARP. Este valor no se usa.

ProgramName Tipo de datos: String

Tipo de acceso: Lectura y escritura

Calificadores: [key, Not_null]

Nombre único que representa este programa.

RemovalKey Tipo de datos: String

Tipo de acceso: Lectura y escritura

Clasificatorios: ninguno

Clave del registro que identifica la secuencia de comandos de desinstalación para el programa. El script debe residir en la ruta del HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall Registro. El valor predeterminado es "".

Requirements Tipo de datos: String

Tipo de acceso: Lectura y escritura

Clasificatorios: ninguno

Descripción de los requisitos extras del programa. El valor predeterminado es "".

SecuredTypeID Tipo de datos: UInt32

Tipo de acceso: Lectura y escritura

Clasificatorios: [Ninguno]

Tipo seguro de paquete relacionado.

SupportedOperatingSystems Tipo de datos: SMS_OS_Details matriz

Tipo de acceso: Lectura y escritura

Calificadores: [perezoso]

SMS_OS_Details Objetos de clase WMI de servidor que representan los sistemas operativos en los que se puede ejecutar el programa.

Si no especifica ANY_PLATFORM en la ProgramFlags propiedad, debe especificar uno o varios sistemas operativos compatibles. SMS_SupportedPlatforms clase WMI de servidor define la lista de plataformas que Configuration Manager admite.

TransformAnalysisDate Tipo de datos: DateTime

Tipo de acceso: Lectura y escritura

Clasificatorios: [Ninguno]

Únicamente para uso interno.

TransformDtID Tipo de datos: String

Tipo de acceso: Lectura y escritura

Clasificatorios: [Ninguno]

Únicamente para uso interno.

TransformReadiness Tipo de datos: UInt32

Tipo de acceso: Lectura y escritura

Clasificatorios: [Ninguno]

Únicamente para uso interno.

WorkingDirectory Tipo de datos: String

Tipo de acceso: Lectura y escritura

Clasificatorios: ninguno

La ubicación desde la que se ejecuta el programa. El valor predeterminado es "".

El directorio de trabajo puede ser una ruta de acceso absoluta en el cliente o una ruta de acceso relativa a la carpeta del punto de distribución que contiene el paquete. Si no se especifica un directorio de trabajo, Configuration Manager utiliza la carpeta de punto de distribución predeterminada.

Comentarios

No hay calificadores de clase especiales para esta clase. Para obtener más información acerca de los calificadores de clase y de propiedad incluidos en la sección Propiedades, consulte Calificadores de clase y de propiedad de Configuration Manager.

Un programa siempre está asociado con un paquete principal y normalmente representa el programa de instalación del paquete. Se puede asociar más de un programa con el mismo paquete. La aplicación utiliza la PackageID propiedad para realizar esta asociación. La aplicación no puede cambiar esta propiedad una vez creado el SMS_Program objeto. Para asociar el programa con un paquete diferente, la aplicación debe eliminar el objeto y crear un nuevo objeto con un nuevo PackageID valor.

Cuando la aplicación elimina un SMS_Program objeto, no se elimina hasta que se eliminan sus componentes relacionados, como sus anuncios. En su lugar, Configuration Manager establece la ActionInProgress propiedad en DELETE (3) para marcar el programa para su eliminación. Para asegurarse de que una consulta no recupere programas que se han marcado para su eliminación, agregue este caso a la cláusula WHERE.

Importante

Si usa ventanas de mantenimiento para la colección en la que se ejecuta el programa, puede producirse un conflicto si el valor de la Duration propiedad es más largo que la ventana de mantenimiento programado. Si esta propiedad se establece en Desconocido, el programa se inicia durante la ventana de mantenimiento, pero continúa ejecutándose hasta que se completa o se produce un error después de cerrar la ventana de mantenimiento.

Se recomienda que no establezca la Duration propiedad en Desconocido porque se usa para los siguientes dos propósitos importantes:

  • Para monitorear los resultados del programa.

  • Para determinar si el programa se iniciará cuando se hayan definido ventanas de mantenimiento en los equipos cliente.

    Si la aplicación establece la propiedad, pero el Duration tiempo de ejecución del programa supera esta duración, Configuration Manager deja de supervisar el programa, pero no lo finaliza. Esto permite que Configuration Manager continúe con otras funciones de distribución de software, como la ejecución de otros programas anunciados. El administrador no:

  • Detenga el programa.

  • Gratis cualquier unidad que se haya asignado al programa anunciado.

  • Libere cualquier conexión de red creada para el programa anunciado.

  • Recursos gratuitos del sistema operativo utilizados por Configuration Manager cuando se ejecutan programas anunciados.

    Para obtener más información, consulte Acerca de las ventanas de mantenimiento.

Requisitos

Requisitos del entorno de ejecución

Para obtener más información, consulta Requisitos de tiempo de ejecución del servidor de Configuration Manager.

Requisitos de desarrollo

Para obtener más información, consulta Requisitos de desarrollo del servidor de Configuration Manager.

Consulta también

Clase WMI de servidor SMS_PackageCómo crear un paqueteCómo crear un programa