Compartilhar via


Classe WMI de Servidor SMS_Program

A SMS_Program classe Windows Management Instrumentation (WMI) é uma classe de servidor do Fornecedor de SMS, no Configuration Manager, que representa um programa ou comando a executar quando o software é distribuído para um computador cliente.

A sintaxe seguinte é simplificada a partir do código MOF (Managed Object Format) 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: Só de leitura

Qualificadores: [leitura, enumeração]

A ação atual que está a ser 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

Utilize esta propriedade numa cláusula WHERE para filtrar os programas que foram marcados para eliminação, mas que ainda não foram eliminados. Para obter mais informações, consulte a secção Observações mais adiante neste tópico.

ApplicationHierarchy Tipo de dados: String

Tipo de acesso: Leitura/Escrita

Qualificadores: Nenhum

A hierarquia de aplicações do programa. O valor predefinido é "".

CommandLine Tipo de dados: String

Tipo de acesso: Leitura/Escrita

Qualificadores: Nenhum

A linha de comandos que é executada quando o programa é iniciado. O valor predefinido é "".

Comment Tipo de dados: String

Tipo de acesso: Leitura/Escrita

Qualificadores: Nenhum

Comentário que descreve o programa na consola do Configuration Manager. O valor predefinido é "".

DependentProgram Tipo de dados: String

Tipo de acesso: Leitura/Escrita

Qualificadores: Nenhum

Uma cadeia de texto formatada que define qualquer programa que deve ser executado antes de executar este programa. O formato é definido como <PackageID>;;<ProgramName>. Se o programa estiver no mesmo pacote, a aplicação de chamada pode simplesmente especificar ;;<ProgramName>. O valor predefinido é "".

A dependência é mantida apenas pela primeira vez que o programa é executado. Após a execução do programa, a dependência é ignorada. Por exemplo, não pode criar uma tarefa agendada periódica para a qual a dependência é mantida para cada execução de programa.

Description Tipo de dados: String

Tipo de acesso: Leitura/Escrita

Qualificadores: Nenhum

Não usado.

DeviceFlags Tipo de dados: UInt32

Tipo de acesso: Leitura/Escrita

Qualificadores: Nenhum

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

Hexadecimal (Bit) Descrição
0x01000000 (24) Atribua sempre o programa ao cliente.
0x02000000 (25) Atribua apenas se o dispositivo estiver atualmente ligado a uma ligação de largura de banda elevada (predefinição acima de 60 KBps).
0x04000000 (26) Atribua apenas se o dispositivo estiver ancorado, ou seja, se estiver ligado a um ambiente de trabalho que esteja a utilizar o ActiveSync.

DiskSpaceReq Tipo de dados: String

Tipo de acesso: Leitura/Escrita

Qualificadores: Nenhum

Espaço em disco aproximado necessário para o programa. O formato é "<tamanho><KB|MB|GB>". O valor predefinido é "".

Estas informações são utilizadas na consola do Configuration Manager e no anúncio para fornecer alertas sobre os requisitos de espaço em disco do programa. Em seguida, o utilizador pode decidir aceitar o anúncio ou executar uma tarefa de gestão de discos primeiro.

DriveLetter Tipo de dados: String

Tipo de acesso: Leitura/Escrita

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

Letra de unidade (um caráter no intervalo a-z) a partir da qual o programa mapeia e executa. O valor predefinido é "".

Duration Tipo de dados: UInt32

Tipo de acesso: Leitura/Escrita

Qualificadores: Nenhum

A duração aproximada, em minutos, da execução do programa no computador cliente. Especifique este valor como um número inteiro maior ou igual a 0 (predefinição) ou como Desconhecido (não recomendado). Se a propriedade estiver definida como Desconhecida, Configuration Manager define o tempo máximo de execução permitido como 720 minutos (12 horas). Para obter mais informações, consulte a secção Observações mais adiante neste tópico.

Observação

Nos 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/Escrita

Qualificadores: [grande, preguiçoso]

O blob XML para a implementação de imagens.

ExtendedDataSize Tipo de dados: UInt32

Tipo de acesso: Leitura/Escrita

Qualificadores: [preguiçoso]

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

Icon Tipo de dados: UInt8 Matriz

Tipo de acesso: Leitura/Escrita

Qualificadores: [grande]

Informações de ícone associadas ao ícone do programa, conforme apresentado na consola do Configuration Manager.

IconSize Tipo de dados: UInt32

Tipo de acesso: Leitura/Escrita

Qualificadores: [preguiçoso]

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

ISVData Tipo de dados: UInt8 Matriz

Tipo de acesso: Leitura/Escrita

Qualificadores: [grande, preguiçoso]

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

