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 umNot_Null
eValueRange
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