Usando o Script RollAlternateserviceAccountCredential.ps1 no Shell

 

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

Tópico modificado em: 2015-03-09

É possível usar o script RollAlternateServiceAccountPassword.ps1 no Exchange Server 2010 Service Pack 1 (SP1) para atualizar uma credencial de conta de serviço alternativo (credencial ASA) e distribuir a atualização para servidores de Acesso para Cliente.

Dica

O Shell de Gerenciamento do Exchange não carrega scripts automaticamente. É necessário preceder todos os scripts com ".</STRONG>". Por exemplo, para executar o script RollAlternateServiceAccountPassword.ps1, digite .\RollAlternateServiceAccountPassword.ps1.

Dica

Esse é fornecido somente em inglês.

Para obter informações sobre como usar a autenticação Kerberos com uma matriz de servidor de Acesso para Cliente ou uma solução de balanceamento de carga, consulte Usar Kerberos com uma matriz de servidor de Acesso para Cliente ou uma solução de balanceamento de carga e Configurando a Autenticação Kerberos para Servidores de Acesso para Cliente com Balanceamento de Carga.

Para mais informações sobre como usar e gravar scripts, consulte Script com o Shell de Gerenciamento do Exchange.

Sintaxe

RollAlternateServiceAccountPassword.ps1 -Scope <Object> -Identity <Object> -Source <Object> 

Descrição detalhada

Para executar este procedimento, você precisa de permissões. Para ver de que permissões você precisa, consulte o Entrada "Segurança de acesso do cliente" no tópico Permissões de Acesso para Cliente.

Detalhes técnicos do script da credencial de conta de serviço alternativo

Esse script facilita a configuração e a manutenção da credencial ASA. Após ter criado a credencial ASA e definido os Nomes de princípio de serviço adequados, é possível usar o script para distribuir a credencial para todos os servidores de Acesso para Cliente de destino.

Para usar o script, você deve identificar quais servidores você deseja alcançar e quais credencial você deseja usar como sua credencial ASA.

Escopo do servidor

É possível optar para que o script tenha como destino todos os servidores de Acesso para Cliente na floresta, todos os membros de uma matriz de servidores de Acesso para Cliente em particular ou servidores específicos. Os parâmetros disponíveis são ToEntireForest, ToArraryMembers e ToSpecificServers. Se o script for direcionado para servidores específicos ou membros de uma matriz de servidor específica, o parâmetro Identity deverá ser especificado com os nomes de servidor ou matriz de servidor que você deseja ter como destino.

Fonte da credencial

O script pode copiar a senha da conta de serviço alternativo de um servidor existente. Ou você pode especificar a conta que você deseja usar e permitir que o script gere uma nova senha para a conta. Os parâmetros disponíveis são GenerateNewPasswordFor e CopyFrom. O parâmetro GenerateNewPasswordFor requer que você especifique uma sequência de conta no formato a seguir: DOMÍNIO\Nome da Conta. Se você estiver usando uma conta de computador, acrescente “$” no final do nome da conta, por exemplo CONTOSO\ClientServerAcct$. O parâmetro CopyFrom usa o nome de um servidor de Acesso para Cliente existente como a fonte da credencial.

Gerar uma nova senha para uma credencial

A senha é criada pelo script. Não é necessária entrada do usuário. O script tentará distribuir a senha para todos computadores de destino e depois tentará atualizar a credencial da conta do Active Directory com a senha recém-gerada.

A senha recém-gerada possui 73 caracteres de extensão e satisfará os requisitos-padrão de senha forte. Se os requisitos de senha diferirem, talvez seja necessário definir a senha manualmente e depois copiá-la nos servidores de destino.

Para evitar a interrupção do serviço, o script examina cada servidor de Acesso para Cliente e mantém a senha atual, além de adicionar a nova senha. Após a execução do script, a credencial ASA compartilhada poderá usar as duas senhas: a senha atual conforme armazenada no Active Directory ou a nova senha que ainda não foi definida no Active Directory.

Todas as senhas que não são mais válidas, como um senha expirada, serão removidas dos servidores de destino. Se a senha no Active Directory não puder ser alterada, talvez porque a senha expirou, o script tentará redefinir a senha. Isso exigirá que a conta execute o script de modo que tenha permissões para redefinir as senhas da conta do computador do Active Directory ou as senhas da conta do usuário, dependendo do que for sua conta de serviço alternativo: uma conta de computador ou uma conta de usuário.

Se as senhas não forem alteradas com êxito para todos os servidores de Acesso para Cliente de destino, atualizar a senha do Active Directory poderá causar uma falha de autenticação. Se o script estiver sendo executado no modo autônomo, a senha do Active Directory não será atualizada com a nova senha, exceto se todos os servidores de Acesso para Cliente de destino tiverem sido atualizados com êxito. Se o script estiver sendo executado no modo autônomo, uma solicitação será exibida perguntando se você deseja atualizar a senha no Active Directory.

