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