Entendendo o agente de script

 

Aplica-se a: Exchange Server 2010 SP2, Exchange Server 2010 SP3

Tópico modificado em: 2015-03-09

Você pode usar o agente de extensão de cmdlet Scripting Agent no Microsoft Exchange Server 2010 para inserir sua própria lógica de scripts na execução dos cmdlets Exchange. Usando o Scripting Agent, você pode adicionar condições, substituir valores e configurar relatórios.

Aviso

Quando você habilita o agente de extensão do cmdlet Scripting Agent, o agente é chamado sempre que um cmdlet é executado em um servidor em execução no Exchange 2010. Isso inclui não só cmdlets executados diretamente por você no Shell de Gerenciamento do Exchange, mas também cmdlets executados pelos serviços do Exchange, o Console de Gerenciamento do Exchange (EMC) e o Painel de Controle do Exchange (ECP). É altamente recomendado testar seus scripts e todas as alterações efetuadas no arquivo de configuração, antes de copiar seu arquivo de configuração atualizado para os servidores Exchange 2010 e habilitar o agente de extensão do cmdlet Scripting Agent.

Toda vez que um cmdlet do Exchange é executado, o cmdlet chama o agente de extensão do cmdlet Scripting Agent. Quando esse agente é chamado, o cmdlet verifica se algum script está configurado para ser chamado por ele. Caso um script deve ser executado para um cmdlet, este tentará chamar todas as APIs definidas no script. As seguintes APIs estão disponíveis e são chamadas na seguinte ordem:

  1. ProvisionDefaultProperties   Essa API pode ser usada para definir os valores das propriedades em objetos quando elas são criadas. Quando um valor é definido, esse valor é retornado ao cmdlet, e o cmdlet define o valor na propriedade. Você pode preencher os valores nas propriedades se o usuário não tiver especificado um valor ou substituir o valor especificado pelo usuário. Essa API respeita os valores definidos pelos agentes de prioridade mais alta. O agente de extensão do cmdlet Scripting Agent não substituirá os valores definidos por agentes de prioridade mais alta.

  2. UpdateAffectedIConfigurable   Essa API pode ser usada para definir valores de propriedades em objetos após todos os outros processamentos terem sido concluídos, mas a API Validate não tinha ainda sido chamada. Essa API respeita os valores definidos pelos agentes de prioridade mais alta. O agente de extensão do cmdlet Scripting Agent não substituirá os valores definidos por agentes de prioridade mais alta.

  3. Validate   Essa API pode ser usada para validar os valores das propriedades de um objeto que estão para ser definidos pelo cmdlet. Essa API é chamada um pouco antes de um cmdlet gravar algum dado. Você pode configurar verificações de validação que permitem que um cmdlet tenha êxito ou falhe. Se um cmdlet for aprovado nas verificações de validação nessa API, ele terá permissão para gravar os dados. Se o cmdlet não for aprovado nas verificações de validação, ele retornará todos os erros definidos nessa API.

  4. OnComplete   Essa API é usada após todo o processamento do cmdlet terminar. Pode ser usada para executar tarefas posteriores ao processamento, como gravação de dados em um banco de dados externo.

Dica

O agente de extensão do cmdlet Scripting Agent não é chamado quando os cmdlets com o verbo Get são executados. Além disso, o agente não é executado em servidores Exchange que executam a função de servidor de Transporte de Borda porque essa função de servidor não suporta agentes de extensão de cmdlet.

O Scripting Agent é um dos vários agentes de extensão do cmdlet. Para obter mais informações sobre os agentes de extensão do cmdlet, consulte Entendendo os Agentes de Extensão de Cmdlet.

Conteúdo

Arquivo de configuração do Scripting Agent

Habilitar o Scripting Agent

Prioridade do agente

Arquivo de configuração do Scripting Agent

O arquivo de configuração do Scripting Agent contém todos os scripts que o Scripting Agent deve executar. Os scripts no arquivo de configuração estão contidos nas marcas XML que definem o começo e o fim do script e os vários parâmetros de entrada necessários para passar os dados ao script. Os scripts são escritos com o uso da sintaxe Windows PowerShell. O arquivo de configuração é um arquivo XML que usa os elementos ou atributos na tabela a seguir.

Elemento Atributo Descrição

Configuration

Não aplicável

Esse elemento contém todos os scripts que o agente de extensão do cmdlet Scripting Agent pode executar. A marca Feature é um filho dessa marca.

Há somente uma marca Configuration no arquivo de configuração.