Criar uma tarefa agendada para automatizar a manutenção de senha

Se você deseja que o script crie uma tarefa agendada para manter a senha de forma contínua, utilize o parâmetro CreateScheduledTask. Esse parâmetro requer uma sequência para o nome da tarefa que você deseja criar.

Dica

Execute o script e verifique se funciona corretamente no modo autônomo antes de criar a tarefa agendada autônoma.

O script cria um arquivo .cmd na pasta onde o script está localizado. Ele, então, cria uma tarefa para executar o arquivo .cmd a cada três semanas. Você pode usar o Agendador de tarefas do Windows para modificar a tarefa agendada, por exemplo, para configurá-lo de modo que seja executado com certa frequência. Como padrão, a tarefa será executada como o usuário conectado atualmente. Além disso, o script será executado somente quando o usuário estiver conectado no computador. Recomendamos que você modifique a tarefa agendada de modo que seja executada independentemente de o usuário estar conectado ou não. Também é possível optar por executá-la sob uma conta diferente, caso essa conta tenha permissões do Active Directory para redefinir senhas, bem como a função do Administrador de empresas do Exchange. Quando uma tarefa agendada é criada, o script é executado automaticamente em modo autônomo.

Tarefas fora de escopo do script

O script não gerenciará os SPNs da credencial ASA ou permitirá a remoção de uma conta de serviço alternativo de um servidor. Para remover uma conta de serviço alternativo de um servidor, use o cmdlet Set-ClientAccessServer. Se você tiver que remover a autenticação Kerberos, consulte Usar Kerberos com uma matriz de servidor de Acesso para Cliente ou uma solução de balanceamento de carga.

Solucionando problemas do script

Recomendamos executar o script e verificar se ele funciona corretamente no modo autônomo antes de criar a tarefa agendada autônoma. Para obter informações de solução de problemas, consulte Solução de Problemas do Script RollAlternateServiceAccountCredential.ps1.

Validar o script

A saída do script quando você a executa interativamente com o sinalizador -verbose deve indicar quais operações de script tiveram êxito. Para confirmar que os servidores de Acesso para Cliente foram atualizados, é possível verificar a última marca de hora modificado na credencial ASA. O exemplo a seguir gera uma lista de servidores de Acesso para Cliente e o último horário que a conta de serviço alternativo foi atualizada.

Get-ClientAccessServer -IncludeAlternateServiceAccountCredentialstatus |Fl Name, AlternateServiceAccountConfiguration

É possível também examinar o log de evento no computador em que o script está sendo executado. As entradas do log de eventos do script estão no log de Evento de Aplicativo e são da origem MSExchange Management Application.A tabela a seguir lista os eventos registrados e mostra o que os eventos significam.

IDs de eventos do script e suas explicações

Evento Explicação

14001

Iniciar

14002

Êxito (informações)

14003

Bem-sucedido, mas com Avisos.

O script encontrou alguns problemas, mas foi capaz de superá-los, ou a entrada do usuário confirmou que eles não eram necessários. Se o script estiver sendo executado em modo interativo, leia a saída de script para obter mais detalhes sobre o aviso.

14004

Falha

Se o script for executado como uma tarefa agendada, seus resultados serão registrados em log na pasta Registro em Log do servidor do Exchange, em uma subpasta chamada RollAlternateServiceAccountPassword.

É possível usar o log para confirmar se a tarefa está sendo executada com êxito.

Parâmetros

Parâmetro Obrigatório Descrição

ToEntireForest

Opcional

O parâmetro ToEntireForest direciona o script para todos os servidores de Acesso para Cliente na floresta.

ToArrayMembers

Opcional

O parâmetro ToArrayMembers direciona o script para todos os membros de uma matriz de servidor de Acesso para Cliente específico.

Dica

Se você estiver usando o parâmetro ToArrayMembers ou ToSpecificServers, é necessário especificar os nomes de servidor ou de matriz de servidor usando o parâmetro Identity.

ToSpecificServers

Opcional

O parâmetro ToSpecificServers direciona o script para servidores específicos.

Dica

Se você estiver usando o parâmetro ToArrayMembers ou ToSpecificServers, é necessário especificar os nomes de servidor ou de matriz de servidor usando o parâmetro Identity.

Identity

Obrigatório

O parâmetro Identity especifica o nome da matriz de servidor de Acesso para Cliente ou o nome dos servidores específicos de destino.

GenerateNewPasswordFor<String>

Opcional

