Compartilhar via


Acerca Configuration Manager ficheiros MOF de Ação Personalizada

No Configuration Manager, as ações de implementação do sistema operativo são definidas no ficheiro MOF (Managed Object Format), %ProgramFiles%\Microsoft Configuration Manager\bin\i386\_tasksequenceprovider.mof.

Quando cria uma ação personalizada, tem de criar um ficheiro MOF que declare a sua ação personalizada. Em seguida, utilize Mofcomp.exe para adicionar as alterações ao Fornecedor de SMS. Para obter mais informações, veja How to Create a MOF File for a Configuration Manager Custom Action (Como Criar um Ficheiro MOF para um Configuration Manager Ação Personalizada).

O administrador configura a ação personalizada, conforme definido pelo ficheiro MOF, através de um controlo de ação personalizado. Para obter mais informações, veja About Configuration Manager Custom Actions (Sobre Configuration Manager Ações Personalizadas).

Conteúdo do Ficheiro MOF

Uma ação personalizada deriva da Classe WMI de Servidor SMS_TaskSequence_Action. A declaração de ficheiro MOF inclui uma definição de classe e vários qualificadores para a linha de comandos, variáveis de sequência de tarefas, categoria e localização de assemblagem de controlo de ação personalizada.

As propriedades declaradas numa classe, exceto as que têm o CommandLineArg qualificador, estão disponíveis como variáveis de sequência de tarefas durante a implementação do cliente. Para obter mais informações, veja How to Use Task Sequence Variables in a Running Configuration Manager Task Sequence (Como Utilizar Variáveis de Sequência de Tarefas numa Sequência de Tarefas em Execução Configuration Manager).

O espaço de nomes da ação personalizada é \\root\SMS_Site_SITECODE. Quando o ficheiro MOF é compilado, a ação personalizada torna-se subordinada da Classe WMI de Servidor SMS_TaskSequence_Action.

Observação

Para obter um exemplo de MOF, veja o MOF da ação de sequência de tarefas declarado em _tasksequenceprovider.mof.

A secção do ficheiro MOF para a declaração de ação personalizada terá um aspeto semelhante ao seguinte exemplo:

[   CommandLine("smsswd.exe /run:%1 Application.exe /user:%2"),  
    VariablePrefix("MyCustomActionPrefix"),  
    ActionCategory("My Custom Action Category,7,1"),  
    ActionName{"ConfigMgrTSAction.dll", "ConfigMgrTSAction.Properties.Resources", "ConfigMgrTSAction"},  
    ActionUI{"ConfigMgrTSAction.dll", "ConfigMgrTSAction","ConfigMgrTSActionControl",   
"ConfigureTSActionOptions"}  
    ]  
class ConfigMgrTSActionControl : SMS_TaskSequence_Action  
{  
    [TaskSequencePackage, CommandLineArg(1)]  
    string          PackageIDForApplicationExe;  

    [Not_Null, CommandLineArg(2)]  
    string          User;  

    [VariableName("CustomLocation")]  
    string          Location;  

};  

O MOF completo também especifica o espaço de nomes e outras informações,

Para obter o MOF completo para este exemplo, veja How to Create a MOF File for a Configuration Manager Custom Action (Como Criar um Ficheiro MOF para um Configuration Manager Ação Personalizada).

Linha de comando

A linha de comandos da ação é descrita no qualificador de CommandLine classe. Define a aplicação que é chamada e os vários argumentos que podem ser fornecidos. Para cada argumento da linha de comandos, existe um CommandLineArg qualificador de classe para o argumento na propriedade de classe correspondente.

CommandLine normalmente assume o formulário:

CommandLine("smsswd.exe /run:%1 Application.exe %2 %3")

Smsswd.exe é utilizado para executar um programa dentro de um pacote. Requer os seguintes argumentos:

Argumento Descrição
/run:%1 Identifica o pacote em que se encontra a aplicação. %1 é o identificador do pacote (SMS_Package propriedade ClassePackageID WMI de Servidor).
Application.exe A aplicação de ação personalizada que é executada.
%2 - %n Um ou mais argumentos da linha de comandos para Application.exe.

As cadeias de substituição da linha de comandos, %1, %2 e assim sucessivamente, são definidas pelo qualificador de CommandLineArg classe. Por exemplo, o seguinte declara %1.

[TaskSequencePackage, CommandLineArg(1)]  
string          PackageIDForApplicationExe;  

Com o controlo de ação personalizada, utilize a PackageIDForApplicationExe propriedade para configurar o identificador do pacote.

Observação

As propriedades declaradas com o CommandLineArg qualificador não estão disponíveis como variáveis de sequência de tarefas durante a implementação do cliente.

Categoria de Ação

Uma ação pode ser associada a uma categoria específica, no menu pendente do editor de sequência de tarefas, utilizando o ActionCategory qualificador de classe.

Observação

Não utilize uma categoria que já esteja a ser utilizada por outra ação.

A sintaxe é:

ActionCategory{CategoryName,ActionOrder,CategoryOrder}

CategoryName
O nome da categoria.

ActionOrder
A ordem de ação na categoria.

CategoryOrder
A ordem das categorias em todas as categorias.

As categorias de Configuration Manager predefinidas às quais pode adicionar uma ação são:

  • Geral

  • Discos

  • Estado do Usuário

  • Imagens

  • Controladores

  • Configurações

    Também pode criar uma nova categoria ao especificar uma nova categoria no qualificador de ActionCategory classe. Por exemplo, o seguinte ficheiro MOF cria uma nova categoria denominada A Minha Categoria Personalizada. A ação é colocada em segundo lugar na categoria e a categoria é colocada em quinto lugar no geral.

    ActionCategory{"My Custom Category",2,5"},

ActionName

O ActionName qualificador de classe define o nome do controlo de ação personalizada. O qualificador tem a seguinte sintaxe:

ActionName{"Assembly", "Namespace.Properties.Resources", "Control"}

Assembly
A assemblagem que contém o controlo de ação.

Namespace.Properties.Resources
O espaço de nomes do recurso que contém as cadeias de nomes de ação apresentadas. Para obter mais informações, veja Como Criar um Configuration Manager Controlo de Ação Personalizada.

Control
O controlo que contém os recursos de cadeia.

Interface de Utilizador de Ação

O ActionUI qualificador de classe define a localização da assemblagem e classes que são utilizadas por uma ação. O qualificador tem a seguinte sintaxe:

ActionUI{"Assembly","Namespace", "Control", "Option control"}

Assembly
A assemblagem que contém o controlo de ação.

Namespace
O espaço de nomes no qual o controlo de ação reside.

Control
O controlo de ação apresentado no editor de sequência de tarefas. Aloja a página de controlo de opções.

Option control
A página utilizada para gerir as opções de ação, no editor de sequência de tarefas.

Vários separadores de controlo podem ser implementados ao incluir mais nomes de classes de controlo separados por vírgulas. Por exemplo:

ActionUI{"Assembly","Namespace", "Control1", "Control2", "Control3", "Option control"}

Variáveis de Ação

O VariableName qualificador é utilizado para substituir o nome da variável predefinida de uma propriedade.

Uma propriedade de classe pode ser definida como uma variável de sequência de tarefas ao adicionar o VariableName qualificador de classe. No exemplo acima, a propriedade MessageTimeout é uma variável de ação com o nome RebootTimeout.

Se o VariablePrefix qualificador de classe for utilizado, as variáveis têm o prefixo do valor de qualificação de classe.

Para obter mais informações sobre a utilização variável, veja How to Use Task Sequence Variables in a Running Configuration Manager Task Sequence (Como Utilizar Variáveis de Sequência de Tarefas numa Sequência de Tarefas Configuration Manager Em Execução)

Propriedades

Qualificadores

Existem vários qualificadores que podem ser aplicados às propriedades do MOF. As seguintes opções são frequentemente utilizadas:

Qualificador Descrição
CommandLineArg Uma propriedade que deve ser inserida na linha de comandos
Not_Null É necessário um valor para esta propriedade.
ValueMap Especifica uma lista de valores de cadeia permitidos.
ValueRange Especifica um intervalo de valores permitidos (campos int).
RequiredIfNull É necessário um valor para esta propriedade se outra propriedade for nula.
TaskSequencePackage Identifica uma propriedade como um identificador de pacote.
VariableName Especifica um nome diferente para a propriedade no ambiente de sequência de tarefas.
AllowedLen Especifica o número mínimo e máximo de carateres numa cadeia.
SuccessCodes Especifica um ou mais códigos de retorno do executável que indica êxito.

Restrições

  • As restrições de qualificação regulares podem ser aplicadas às propriedades da classe. Por exemplo, no exemplo acima, os argumentos da linha de comandos não podem ser null. Para obter mais informações, veja o SDK do Windows Management Instrumentation (WMI).

  • Certifique-se de que os nomes de propriedades e qualificadores são sincronizados entre o ficheiro MOF, o controlo de ação personalizada e a aplicação cliente. Os nomes das propriedades têm de corresponder, bem como quaisquer limitações. Por exemplo, se for necessária uma int propriedade e tiver de estar no intervalo 1 a 512, o ficheiro MOF deve ter um e ValueRange um Not_Null qualificador, o controlo personalizado deve garantir que a propriedade está definida e dentro do intervalo e que a aplicação cliente deve verificar o valor antes de o utilizar.

Confira também

Acerca Configuration Manager Ações Personalizadas
Como Criar uma Configuration Manager Controlo de Ação Personalizada
Como Criar um Ficheiro MOF para uma Ação Personalizada Configuration Manager
How to Use Task Sequence Variables in a Running Configuration Manager Task Sequence (Como Utilizar Variáveis de Sequência de Tarefas numa Sequência de Tarefas em Execução Configuration Manager)
Acerca Configuration Manager Aplicações Cliente de Ação Personalizada