Não existem restrições ou formatos definidos para os dados ISV. No entanto, é importante não substituir a propriedade depois de a propriedade ISV ter sido estabelecida. A sua aplicação deve ler primeiro os dados existentes nesta propriedade. Se os dados não pertencerem à aplicação, não devem ser modificados. 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/Escrita

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/Escrita

Qualificadores: nenhum

Cadeia de carateres para extensibilidade de parceiros.

MSIFilePath Tipo de dados: String

Tipo de acesso: Leitura/Escrita

Qualificadores: Nenhum

O caminho de ficheiro do pacote do Windows Installer ao qual o programa está associado. O valor predefinido é "".

MSIProductID Tipo de dados: String

Tipo de acesso: Leitura/Escrita

Qualificadores: Nenhum

O ID de produto do pacote do Windows Installer ao qual o programa está associado. O valor predefinido é "".

PackageID Tipo de dados: String

Tipo de acesso: Leitura/Escrita

Qualificadores: [chave, Not_null]

ID de um pacote existente ao qual pretende associar o programa. Para obter mais informações, consulte a secção Observações mais adiante neste tópico.

PackageName Tipo de dados: String

Tipo de acesso: Leitura/Escrita

Qualificadores: [Nenhum]

O nome do pacote a que o programa pertence.

PackageType Tipo de dados: String

Tipo de acesso: Leitura/Escrita

Qualificadores: [Nenhum]

O tipo do pacote a que o programa pertence.

Valor Descrição
0 Pacote de distribuição de software normal.
3 Pacote de controlador.
4 Pacote de sequência de tarefas.
5 Pacote de atualização de software.
6 Pacote de definição do dispositivo.
257 Pacote de imagem.
258 Pacote de imagem de arranque.
259 Pacote de instalação do sistema operativo.

PackageVersion Tipo de dados: String

Tipo de acesso: Leitura/Escrita

Qualificadores: [Nenhum]

A versão do pacote a que o programa pertence.

ProgramFlags Tipo de dados: UInt32

Tipo de acesso: Leitura/Escrita

Qualificadores: [bits]

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

Observação

Ao utilizar SMS_Program programaticamente, certifique-se de que não estão selecionados valores em conflito. Por exemplo, NOUSERLOGGEDIN e USERCONTEXT não devem ser utilizados em conjunto.

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 de utilizador de progresso personalizado.
0x00000010 (4) DEFAULT_PROGRAM. Este é um programa predefinido
0x00000020 (5) DISABLEMOMALERTONRUNNING. Desativa os alertas mom enquanto o programa é executado.
0x00000040 (6) MOMALERTONFAIL. Gera um alerta MOM se o programa falhar.
0x00000080 (7) RUN_DEPENDANT_ALWAYS. Se estiver definido, o dependente imediato deste programa deve ser sempre executado.
0x00000100 (8) WINDOWS_CE. Indica um programa de dispositivo. Se estiver definido, o programa não é oferecido aos clientes de ambiente de trabalho.
0x00000200 (9) Este valor não é utilizado.
0x00000400 (10) CONTAGEM DECRESCENTE. A caixa de diálogo de contagem decrescente não é apresentada.
0x00000800 (11) FORCERERUN. Este valor não é utilizado.
0x00001000 (12) DESATIVADO. O programa está desativado.
0x00002000 (13) AUTOMÁTICA. O programa não requer interação do utilizador.
0x00004000 (14) USERCONTEXT. O programa só pode ser executado quando um utilizador tem sessão iniciada.
0x00008000 (15) ADMINRIGHTS. O programa tem de ser executado como a conta de Administrador local.
0x00010000 (16) EVERYUSER. O programa tem de ser executado por todos os utilizadores para os quais é válido. Válido apenas para tarefas obrigatórias.
0x00020000 (17) NOUSERLOGGEDIN. O programa é executado apenas quando nenhum utilizador tem sessão iniciada.
0x00040000 (18) OKTOQUIT. O programa irá reiniciar o computador.
0x00080000 (19) OKTOREBOOT. Configuration Manager reinicia o computador quando o programa terminar de ser executado com êxito.
0x00100000 (20) USEUNCPATH. Utilize um caminho UNC (sem letra de unidade) para aceder ao ponto de distribuição.
0x00200000 (21) PERSISTCONNECTION. Mantém a ligação à unidade especificada na propriedade DriveLetter. O sinalizador de bit USEUNCPATH não pode 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. Terminar sessão do utilizador quando o programa for concluído com êxito.
0x04000000 (26) RUNACCOUNT. Este valor não é utilizado.
0x08000000 (27) ANY_PLATFORM. Substitua marcar para suporte da plataforma.
0x10000000 (28) STILL_RUNNING. Este valor não é utilizado.
0x20000000 (29) SUPPORT_UNINSTALL. Execute a desinstalação a partir da chave do registo quando o anúncio expirar.
0x40000000 (30) A plataforma não é suportada.
0x80000000 (31) SHOW_IN_ARP. Este valor não é utilizado.