O parâmetro GenerateNewPasswordFor especifica que o script deve gerar uma nova senha para a ASA. O valor da sequência deve ser a conta ASA no seguinte formato: DOMÍNIO\Nome da Conta. Se você estiver usando uma conta de computador, acrescente o caractere “$” no final do nome da conta.

CopyFrom<String>

Opcional

O parâmetro CopyFrom especifica que a credencial é copiada de outro servidor de Acesso para Cliente. O valor da sequência especificado é o nome do servidor de Acesso para Cliente.

Mode

Opcional

A opção Mode especifica se o script está sendo executado em modo assistido ou autônomo. O modo autônomo não solicita a entrada de usuário e escolhe automaticamente mais opções conservadoras, quando necessário.

CreateScheduledTask<String>

Opcional

O parâmetro CreateScheduledTask pede ao script para criar uma tarefa agendada a fim de executar a atualização da credencial ASA. O valor de sequência é o nome da tarefa agendada que será criada.

Dica

Esse script cria um arquivo .cmd na pasta onde o script está localizado. A tarefa agendada executará o arquivo .cmd uma vez a cada três semanas. É possível editar a tarefa diretamente no Agendador de tarefas do Windows para alterar a frequência da tarefa.

WhatIf

Opcional

A opção WhatIf instrui o comando a simular as ações que ele executaria no objeto. Ao usar a opção WhatIf, você poderá exibir quais alterações ocorrerão, sem precisar aplicar nenhuma dessas alterações. Você não precisa especificar um valor com a opção WhatIf.

Confirm

Opcional

A opção Confirm faz com que o comando pause o processamento e exige que você confirme o que o comando fará antes que o processamento continue. Não é preciso especificar um valor com a opção Confirm.

Verbose

Opcional

O parâmetro Verbose pede ao script para executar o registro em log detalhado, de modo que as informações adicionais sobre as ações do script sejam gravadas no arquivo de log.

Debug

Opcional

O parâmetro Debug pede ao script para executar em modo de depuração. Esse parâmetro deve ser usado para determinar a causa da falha de script.

Exemplos

Exemplo 1

Esse exemplo usa o script para enviar a credencial por push para todos os servidores de Acesso para Cliente na floresta para a instalação inicial.

.\RollAlternateserviceAccountPassword.ps1 -ToEntireForest -GenerateNewPasswordFor "Contoso\ComputerAccount$" -Verbose

Exemplo 2

Esse exemplo gera uma nova senha para a credencial ASA da conta de usuário e a distribui a todos os membros das matrizes de servidor de Acesso para Cliente onde o nome corresponde a *caixa de correio*.

.\RollAlternateserviceAccountPassword.ps1 -ToArrayMembers *mailbox* -GenerateNewPasswordFor "Contoso\UserAccount" -Verbose

Exemplo 3

Esse exemplo programa uma tarefa agendada de reversão de senha automatizada uma vez por mês chamada “Exchange-RollAsa”. A credencial ASA será atualizada para todos os servidores de Acesso para Cliente em toda a floresta com uma senha nova gerada por script. A tarefa agendada é criada, mas o script não está sendo executado. Quando a tarefa agendada está sendo executada, o script é executado em modo autônomo.

.\RollAlternateServiceAccountPassword.ps1 -CreateScheduledTask "Exchange-RollAsa" -ToEntireForest -GenerateNewPasswordFor 'contoso\computerAccount$'

Exemplo 4

Esse exemplo atualiza a credencial ASA para todos os servidores de Acesso para Cliente na matriz do servidor de Acesso para Cliente chamada CAS01. A credencial é obtida da conta de computador do Active Directory ServiceAc1 no domínio Contoso.

.\RollAlternateserviceAccountPassword.ps1 -ToArrayMembers "CAS01" -GenerateNewPasswordFor "CONTOSO\ServiceAc1$" 

Exemplo 5

Este exemplo mostra como você pode usar o script para distribuir a ASA em um novo computador ou um computador que está sendo colocado novamente em serviço porque o tamanho de sua matriz de servidor foi aumentado ou porque você está reintroduzindo membros de matriz após a manutenção.

Você deve atualizar a credencial ASA antes de o servidor de Acesso para Cliente receber tráfego. Copie a credencial ASA compartilhada de qualquer servidor de Acesso para Cliente que já esteja configurado corretamente. Por exemplo, se o Servidor A atualmente possui uma credencial ASA funcionando e você apenas adicionou o Servidor B à matriz, é possível usar o script para copiar a credencial (incluindo a senha) do Servidor A para o Servidor B. Isso é útil caso o Servidor B esteja fora do ar ou não seja mais membro da matriz quando a senha foi alterada e divulgada na última vez.

.\RollAlternateServiceAccountPassword.ps1 -CopyFrom ServerA -ToSpecificServers ServerB -Verbose

 © 2010 Microsoft Corporation. Todos os direitos reservados.