Classe WMI do servidor SMS_Program

A SMS_Program classe WMI (Instrumentação de Gerenciamento do Windows) é uma classe de servidor provedor de SMS, em Configuration Manager, que representa um programa ou comando a ser executado quando o software é distribuído a um computador cliente.

A sintaxe a seguir é simplificada do código MOF (Formato de Objeto Gerenciado) e inclui todas as propriedades herdadas.

Sintaxe

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

A SMS_Program classe não define nenhum método.

Propriedades

ActionInProgress
Tipo de dados: UInt32

Tipo de acesso: somente leitura

Qualificadores: [leitura, enumeração]

A ação atual está sendo executada no pacote associado ao programa por Configuration Manager. Os valores possíveis são:

Valor Descrição
0 NENHUM
1 UPDATE
2 Adicionar
3 DELETE

Use essa propriedade em uma cláusula WHERE para filtrar programas marcados para exclusão, mas que ainda não foram excluídos. Para obter mais informações, confira a seção Comentários mais adiante neste tópico.

ApplicationHierarchy
Tipo de dados: String

Tipo de acesso: Leitura/Gravação

Qualificadores: Nenhum

A hierarquia de aplicativos do programa. O valor padrão é "".

CommandLine
Tipo de dados: String

Tipo de acesso: Leitura/Gravação

Qualificadores: Nenhum

A linha de comando que é executada quando o programa é iniciado. O valor padrão é "".

Comment
Tipo de dados: String

Tipo de acesso: Leitura/Gravação

Qualificadores: Nenhum

Comentário que descreve o programa no console Configuration Manager. O valor padrão é "".

DependentProgram
Tipo de dados: String

Tipo de acesso: Leitura/Gravação

Qualificadores: Nenhum

Uma cadeia de caracteres de texto formatada definindo qualquer programa que deve ser executado antes de executar este programa. O formato é definido como <PackageID>;;< ProgramName>. Se o programa estiver no mesmo pacote, o aplicativo de chamada poderá simplesmente especificar ;;< ProgramName>. O valor padrão é "".

A dependência é mantida apenas pela primeira vez que o programa é executado. Depois que o programa for executado, a dependência será ignorada. Por exemplo, você não pode criar um trabalho agendado recorrente para o qual a dependência é mantida para cada execução do programa.

Description
Tipo de dados: String

Tipo de acesso: Leitura/Gravação

Qualificadores: Nenhum

Não usado.

DeviceFlags
Tipo de dados: UInt32

Tipo de acesso: Leitura/Gravação

Qualificadores: Nenhum

Sinalizadores que descrevem o dispositivo associado ao programa. Os valores possíveis são:

Hexadecimal (Bit) Descrição
0x01000000 (24) Sempre atribua programa ao cliente.
0x02000000 (25) Atribua somente se o dispositivo estiver conectado atualmente a uma conexão de largura de banda alta (padrão acima de 60 KBps).
0x04000000 (26) Atribua somente se o dispositivo estiver encaixado, ou seja, ele será anexado a uma área de trabalho que está usando o ActiveSync.

DiskSpaceReq
Tipo de dados: String

Tipo de acesso: Leitura/Gravação

Qualificadores: Nenhum

Espaço de disco aproximado que o programa requer. O formato é "<tamanho><KB| MB| GB>". O valor padrão é "".

Essas informações são usadas no console Configuration Manager e no anúncio para fornecer alertas sobre os requisitos de espaço em disco do programa. Em seguida, o usuário pode decidir aceitar o anúncio ou executar uma tarefa de gerenciamento de disco primeiro.

DriveLetter
Tipo de dados: String

Tipo de acesso: Leitura/Gravação

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

Letra de unidade (um caractere no intervalo a-z) da qual o programa é mapeado e executado. O valor padrão é "".

Duration
Tipo de dados: UInt32

Tipo de acesso: Leitura/Gravação

Qualificadores: Nenhum

A duração aproximada, em minutos, da execução do programa no computador cliente. Especifique esse valor como um número inteiro maior ou igual a 0 (padrão) ou como Desconhecido (não recomendado). Se a propriedade for definida como Unknown, Configuration Manager definirá o tempo máximo de execução permitido como 720 minutos (12 horas). Para obter informações adicionais, consulte a seção Comentários mais adiante neste tópico.