ProgramName Tipo de dados: String

Tipo de acesso: Leitura/Escrita

Qualificadores: [chave, Not_null]

Nome exclusivo que representa este programa.

RemovalKey Tipo de dados: String

Tipo de acesso: Leitura/Escrita

Qualificadores: Nenhum

Chave de registo que identifica o script de desinstalação do programa. O script tem de residir no caminho do HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall registo. O valor predefinido é "".

Requirements Tipo de dados: String

Tipo de acesso: Leitura/Escrita

Qualificadores: Nenhum

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

SecuredTypeID Tipo de dados: UInt32

Tipo de acesso: Leitura/Escrita

Qualificadores: [Nenhum]

Tipo seguro de pacote relacionado.

SupportedOperatingSystems Tipo de dados: SMS_OS_Details Matriz

Tipo de acesso: Leitura/Escrita

Qualificadores: [preguiçoso]

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

Se não especificar ANY_PLATFORM na ProgramFlags propriedade, tem de especificar um ou mais sistemas operativos suportados. SMS_SupportedPlatforms Classe WMI de Servidor define a lista de plataformas que Configuration Manager suporta.

TransformAnalysisDate Tipo de dados: DateTime

Tipo de acesso: Leitura/Escrita

Qualificadores: [Nenhum]

Apenas para uso interno.

TransformDtID Tipo de dados: String

Tipo de acesso: Leitura/Escrita

Qualificadores: [Nenhum]

Apenas para uso interno.

TransformReadiness Tipo de dados: UInt32

Tipo de acesso: Leitura/Escrita

Qualificadores: [Nenhum]

Apenas para uso interno.

WorkingDirectory Tipo de dados: String

Tipo de acesso: Leitura/Escrita

Qualificadores: Nenhum

A localização a partir da qual o programa é executado. O valor predefinido é "".

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

Comentários

Não há qualificações especiais para esta classe. Para obter mais informações sobre os qualificadores de classe e os qualificadores de propriedade incluídos na secção Propriedades, consulte Configuration Manager Classificadores de Classe e Propriedade.

Um programa está sempre associado a um pacote principal e, normalmente, representa o programa de instalação do pacote. Mais do que um programa pode ser associado ao mesmo pacote. A aplicação utiliza a PackageID propriedade para efetuar esta associação. A aplicação não pode alterar esta propriedade depois de o SMS_Program objeto ser criado. Para associar o programa a um pacote diferente, a aplicação tem de eliminar o objeto e criar um novo objeto com um novo PackageID valor.

Quando a aplicação elimina um SMS_Program objeto, este não é eliminado até que os respetivos componentes relacionados, como os anúncios, sejam eliminados. Em vez disso, Configuration Manager define a ActionInProgress propriedade como DELETE (3) para marcar o programa para eliminação. Para garantir que uma consulta não obtém programas que foram marcados para eliminação, adicione este caso à cláusula WHERE.

Importante

Se estiver a utilizar janelas de manutenção para a coleção na qual o programa é executado, poderá ocorrer um conflito se o valor da Duration propriedade for maior do que a janela de manutenção agendada. Se esta propriedade estiver definida como Desconhecida, o programa é iniciado durante a janela de manutenção, mas continua a ser executado até que seja concluída ou falhe após o fecho da janela de manutenção.

Recomenda-se que não defina a Duration propriedade como Desconhecida porque esta propriedade é utilizada para os dois fins importantes seguintes:

  • Para monitorizar os resultados do programa.

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

    Se a aplicação definir a propriedade, mas o Duration tempo de execução do programa exceder esta duração, Configuration Manager deixa de monitorizar o programa, mas não termina o programa. Isto permite que Configuration Manager continuem com outras funções de distribuição de software, como a execução de outros programas anunciados. O gestor não:

  • Pare o programa.

  • Liberte quaisquer unidades que tenham sido mapeadas para o programa anunciado.

  • Liberte quaisquer ligações de rede efetuadas para o programa anunciado.

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

    Para obter mais informações, consulte Acerca do Windows de Manutenção.

Requisitos

Requisitos de Runtime

Para obter mais informações, veja Configuration Manager Server Runtime Requirements (Requisitos de Runtime do Servidor do Configuration Manager).

Requisitos de Desenvolvimento

Para obter mais informações, veja Requisitos de Desenvolvimento do Configuration Manager Server.

Confira também

SMS_Package Server WMI ClassHow to Create a Package Howto Create a Program (Como Criar um Programa)