Compartilhar via


Sobre Configuration Manager Arquivos MOF de Ação Personalizada

Em Configuration Manager, as ações de implantação do sistema operacional são definidas no arquivo MOF (Formato de Objeto Gerenciado), %ProgramFiles%\Microsoft Configuration Manager\bin\i386\_tasksequenceprovider.mof.

Ao criar uma ação personalizada, você deve criar um arquivo MOF que declare sua ação personalizada. Em seguida, você usa Mofcomp.exe para adicionar suas alterações ao Provedor de SMS. Para obter mais informações, consulte Como criar um arquivo MOF para uma ação personalizada Configuration Manager.

O administrador configura a ação personalizada, conforme definido pelo arquivo MOF, usando um controle de ação personalizado. Para obter mais informações, consulte Sobre Configuration Manager Ações Personalizadas.

Conteúdo do arquivo MOF

Uma ação personalizada deriva da classe WMI do servidor SMS_TaskSequence_Action. A declaração de arquivo MOF inclui uma definição de classe e vários qualificadores para a linha de comando, variáveis de sequência de tarefas, categoria e local do assembly de controle de ação personalizado.

As propriedades declaradas em uma classe, exceto aquelas com o qualificador, estão disponíveis como variáveis de sequência de tarefas durante a CommandLineArg implantação do cliente. Para obter mais informações, consulte Como usar variáveis de sequência de tarefas em uma sequência de tarefas em execução Configuration Manager.

O namespace para a ação personalizada é \\root\SMS_Site_SITECODE. Quando o arquivo MOF é compilado, a ação personalizada é feita filho da classe WMI do servidor SMS_TaskSequence_Action.

Observação

Para obter um MOF de exemplo, consulte a ação de sequência de tarefas MOF declarada em _tasksequenceprovider.mof.

A seção do arquivo MOF para a declaração de ação personalizada será semelhante ao exemplo a seguir:

[   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 namespace e outras informações,

Para obter o MOF completo para este exemplo, consulte Como criar um arquivo MOF para uma ação personalizada Configuration Manager.

Linha de comando

A linha de comando da ação é descrita no qualificador de CommandLine classe. Ele define o aplicativo chamado e os vários argumentos que podem ser fornecidos. Para cada argumento de linha de comando, há um qualificador de CommandLineArg classe para o argumento na propriedade de classe correspondente.

CommandLine normalmente usa o formulário:

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

Smsswd.exe é usado para executar um programa dentro de um pacote. Ele requer os seguintes argumentos:

Argumento Descrição
/run:%1 Identifica o pacote em que o aplicativo está. %1 é o identificador de pacote (SMS_Package propriedade ClassePackageID WMI do Servidor).
Application.exe O aplicativo de ação personalizado que é executado.
%2 - %n Um ou mais argumentos de linha de comando para Application.exe.

As cadeias de caracteres de substituição de linha de comando, %1, %2 e assim por diante, são definidas pelo qualificador de CommandLineArg classe. Por exemplo, o seguinte declara %1.

[TaskSequencePackage, CommandLineArg(1)]  
string          PackageIDForApplicationExe;  

Com o controle de ação personalizado, você usa a PackageIDForApplicationExe propriedade para configurar o identificador de 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 implantação do cliente.

Categoria de ação

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

Observação

Não use uma categoria que já esteja em uso por outra ação.

A sintaxe é:

ActionCategory{CategoryName,ActionOrder,CategoryOrder}

CategoryName
O nome da categoria.

ActionOrder
A ordem de ação dentro da categoria.

CategoryOrder
A ordem de categoria em todas as categorias.

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

  • Geral

  • Discos

  • Estado do Usuário

  • Imagens

  • Drivers

  • Configurações

    Você também pode criar uma nova categoria especificando uma nova categoria no qualificador de ActionCategory classe. Por exemplo, o arquivo MOF a seguir cria uma nova categoria chamada Minha Categoria Personalizada. A ação é colocada em segundo lugar na categoria e a categoria é a quinta colocada no geral.

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

ActionName

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

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

Assembly
O assembly que contém o controle de ação.

Namespace.Properties.Resources
O namespace do recurso que contém as cadeias de caracteres de nome de ação exibidas. Para obter mais informações, consulte Como criar um controle de ação personalizado Configuration Manager.

Control
O controle que contém os recursos de cadeia de caracteres.

Interface do Usuário de Ação

O ActionUI qualificador de classe define o local do assembly e das classes usadas por uma ação. O qualificador tem a seguinte sintaxe:

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

Assembly
O assembly que contém o controle de ação.

Namespace
O namespace no qual o controle de ação reside.

Control
O controle de ação exibido no editor de sequência de tarefas. Ele hospeda a página de controle de opção.

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

Várias guias de controle podem ser implementadas incluindo mais nomes de classe de controle separados por vírgulas. Por exemplo:

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

Variáveis de ação

O VariableName qualificador é usado para substituir o nome da variável padrão de uma propriedade.

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

Se o VariablePrefix qualificador de classe for usado, as variáveis serão prefixadas com o valor do qualificador de classe.

Para obter mais informações sobre o uso de variáveis, consulte Como usar variáveis de sequência de tarefas em uma sequência de tarefas em execução Configuration Manager

Propriedades

Qualificadores

Há vários qualificadores que podem ser aplicados às propriedades MOF. Os seguintes são comumente usados:

Qualificador Descrição
CommandLineArg Uma propriedade que deve ser inserida na linha de comando
Not_Null Um valor é necessário para essa propriedade.
Valuemap Especifica uma lista de valores de cadeia de caracteres permitidos.
ValueRange Especifica um intervalo de valores permitidos (campos int).
RequiredIfNull Um valor será necessário para essa 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 caracteres em uma cadeia de caracteres.
SuccessCodes Especifica um ou mais códigos de retorno do executável que indica êxito.

Restrições

  • Restrições de qualificação regulares podem ser aplicadas às propriedades da classe. Por exemplo, no exemplo acima, os argumentos de linha de comando não podem ser null. Para obter mais informações, consulte o SDK de Instrumentação de Gerenciamento do Windows (WMI).

  • Verifique se os nomes de propriedades e qualificadores são sincronizados entre o arquivo MOF, o controle de ação personalizado e o aplicativo cliente. Os nomes da propriedade devem corresponder, bem como quaisquer limitações. Por exemplo, se uma int propriedade for necessária e ela estiver no intervalo 1 a 512, o arquivo MOF deverá ter um Not_Null e ValueRange qualificador, o controle personalizado deve garantir que a propriedade esteja definida e dentro do intervalo, e o aplicativo cliente deverá verificar o valor antes de usá-la.

Confira também

Sobre Configuration Manager Ações Personalizadas
Como criar um controle de ação personalizado Configuration Manager
Como criar um arquivo MOF para uma ação personalizada Configuration Manager
Como usar variáveis de sequência de tarefas em uma sequência de tarefas em execução Configuration Manager
Sobre Configuration Manager aplicativos cliente de ação personalizada