Observação

Em computadores cliente, o valor especificado para programas publicados aparece em Run Advertised Programs Painel de Controle.

ExtendedData
Tipo de dados: UInt8 Matriz

Tipo de acesso: Leitura/Gravação

Qualificadores: [grande, preguiçoso]

O blob XML para implantação de imagem.

ExtendedDataSize
Tipo de dados: UInt32

Tipo de acesso: Leitura/Gravação

Qualificadores: [preguiçoso]

O tamanho de dados estendido, em bytes. O valor padrão é 0.

Icon
Tipo de dados: UInt8 Matriz

Tipo de acesso: Leitura/Gravação

Qualificadores: [grande]

Informações de ícone associadas ao ícone do programa, conforme exibido no console Configuration Manager.

IconSize
Tipo de dados: UInt32

Tipo de acesso: Leitura/Gravação

Qualificadores: [preguiçoso]

Tamanho, em bytes, do ícone do programa. Defina essa propriedade como 0 para limpar o ícone.

ISVData
Tipo de dados: UInt8 Matriz

Tipo de acesso: Leitura/Gravação

Qualificadores: [grande, preguiçoso]

Informações que permitem que um único ISV armazene dados relacionados a um SMS_Program objeto.

Não há restrições ou formatos definidos para os dados ISV. No entanto, é importante não substituir a propriedade após a criação da propriedade ISV. Seu aplicativo deve ler os dados existentes nesta propriedade primeiro. Se os dados não pertencerem ao aplicativo, eles não deverão ser modificados. Você deve incluir um identificador nos dados do programa para que a propriedade possa ser estabelecida facilmente.

ISVDataSize
Tipo de dados: UInt32

Tipo de acesso: Leitura/Gravação

Qualificadores: [preguiçoso]

O tamanho, em bytes, dos dados armazenados em ISVData. O valor padrão é 0.

ISVString
Tipo de dados: String

Tipo de acesso: Leitura/Gravação

Qualificadores: nenhum

Cadeia de caracteres para extensibilidade de parceiro.

MSIFilePath
Tipo de dados: String

Tipo de acesso: Leitura/Gravação

Qualificadores: Nenhum

O caminho do arquivo do pacote do Windows Installer com o qual o programa está associado. O valor padrão é "".

MSIProductID
Tipo de dados: String

Tipo de acesso: Leitura/Gravação

Qualificadores: Nenhum

A ID do produto do pacote do Windows Installer com o qual o programa está associado. O valor padrão é "".

PackageID
Tipo de dados: String

Tipo de acesso: Leitura/Gravação

Qualificadores: [chave, Not_null]

ID de um pacote existente com o qual associar o programa. Para obter mais informações, confira a seção Comentários mais adiante neste tópico.

PackageName
Tipo de dados: String

Tipo de acesso: Leitura/Gravação

Qualificadores: [Nenhum]

O nome do pacote ao qual o programa pertence.

PackageType
Tipo de dados: String

Tipo de acesso: Leitura/Gravação

Qualificadores: [Nenhum]

O tipo do pacote ao qual o programa pertence.

Valor Descrição
0 Pacote de distribuição de software regular.
3 Pacote driver.
4 Pacote de sequência de tarefas.
5 Pacote de atualização de software.
6 Pacote de configuração do dispositivo.
257 Pacote de imagem.
258 Pacote de imagem de inicialização.
259 Pacote de instalação do sistema operacional.

PackageVersion
Tipo de dados: String

Tipo de acesso: Leitura/Gravação

Qualificadores: [Nenhum]

A versão do pacote ao qual o programa pertence.

ProgramFlags
Tipo de dados: UInt32

Tipo de acesso: Leitura/Gravação

Qualificadores: [bits]

Sinalizadores identificando as características de instalação do programa. Os valores possíveis estão listados abaixo. Os valores padrão são EVERYUSER, USEUNCPATH, USERCONTEXT e UNATTENDED.

Observação

Ao usar SMS_Program programaticamente, verifique se nenhum valor conflitante está selecionado. Por exemplo, NOUSERLOGGEDIN e USERCONTEXT não devem ser usados juntos.