Feature

Não aplicável

Esse elemento contém um conjunto de scripts relacionados a um recurso. Cada script, definido na marca filho ApiCall, estende uma parte específica do pipeline de execução do cmdlet. Essa marca contém os atributos Name e Cmdlets.

Pode haver várias marcas Feature na marca Configuration.

 

Name

Esse atributo contém o nome do recurso. Use esse atributo para ajudar a identifica qual recurso é estendido pelos scripts contidos na marca.

 

Cmdlets

Esse atributo contém uma lista dos cmdlets do Exchange que o conjunto de scripts dessa extensão de recurso usará. É possível especificar vários cmdlets separando cada cmdlet com uma vírgula.

ApiCall

Não aplicável

Esse elemento contém scripts que podem estender uma parte do pipeline de execução do cmdlet. Cada script é definido pelo nome de chamada da API no pipeline de execução do cmdlet sendo estendido. A seguir, os nomes de API que podem ser estendidos:

  • ProvisionDefaultProperties

  • UpdateAffectedIConfigurable

  • Validate

  • OnComplete

 

Name

Esse atributo inclui o nome da chamada de API que está estendendo o pipeline de execução do cmdlet.

Common

Não aplicável

Esse elemento contém funções que podem ser usadas por qualquer script no arquivo de configuração.

Cada servidor do Exchange 2010 inclui o arquivo ScriptingAgentConfig.xml.sample na pasta <caminho de instalação>\V14\Bin\CmdletExtensionAgents. Esse arquivo deve ser renomeado como ScriptingAgentConfig.xml em cada servidor Exchange 2010 se você habilitar o agente de extensão do cmdlet Scripting Agent. O arquivo de configuração de amostra contém scripts de amostra que podem ser usados para ajudá-lo a entender como adicionar scripts ao arquivo de configuração.

Após você adicionar um script ao arquivo de configuração ou se você fizer uma mudança no arquivo de configuração, será preciso atualizar o arquivo em todos os servidores Exchange 2010 de sua organização. Isso deve ser feito para garantir que todos os servidores tenham uma versão atualizada dos scripts que o agente de extensão do cmdlet Scripting Agent executa.

Alguns caracteres geralmente usados nos scripts também têm um significado especial no XML. Para usar esses caracteres no seu script, seu sequências de escape. Por exemplo, os seguintes caracteres usam uma sequência de escape:

  • Em vez de um sinal de maior que ( > ), use &gt;

  • Em vez de um sinal de menor que ( < ), use $lt;

  • Em vez de um sinal de "e" comercial ( & ), use &amp;

Voltar ao início

Habilitar o Scripting Agent

O agente de extensão do cmdlet Scripting Agent está desabilitado por padrão. Quando você habilita o Scripting Agent, o agente é habilitado para toda a organização do Exchange 2010. Antes de habilitar o Scripting Agent, verifique se o arquivo de configuração dele foi renomeado corretamente e atualizado com os seus scripts em todos os servidores Exchange 2010. Você receberá uma mensagem de erro sempre que um cmdlet for executado, caso não renomeie o arquivo de configuração corretamente.

Para habilitar o Scripting Agent, é preciso proceder da seguinte forma:

  1. Renomeie o arquivo ScriptingAgentConfig.xml.sample em <caminho de instalação>\V14\Bin\CmdletExtensionAgents como ScriptingAgentConfig.xml em todos os servidores Exchange 2010 de sua organização.

    Dica

    É possível copiar o arquivo de configuração de um servidor Exchange 2010 para outros servidores Exchange 2010. Certifique-se de atualizar o arquivo de configuração que deseja copiar antes de copiá-lo.

  2. Adicione seu script ao arquivo de configuração renomeado em cada servidor Exchange 2010 de sua organização.

  3. Habilitar o agente de extensão do Scripting Agent Para obter mais informações sobre como habilitar os agentes de extensão do cmdlet, consulte Habilitar um Agente de Extensão de Cmdlet.

Voltar ao início

Prioridade do agente

Por padrão, o agente de extensão do cmdlet Scripting Agent é executado no esquema um agente sim, outro não, com a exceção do agente Admin Audit Log. Se quiser que um script que você criou substitua um agente existente, será preciso desabilitar o outro agente ou alterar a prioridade de qualquer um dos agentes para que o agente de extensão do cmdlet Scripting Agent seja executado primeiro. Para obter mais informações sobre como desabilitar ou alterar a prioridade dos agentes, consulte os seguintes tópicos:

Voltar ao início