Os valores possíveis são:

Hexadecimal (Bit) Descrição
0x00000001 (0) AUTHORIZED_DYNAMIC_INSTALL. O programa está autorizado para instalação dinâmica.
0x00000002 (1) USECUSTOMPROGRESSMSG. A sequência de tarefas mostra uma mensagem de interface do usuário de progresso personalizado.
0x00000010 (4) DEFAULT_PROGRAM. Este é um programa padrão
0x00000020 (5) DESABILITAREMOMALERTONRUNNING. Desabilita alertas mom enquanto o programa é executado.
0x00000040 (6) MOMALERTONFAIL. Gera alerta MOM se o programa falhar.
0x00000080 (7) RUN_DEPENDANT_ALWAYS. Se definido, o dependente imediato desse programa deve sempre ser executado.
0x00000100 (8) WINDOWS_CE. Indica um programa de dispositivo. Se definido, o programa não será oferecido a clientes da área de trabalho.
0x00000200 (9) Este valor não é usado.
0x00000400 (10) CONTAGEM REGRESSIVA. A caixa de diálogo de contagem regressiva não é exibida.
0x00000800 (11) FORCERERUN. Este valor não é usado.
0x00001000 (12) DESATIVADO. O programa está desabilitado.
0x00002000 (13) AUTÔNOMA. O programa não requer nenhuma interação do usuário.
0x00004000 (14) USERCONTEXT. O programa só pode ser executado quando um usuário está conectado.
0x00008000 (15) ADMINRIGHTS. O programa deve ser executado como a conta de administrador local.
0x00010000 (16) EVERYUSER. O programa deve ser executado por cada usuário para o qual ele é válido. Válido apenas para trabalhos obrigatórios.
0x00020000 (17) NOUSERLOGGEDIN. O programa é executado somente quando nenhum usuário está conectado.
0x00040000 (18) OKTOQUIT. O programa reiniciará o computador.
0x00080000 (19) OKTOREBOOT. Configuration Manager reinicia o computador quando o programa terminar de ser executado com êxito.
0x00100000 (20) USEUNCPATH. Use um caminho UNC (sem letra de unidade) para acessar o ponto de distribuição.
0x00200000 (21) PERSISTCONNECTION. Persiste a conexão com a unidade especificada na propriedade DriveLetter. O sinalizador de bit USEUNCPATH não deve ser definido.
0x00400000 (22) RUNMINIMIZED. Execute o programa como uma janela minimizada.
0x00800000 (23) RUNMAXIMIZED. Execute o programa como uma janela maximizada.
x01000000 (24) HIDEWINDOW. Ocultar a janela do programa.
0x02000000 (25) OKTOLOGOFF. Usuário logoff quando o programa for concluído com êxito.
0x04000000 (26) RUNACCOUNT. Este valor não é usado.
0x08000000 (27) ANY_PLATFORM. Substitua a verificação do suporte à plataforma.
0x10000000 (28) STILL_RUNNING. Este valor não é usado.
0x20000000 (29) SUPPORT_UNINSTALL. Execute a desinstalação da chave do registro quando o anúncio expirar.
0x40000000 (30) A plataforma não tem suporte.
0x80000000 (31) SHOW_IN_ARP. Este valor não é usado.

ProgramName
Tipo de dados: String

Tipo de acesso: Leitura/Gravação

Qualificadores: [chave, Not_null]

Nome exclusivo que representa este programa.

RemovalKey
Tipo de dados: String

Tipo de acesso: Leitura/Gravação

Qualificadores: Nenhum

Chave do Registro que identifica o script de desinstalação para o programa. O script deve residir no caminho do HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall registro. O valor padrão é "".

Requirements
Tipo de dados: String

Tipo de acesso: Leitura/Gravação

Qualificadores: Nenhum

Descrição de quaisquer requisitos adicionais do programa. O valor padrão é "".

SecuredTypeID
Tipo de dados: UInt32

Tipo de acesso: Leitura/Gravação

Qualificadores: [Nenhum]

Tipo protegido de pacote relacionado.

SupportedOperatingSystems
Tipo de dados: SMS_OS_Details Matriz

Tipo de acesso: Leitura/Gravação

Qualificadores: [preguiçoso]

SMS_OS_Details objetos da Classe WMI do Servidor que representam os sistemas operacionais nos quais o programa pode ser executado.

Se você não especificar ANY_PLATFORM na ProgramFlags propriedade, deverá especificar um ou mais sistemas operacionais com suporte. SMS_SupportedPlatforms Classe WMI do Servidor define a lista de plataformas que Configuration Manager dá suporte.

TransformAnalysisDate
Tipo de dados: DateTime

Tipo de acesso: Leitura/Gravação

Qualificadores: [Nenhum]

Apenas para uso interno.

TransformDtID
Tipo de dados: String

Tipo de acesso: Leitura/Gravação

Qualificadores: [Nenhum]

Apenas para uso interno.

TransformReadiness
Tipo de dados: UInt32

Tipo de acesso: Leitura/Gravação

Qualificadores: [Nenhum]

Apenas para uso interno.

WorkingDirectory
Tipo de dados: String

Tipo de acesso: Leitura/Gravação

Qualificadores: Nenhum

O local do qual o programa é executado. O valor padrão é "".

O diretório de trabalho pode ser um caminho absoluto no cliente ou um caminho relativo à pasta de ponto de distribuição que contém o pacote. Se um diretório de trabalho não for especificado, Configuration Manager usará a pasta ponto de distribuição padrão.

Comentários

Não há qualificadores de classe especiais para esta classe. Para obter mais informações sobre as qualificatórias de classe e as qualificatórias de propriedade incluídas na seção Propriedades, consulte Configuration Manager Qualificadores de Classe e Propriedade.

Um programa é sempre associado a um pacote pai e normalmente representa o programa de instalação do pacote. Observe que mais de um programa pode ser associado ao mesmo pacote. O aplicativo usa a PackageID propriedade para fazer essa associação. Seu aplicativo não pode alterar essa propriedade depois que o SMS_Program objeto é criado. Para associar o programa a um pacote diferente, o aplicativo deve excluir o objeto e criar um novo objeto com um novo PackageID valor.

Quando seu aplicativo exclui um SMS_Program objeto, ele não é excluído até que seus componentes relacionados, como seus anúncios, sejam excluídos. Em vez disso, Configuration Manager define a ActionInProgress propriedade como DELETE (3) para marcar o programa para exclusão. Para garantir que uma consulta não recupere programas marcados para exclusão, adicione esse caso à cláusula WHERE.

Importante

Se você estiver usando janelas de manutenção para a coleção na qual o programa é executado, um conflito poderá ocorrer se o valor da Duration propriedade for maior que a janela de manutenção agendada. Se essa propriedade estiver definida como Unknown, o programa será iniciado durante a janela de manutenção, mas continuará a ser executado até concluir ou falhar depois que a janela de manutenção for fechada.

É recomendável que você não defina a Duration propriedade como Unknown porque essa propriedade é usada para as duas finalidades importantes a seguir:

  • Para monitorar os resultados do programa.

  • Para determinar se o programa será iniciado quando as janelas de manutenção tiverem sido definidas nos computadores cliente.

    Se o aplicativo definir a propriedade, mas o Duration tempo de execução do programa exceder essa duração, Configuration Manager interromperá o monitoramento do programa, mas não encerrará o programa. Isso permite que Configuration Manager continue com outras funções de distribuição de software, como executar outros programas anunciados. O gerente não:

  • Pare o programa.

  • Libere todas as unidades mapeadas para o programa anunciado.

  • Liberar todas as conexões de rede feitas para o programa anunciado.

  • Recursos gratuitos do sistema operacional usados pelo Configuration Manager quando os programas anunciados estão em execução.

    Para obter informações adicionais, consulte Sobre o Windows de Manutenção.

Requisitos

Requisitos de runtime

Para obter mais informações, consulte Configuration Manager Requisitos de Runtime do Servidor.

Requisitos de desenvolvimento

Para obter mais informações, consulte Configuration Manager Requisitos de Desenvolvimento do Servidor.

Confira também

Classe WMI do servidor SMS_Package
Como criar um pacote
Como criar um programa