Como abordar o horário de verão usando a ferramenta de actualização de calendário do Exchange

Traduções deste artigo Traduções deste artigo
ID do artigo: 941018 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

INTRODUÇÃO

Horário de verão é um sistema para definir os relógios para frente que que o nascer e pôr do sol ocorram uma hora mais tarde. O efeito é verão mais durante a noite. Vários países observam a hora de verão. Maioria deles países têm suas próprias regras e normas para quando o horário de verão começa e termina.

As datas de horário de verão (DST) podem ser alterados. desde o ano a ano. Usuários do Microsoft Outlook precisam atualizar seu Outlook sempre que alterar as regras de fuso horário do calendário. As datas entre anterior Regras de fuso horário e as regras de fuso horário atuais são conhecidas neste artigo como o "período de DST estendido".

Este artigo descreve as ações que você pode levar a itens de calendário de endereços do Outlook que ocorrem durante o estendido Período do horário de verão. Este artigo também descreve as ações que você deve tomar para atualizar itens de calendário são armazenados em Microsoft Exchange Server de acordo com as novas regras de hora de verão. A solução apresentada neste artigo envolve a Ferramenta de actualização calendário do Microsoft Exchange ("a ferramenta Exchange").

Para obter mais informações sobre como preparar para as alterações no horário de verão em 2007 (Hora de verão de 2007) para todos os produtos afetados da Microsoft, visite o seguinte Site da Microsoft:
http://support.microsoft.com/gp/cp_dst
Em 2011, o governo russo adotou uma legislação para cancelar o horário de verão (DST). Para obter mais informações, visite o seguinte site da Microsoft:
http://support.microsoft.com/gp/cp_dst#tab0
Para obter mais informações em russo, visite o seguinte site da Microsoft:
http://support.microsoft.com/gp/cp_dst/RU#tab0

Mais Informações

Sobre a ferramenta Exchange

Depois de instalar as atualizações de horário de verão para o Microsoft Windows, todos antigos os compromissos que ocorrem durante os períodos de alteração de horário de verão estará incorretamente exibido como ocorrendo uma hora mais tarde. Isso é verdadeiro para ambos os recorrente e compromissos de ocorrência única. Você deve atualizar estes compromissos assim que eles serão exibidos corretamente no Outlook, no Microsoft Office Outlook Web Access, e em aplicativos que são baseadas em objetos de dados de colaboração (CDO).

O Outlook fornece uma ferramenta chamada a atualização de dados de fuso horário Ferramenta para Microsoft Office Outlook ("a ferramenta do Outlook"). Esta ferramenta permite que os usuários Para atualizar seus próprios calendários.

Para obter mais informações sobre a atualização de dados de fuso horário Ferramenta, clique no número abaixo para ler o artigo no Microsoft Base de Conhecimento:
931667Como tratar as alterações do horário de verão em 2007, usando a ferramenta de actualização de dados de fuso horário para Microsoft Office Outlook
A ferramenta de actualização de calendário do Exchange ("o Exchange ferramenta") ajuda você a evitar as dificuldades enfrentado pelos administradores na implantação a ferramenta do Outlook amplamente a todos os usuários e certificando-se de que cada usuário executar o Outlook ferramenta corretamente.

Descrição de alto nível da ferramenta do Exchange

A ferramenta Exchange consiste em dois arquivos executáveis separados. Esses arquivos são descritos na tabela a seguir.
Recolher esta tabelaExpandir esta tabela
Nome do arquivoDescrição
Msextmz.exe Este arquivo executável extrai o fuso horário informações das caixas de correio em um servidor que esteja executando o Exchange Server. Isso arquivo executável também atualiza os calendários de caixa de correio para uma lista especificada de usuários.
Msextmzcfg.exe Este arquivo executável é um ferramenta de configuração que realiza a maioria das etapas envolvidas na Atualizando um servidor de Exchange Server.

Sobre a nova versão da ferramenta Exchange

Com base no feedback dos clientes, uma nova versão da ferramenta Exchange foi lançado em 13 de agosto de 2007. Este artigo refere-se para a nova versão das Ferramenta do Exchange. Se você estiver executando uma versão mais antiga da ferramenta Exchange, Desinstale e instale a nova versão.

A nova versão do a ferramenta Exchange inclui os seguintes aprimoramentos:
  • A extração de fuso horário e os processos de atualização do calendário são agiliza fourfold.
  • A interface do usuário para a ferramenta de configuração é mais simplificada e intuitiva.
  • A capacidade de atualizar o recurso e salas de conferência caixas de correio agora está incorporada à ferramenta de configuração.
  • A capacidade de atualizar as caixas de correio do usuário agora foi incorporada ao ferramenta de configuração.
  • Um documento de solução de problemas agora está incluído com o Ferramenta do Exchange e ele é integrado à ferramenta de configuração.
  • O algoritmo de extração de fuso horário e o tratamento de erros Capacidades aperfeiçoadas.
  • O processo de log é mais amigável.

Riscos da execução da ferramenta do Exchange

Quando você executa a ferramenta Exchange, há um risco que compromissos de ocorrência única não podem ser atualizados corretamente. Por exemplo, compromissos de ocorrência única que um usuário criado após o sistema operacional era atualizado pode ser atualizado incorretamente.

Para reduzir esse risco, use um dos os seguintes métodos:
  • Reduzir o intervalo entre a hora em que você atualizar computadores cliente e o tempo que você atualize os calendários da caixa de correio.
  • Se os computadores na organização foram atualizados muito tempo atrás, use o Atualizar apenas reuniões recorrentes configuração emConfigurações avançadas.

    Normalmente, as pessoas não criar compromissos de ocorrência única muitos meses de antecedência. Portanto, se o DST as atualizações foram instaladas em muitos meses antes, a maioria das reuniões de ocorrência única que são classificados no período prolongado de hora de verão serão criado usando o novo Regras de transição do horário de verão. Nessas reuniões não precisam ser atualizados.
  • Se você souber a exata data em que todos os computadores cliente foram atualizados, use o Data de Patch do sistema operacional configuração emConfigurações avançadas. Se for especificada uma data, uma única instância compromissos criados após essa data não são atualizados pelo Exchange ferramenta.
Observação Se você executar a ferramenta do Outlook ou o Exchange em um cliente computador que esteja executando o Windows Vista e executar a ferramenta contra caixas de correio onde o fuso horário é hora padrão da Nova Zelândia, você deve executar a ferramenta de um segunda vez em ou após 1 de janeiro de 2008. Para obter mais informações, consulte o "conhecidos emite"seção.

Opções para atualizar as caixas de correio

A tabela a seguir lista cinco opções que você pode usar para atualizar caixas de correio do usuário para usar as regras de fuso horário de verão de 2007.
Recolher esta tabelaExpandir esta tabela
OpçãoProfissionaisDesvantagens
Distribuir a ferramenta do Outlook para cada usuário e então instruir usuários atualizem suas próprias caixas de correio. Essa opção evita o risco que está associado com a execução da ferramenta do Exchange. É difícil garante que todos os usuários serão executado a ferramenta do Outlook corretamente e na hábil maneira.

Os usuários que não possuem o Outlook não poderão executar o Ferramenta do Outlook.

Você deve fazer um esforço adicional educacional para diminui a confusão para os usuários.
Execute a ferramenta Exchange contra servidores e usuários todos afetados. Esta opção fornece uma experiência otimizada para os usuários. Há um risco associado à execução da ferramenta do Exchange, como descrita na seção "Riscos da execução da ferramenta do Exchange".
Execute a ferramenta do Exchange para atualizar apenas compromissos recorrentes. Permitir aos usuários atualizar compromissos de instância única em suas próprias caixas de correio usando a ferramenta do Outlook. Há menos risco de compromissos de instância única sendo atualizada incorretamente. São as desvantagens da execução da ferramenta do Outlook combinado com as desvantagens da execução da ferramenta do Exchange.
Execute a ferramenta Exchange nem a ferramenta do Outlook. Peça aos usuários para examinar seus calendários e re-book compromissos conforme necessário. Isso opção evita o risco associado à execução da ferramenta do Exchange. A menos que todos os usuários re-book afetados todos os compromissos, alguns de calendário itens estarão fora de uma hora durante o período prolongado de hora de verão.

Você deve fazer um esforço adicional de formação educacional para diminuir a confusão para os usuários.
Distribuir a ferramenta do Outlook para cada usuário e então instruir usuários atualizem suas próprias caixas de correio. Em seguida, use o modo de extração de fuso horário do a ferramenta Exchange para determinar se os usuários estão executando a ferramenta do Outlook.

Se os usuários não estão executando a ferramenta do Outlook, o administrador pode Execute a ferramenta do Exchange.
Esta opção reduz o risco de usuários não executando a ferramenta de maneira oportuna e ele evita o risco associado com a execução da ferramenta do Exchange. Isso não é uma opção, se os usuários são executando Microsoft Office Outlook 2007.

Como instalar a ferramenta Exchange

A ferramenta de actualização de calendário do Exchange está disponível para download na forma de um arquivo executável de extração automática (Msextmz.exe). Essa ferramenta está disponível para download no Centro de Download da Microsoft:

Recolher esta imagemExpandir esta imagem
Download
Download o pacote da ferramenta de actualização de calendário do Exchange agora.

Uma máquina virtual é criada para ajudá-lo Instale e use a ferramenta do Exchange. A máquina virtual é baseada no Microsoft Windows Server 2003, o Outlook 2007, Microsoft Office Excel 2007 e Microsoft Office Word 2007. A máquina virtual funciona em ambos Microsoft Virtual PC 2004 e no Microsoft Virtual Server 2005 R2.

Para obter mais informações sobre a máquina virtual para a ferramenta de actualização de calendário do Exchange, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
933185Uma máquina virtual está disponível para ajudá-lo a implantar atualizações de calendário do horário de verão de 2007 em uma organização do Exchange
Para obter mais informações sobre como baixar o suporte da Microsoft arquivos, clique no número abaixo para ler o artigo no Microsoft Base de Conhecimento:
119591 Como obter arquivos de suporte da Microsoft de serviços on-line
Microsoft examinou esse arquivo em busca de vírus. A Microsoft usou o máximo software de detecção de vírus atual que estava disponível na data em que o arquivo foi lançada. O arquivo está armazenado em servidores com segurança avançada que ajudam a evitar qualquer alteração não autorizada no arquivo.

Idiomas que são suportados pela ferramenta do Exchange

A ferramenta Exchange está disponível somente em inglês. A ferramenta será executada somente em um computador de inglês (EUA).

Versões do Exchange Server que são compatíveis com a ferramenta Exchange

A ferramenta Exchange pode atualizar as caixas de correio nas seguintes versões de Exchange Server:
  • Microsoft Exchange Server 2007 Enterprise Edition
  • Microsoft Exchange Server 2007 Standard Edition
  • Microsoft Exchange Server 2003 Enterprise Edition
  • Microsoft Exchange Server 2003 Standard Edition
  • Microsoft Exchange 2000 Server Enterprise Edition.
  • Microsoft Exchange 2000 Server Standard Edition

Sistemas operacionais suportados pela ferramenta do Exchange

A ferramenta Exchange será executada nas versões de 32 bits dos procedimentos a seguir sistemas operacionais:
  • Microsoft Windows Server 2003
  • Microsoft Windows XP
  • O Windows Vista

O que fazer antes de executar a ferramenta Exchange

Instalar atualizações

Antes de executar a ferramenta Exchange, certifique-se de que o cliente e servidor computadores são atualizados corretamente. Para fazer isso, instalar a atualização do horário de verão do Windows em os clientes e servidores. Para obter mais informações informações, clique no número abaixo para ler o artigo na Base de Conhecimento da Microsoft:
942763Atualização cumulativa de fuso horário de dezembro de 2007 para sistemas operacionais Microsoft Windows

Se você estiver executando Microsoft Exchange Server 2003 Service Pack 2 (SP2), instalar uma ou ambas das seguintes atualizações, como apropriado para sua organização:
  • Atualização 911829
  • Atualização 924334
Para obter mais informações sobre essas atualizações, clique nos números abaixo Para visualizar os artigos na Base de dados de Conhecimento da Microsoft:
911829Você recebe uma mensagem de erro quando você tentar executar quaisquer tarefas de edição, ou você deve clicar para habilitar o quadro de redigir no Outlook Web Access
924334 O formulário compor mensagem pára de responder após a instalação do Internet Explorer 7.0 e o controle S/MIME em um cliente do Outlook Web Access no Exchange Server 2003
Se os usuários estão dentro de Jerusalém, Central Português (Brasil), ou zona de tempo na América do Sul e., por favor, leia as orientações a artigo da Base de dados de Conhecimento Microsoft:

943390 Base alguns itens de calendário do Outlook são alteradas incorretamente ao usar a ferramenta de actualização de dados de fuso horário do Outlook para ajustar para horário de verão em alguns fusos horários

Verificar os requisitos de sistema

Você deve executar a ferramenta Exchange somente em um computador para o qual o seguintes condições forem verdadeiras:
  • O computador tem Microsoft Office Outlook 2003 Service Pack 2 (SP2) ou Microsoft Office Outlook 2007 instalado.
  • O computador possui a ferramenta de dados de fuso horário do Outlook instalado.
  • Microsoft.NET Framework versão 2.0 está instalado no computador cliente.
Você não pode executar a ferramenta Exchange em um computador que está executando Exchange Server ou as ferramentas de gerenciamento de sistema do Exchange. Se você tentar instalar a ferramenta do Exchange em um computador que esteja executando o Exchange ou Exchange Server Ferramentas de gerenciamento do sistema, você recebe a seguinte mensagem de erro:
Ferramenta de actualização de calendário do Microsoft Exchange não pode ser instalada com Microsoft Exchange.

Verifique se as permissões e outros requisitos do usuário

Verifique se as seguintes condições são verdadeiras:
  • Administrar permissões de armazenamento de informações em cada Exchange Banco de dados de mensagem do servidor (MDB) são atualizados.
  • São permissões Enviar como para todas as caixas de correio atualizado.
  • Permissões de Full Mailbox Access para todas as caixas de correio são atualizado.
  • São concedidas permissões de administrador local no computador que está executando a ferramenta do Exchange.

Sobre o script "Conceder permissão de caixa de correio"

Você pode usar o script de exemplo GrantMailboxPermission.vbs para conceder um usuário de domínio Full Mailbox Access e permissões Send as a todos caixas de correio.

Esse script pode ser executado somente por um Exchange Server administrador em um computador que esteja executando o Exchange 2000 Server ou Exchange Server 2003. Esse script não pode ser executado em um computador que esteja executando o Exchange Server 2007. No entanto, você pode usar o Shell de gerenciamento do Exchange para conceder a permissões necessárias.

O código do script. vbs é fornecido na Seção "Referências". A tabela a seguir descreve os dois modos no qual este script é executado.
Recolher esta tabelaExpandir esta tabela
ModoComandoDescrição
Adicionar Contar CScript GrantMailboxPermission.vbs Nome_do_domínio \ Nome_do_usuário Nome_do_arquivo Este comando concede a Nome_do_domínio \ Nome_do_usuário usuário Full Mailbox Access e permissões Enviar como para as caixas de correio do usuário que estão listadas na entrada arquivo.

O arquivo de entrada deve ser um arquivo de texto que contém o legacy nomes de domínio de caixas de correio do usuário. Esses nomes devem ser delimitados por carro Retorno + linha Feed (CRLF).

O script gera um Arquivo GrantMailboxPermission.log. Este arquivo é um registro das caixas de correio que foram processadas. A primeira linha do arquivo de log é o Nome_do_domínio \ Nome_do_usuário usuário que recebe acesso. Não exclua esse arquivo. Esse arquivo é usado no modo de remover.

Se uma "negação explícita" acesso é atribuído ao usuário, o script registra as informações em um arquivo chamado "GrantMailboxPermission.err". O script não conceder nem alterar a permissão.

Se o usuário faz parte um grupo de segurança que foi atribuída "Negar" access, o script concede Permissões de Full Mailbox Access e enviar como. No entanto, o usuário será impossível para efetuar logon na caixa de correio. Todos os erros serão registrados no Arquivo GrantMailboxPermission.err.
Remover CScript GrantMailboxPermission.vbs ?removeEste comando remove Full Mailbox Access e enviar como permissões para as caixas de correio que estão listadas na GrantMailboxPermission.log arquivo a partir do Nome_do_domínio \ Nome_do_usuário usuário. O Nome_do_domínio \ Nome_do_usuário usuário é especificado na Arquivo GrantMailboxPermission.log.
Anotações
  • Quando você executa esse script no computador que está executando Exchange Server, o script retorna um caractere de ponto (.) quando o script processos de um usuário com êxito. O script retorna um ponto de exclamação caractere (!) quando o script não processa um usuário com êxito.
  • O arquivo de saída do modo de extração de fuso horário não pode ser usado como um arquivo de entrada para esse script. Para criar o arquivo de entrada para este script, cole o conteúdo do arquivo de saída de modo a extração de fuso horário em Bloco de notas, salvar o conteúdo como um novo documento e, em seguida, use o novo documento como o arquivo de entrada.

Como usar a ferramenta Exchange

Para usar a ferramenta Exchange, inicie a atualização do calendário do Exchange Ferramenta de configuração (Msextmzcfg.exe). Este programa irá ajudá-lo com o todo processo de atualização de calendários.

Executar o processo de extração de fuso horário

Para actualizar calendários de caixa de correio, você deve determinar o fuso horário do os calendários. O processo de extração de fuso horário examina as propriedades e o compromissos dos calendários da caixa de correio para determinar seus fusos horários. Para executar o processo de extração de zona de tempo, siga estas etapas:
  1. Na página de boas-vindas, clique em Avançar.

    Observação A página de boas-vindas apresenta a ferramenta Configuração e Discute as permissões necessárias para executar a ferramenta. A página também Fornece um link para este artigo.
  2. Especifique as configurações da ferramenta de configuração. Podemos Recomendamos que você aloque pelo menos 200 megabytes (MB) de espaço em disco para log.

    Se você deseja alterar as configurações padrão, clique emConfigurações avançadas. Para obter mais informações sobre o avançado configurações, consulte a tabela a seguir este procedimento.
  3. Selecione os servidores do Exchange no Active Directory local floresta de serviço de diretório que você deseja atualizar. Em seguida, clique emAvançar para iniciar o processo de extração de fuso horário.

    Observação Se você já executou a extração de fuso horário, você poderá ignorar Esta etapa clicando em Ignorar.

    Observe que um status barra, um link para o log de saída e uma exibição em tempo real do fuso horário processo de extração são exibidos. Após o fuso horário é o processo de extração Concluir, clique em Avançar.

    Se foram encontrados erros, um link para o documento de solução de problemas é exibida.
  4. Configurar o Caixas de correio sem tempo Zonas página e clique em Avançar Para verificar o calendário itens.

    Observação Se a ferramenta encontrar usuários que não possuem propriedades de nível de caixa de correio que indicam o seu fuso horário, a ferramenta verifica os compromissos e reuniões reais dentro dos calendários para determinar o fuso horário. Você pode especificar o número dos itens de calendário através da qual você deseja que a ferramenta de configuração para fazer a varredura. O maior número de itens que você especificar, mais tempo levará a varredura.
  5. No Resolver a exibição de fuso horário desconhecido nomes página, a ferramenta solicita o mapeamento de fusos horários que faz a ferramenta não reconhece a uma zona de tempo conhecida do sistema operacional. Depois de fazer isso, clique emAvançar
  6. Se a ferramenta de configuração localiza os usuários que têm vários tempo zonas, você será solicitado para resolver manualmente o conflito, especificando um fuso horário com o qual deseja atualizar o calendário do usuário. Depois de fazer isso, clique emAvançar.
  7. No Salvar DNs da caixa de correio com o tempo não resolvido Zonas página, os usuários restantes que ainda não têm nenhuma zona de tempo as informações ou que ainda têm informações conflitantes do fuso horário são registradas no um arquivo de log separado. Clique em Avançar.
O processo de extração de fuso horário foi concluído. A lista de os usuários e dos fusos horários extraídos está localizado no arquivo de saída (Output. txt) na o diretório de instalação.

Configurações avançadas

A tabela a seguir descreve as configurações avançadas que Você pode configurar na etapa 2 do procedimento anterior.
Recolher esta tabelaExpandir esta tabela
ConfiguraçãoFuncionalidadeCenárioConsideraçõesAplicabilidade
Atualizar apenas para reuniões recorrentesIsso alterar a configuração atualizações apenas reuniões recorrentes que são afetadas pelo DST. Compromissos de ocorrência única que se encontram no período DST não são atualizado independentemente se eles devem ser atualizados.Se computadores a organização foram atualizados há muito tempo, use essa configuração.

Normalmente, as pessoas não criam compromissos de ocorrência única muitos meses de antecedência. Portanto, se as atualizações de DST foram instaladas vários meses antes, a maioria das reuniões uma única instância que se enquadram o DST estendido período terá sido criado usando as novas regras de transição do horário de verão. Esses as reuniões não precisam ser atualizados.
Se um usuário criou uma instância única muitos meses de antecedência de reunião, esta reunião não será atualizada se essa configuração for especificado.Esta configuração se aplica a todas as caixas de correio, para todas as conferências salas e para todos os calendários de usuário.
Instalação de Patch do sistema operacional DataEsta configuração especifica que single-instance compromissos que são criados ou atualizados após a data em que você especificar não são atualizado.Se você souber a data exata quando todos os computadores cliente foram atualizado, use essa configuração.

Quando você fizer isso, as reuniões que são criado após a atualização está instalada não são atualizados. Se encaixam nessas reuniões com as novas regras de fuso horário.
Essa configuração é eficaz somente quando o computadores cliente foram todos atualizados em menos de 24 horas e quando não houver alta penetração da atualização. (Não há penetração alta quando a porcentagem de computadores na organização que foram atualizadas consta a alta intervalo de 90 por cento.)

Além disso, os administradores podem especificar apenas um Atualize Data. Reuniões que são criadas em fusos horários que correspondem aos específicas atualiza e específicas de conjuntos tempo zonas devem ser atualizadas.

A implicação salas de conferência é que só atualizado de conferência as salas são nos fusos horários específicos.

A implicação do usuário caixas de correio é que, se a A opção SuppressExchange a configuração ou o SuppressAll configuração não for especificada, somente caixas de correio de usuário que pertence ao horário específico, as zonas são atualizadas.
Esta configuração se aplica a todas as caixas, para todas as salas de conferência e para todos os calendários de usuário.
A opção SuppressExchange e MaxDepthEssas configurações fazem com que todos os compromissos em um calendário de usuário que são afetados pela alteração ser atualizadas independentemente do DST Se o usuário é o organizador desses itens de calendário.

Se a o usuário é o organizador de um item de calendário, não são enviadas actualizações aos participantes que ter caixas de correio do Exchange. As atualizações são enviadas aos participantes que não têm o Exchange caixas de correio.

O MaxDepth configuração especifica o nível expansão da lista de distribuição que é executado para determinar quais participantes ter caixas de correio do Exchange e os participantes não.
Use esta configuração se deseja receber atualizações de reunião organizadores para usuários do Exchange reuniões que são afetadas pelo período prolongado de hora de verão.

O A opção SuppressExchange configuração é melhor do que o SuppressAll Se a organização tem fora do Exchange Sistemas de calendário do servidor e se as reuniões serão agendadas para incluir os participantes que são externos à organização.
Não há atualizações de reunião são enviadas, exceto para usuários fora do Exchange. Portanto, para tornar claro que copia da mesma reunião são atualizados para todos os participantes possíveis, cada caixa de correio na organização deve ser atualizado.

Essa condição pode aumentar significativamente o número de caixas de correio que devem ser atualizados. Portanto, os tempos de processamento podem ser maior.

Quando for grande, listas de distribuição aninhados são sobre o participante lista, é um processo caro para determinar os participantes para uma reunião e para Determine se os participantes têm caixas de correio do Exchange. Se você especificar isso configuração e definir um valor alto para o MaxDepth parâmetro, uma carga significativa pode ser colocada no domínio controladores.
Esta configuração se aplica somente às caixas de correio do usuário.
SuppressAllEssa configuração faz com que todos alterar de compromissos no calendário de um usuário que são afetados pelo DST para ser atualizado independentemente do usuário é o organizador esses calendário itens.

Se o usuário for o organizador de um item de calendário, as atualizações são não é enviado aos participantes.
Use esta configuração se você não quiser que os participantes receber atualizações de reunião dos organizadores de reuniões afetados a período prolongado de hora de verão.Não há atualizações de reunião são enviadas. Portanto, fazer -se de que as cópias da mesma reunião são atualizadas para todos os possíveis participantes, cada caixa de correio na organização deve ser atualizada.

Essa condição pode aumente significativamente o número de caixas de correio que devem ser atualizados. Portanto, os tempos de processamento podem ser aumentados.

Participantes que não precisa fazer de caixas de correio do Exchange não receberá atualizações. Seus compromissos podem não ser atualizado, dependendo do sistema de email que estão executando e dependendo as ações que leva o seu administrador.
Esta configuração se aplica somente caixas de correio do usuário.

Atualizar salas de conferência e caixas de correio de recurso

Você deve atualizar salas de conferência e caixas de correio de recurso para evitar conflitos de agendamento. Para fazer isso, execute estas etapas:
  1. Sobre o Especificar o recurso e sala de conferência Calendários página, digite ou cole a lista de aliases de salas de conferência em sua organização. Clique em Resolver para validar os aliases, e, em seguida, clique em Avançar.
  2. Sobre o Resolver fusos horários para recursos e Calendários de sala de conferência página, a ferramenta solicitará a manualmente especificar o fuso horário para uma sala de conferência, se a sala de conferência não ter um fuso horário. Fazer isso e, em seguida, clique em Avançar.
  3. Uma página de lembrete é exibida para lembrá-lo que a ferramenta está prestes a atualizar os calendários. Clique em Avançar.
  4. Observe que efetuar logon em uma barra de status, um link para a saída, e um exibição em tempo real da saída da ferramenta são exibidas. Clique emAvançar.

    Se forem encontrados erros, um link para o solução de problemas do documento é exibido na parte inferior desta página.

Atualizar o calendário da caixa de correio do usuário

Para fazer isso, execute estas etapas:
  1. Sobre o Configurações para a atualização da caixa de correio do usuário Calendários página, defina as configurações para a atualização.

    IF Você não especificou o A opção SuppressExchange ouSuppressAll configurações avançadas, selecione os fusos horários que são afetados pelo DST. Caso contrário, selecione todos os fusos horários.

    Clique emAvançar.
  2. Uma página de lembrete é exibida para lembrá-lo que a ferramenta está prestes a atualizar os calendários. Clique em Avançar.
  3. Observe que efetuar logon em uma barra de status, um link para a saída, e um exibição em tempo real da saída da ferramenta são exibidas. Após a atualização Concluir, clique em Avançar.

    Se forem encontrados erros, um link para o documento de solução de problemas é exibida na parte inferior desta página.
  4. Clique em Concluir.

Arquivos de log da ferramenta e subdiretórios do Exchange

Arquivos de log

A ferramenta Exchange cria os seguintes arquivos de log na diretório de instalação:
  • Output. txt

    Este arquivo contém uma lista de todas as caixas de correio do usuário que foram extraídos juntamente com suas informações de fuso horário.
  • TimeZoneExtraction.log

    Esse log contém a saída combinada do fuso horário processo de extração para todos os servidores.
  • ResourceUpdate.log

    Esse log contém a saída do processo de atualização para as salas de conferência e para as caixas de correio de recurso.
  • UserUpdate.log

    Esse log contém a saída combinada do usuário processo de atualização da caixa de correio para todos os servidores.
  • CalendarScan.log

    Esse log contém a saída combinada do calendário Examine o processo para todos os servidores.
  • ConflictUsers.txt

    Esse log contém uma lista de usuários que têm conflitantes fusos horários. Por exemplo, propriedades de caixa de correio dos usuários indicam que eles pertence a vários fusos.
  • NonExistent.txt

    Esse log contém uma lista de usuários que não têm nenhuma zona de tempo informações.

Subdiretórios

A ferramenta Exchange cria subdiretórios abaixo a diretório de instalação:
  • Recurso

    Esta é a subpasta de trabalho para o processo de atualização as salas de conferência e para as caixas de correio de recurso. Este diretório contém os seguintes arquivos:
    • Msextmz.log

      Este é o arquivo de saída da ferramenta Exchange para o processo de atualização.
    • Errors. txt também

      Este arquivo contém a lista de caixas de correio.
    • Processed.txt

      Este arquivo contém a lista de caixas de correio que foram atualizado com êxito.
    Observação Todas as subpastas de trabalho contém esses arquivos.

    O O subdiretório de recurso também contém o subdiretório a seguir:
    • Arquivos de log

      Essa subpasta contém os logs de atualização para cada caixa de correio que foi atualizado com êxito. Cada log de atualização deve conter uma lista de reuniões que foram atualizadas.
  • Nome_do_servidor

    Há um subdiretório para cada servidor em que o processo de extração de fuso horário ou uma atualização do calendário foi executada. Essas subpastas contêm os seguintes subdiretórios:
    • CalendarScan

      Esta é a subpasta de trabalho para a varredura de calendário processo.
    • Extrair

      Esta é a subpasta de trabalho para o fuso horário processo de extração.
    • Atualização

      Este é o subdiretório de trabalho para a caixa de correio do usuário processo de atualização. Ele contém o subdiretório a seguir:
      • Arquivos de log

        Essa subpasta contém os logs de atualização para cada caixa de correio que foi atualizado com êxito. Cada log de atualização deve conter uma lista de reuniões que foram atualizadas.

O que fazer depois de executar a ferramenta Exchange

Depois de concluir a execução da ferramenta do Exchange contra todos os Exchange servidores em seu ambiente, aplique as atualizações apropriadas do horário de verão de Exchange Server. A seguinte lista é organizada por versão Exchange Server e o service pack nível. Instalar as atualizações para sua versão do Exchange Server em ordem.

Exchange Server de 2007
940006 Descrição do pacote cumulativo de atualizações 4 para Exchange Server de 2007
O pacote cumulativo de atualizações 4 do Exchange Server 2007 inclui as seguintes correções DST:
  • 937656 Você enfrentar problemas no Outlook Web Access para Exchange 2007 ao horário de verão (DST) começa na Nova Zelândia em 2007
  • 932561 Os compromissos que são enviados de uma organização do Exchange para outro usando o Exchange 2007 podem estar incorretos em uma hora se uma organização estiver no fuso horário Austrália Ocidental
Exchange Server 2003 SP2
926666 Atualização para o horário de verão de 2007 para o Exchange 2003 Service Pack 2
931915 Atualização para o horário de verão de Newfoundland em 2007 para Exchange Server 2003 Service Pack 2
929895 Os compromissos que são enviados entre diferentes organizações Exchange Server podem estar incorretos em uma hora quando uma das organizações estiver no fuso horário Austrália Ocidental
937653 Você enfrentar um ou mais problemas no Exchange Server 2003 após o período do horário de verão para alterações da Nova Zelândia em 2007
Exchange Server 2003 SP1
940123 Você enfrentar problemas no Exchange 2003 Service Pack 1 após o horário de verão (DST) inicia na Nova Zelândia em 2007

Problemas conhecidos

  • Reuniões recorrentes que são criadas no Outlook Web Access não são atualizadas pela ferramenta do Exchange

    Se você instalar as atualizações de Exchange Server a Antes de atualizar as caixas de correio, recorrente de reuniões que são do Exchange server criado no Outlook Web Access não são atualizados pela ferramenta do Exchange.

    Para resolver esse problema, remova as atualizações de Exchange Server, execute o Ferramenta do Exchange e, em seguida, reinstalar as atualizações de Exchange Server no Exchange servidor.
  • Exchange 2007 deve ser reiniciado depois de executar a ferramenta Exchange

    Para exibir corretamente os itens de calendário, você deve reiniciar os serviços do Exchange depois de executar a ferramenta Exchange para Outlook Web Access no Exchange 2007.
  • Não é possível instalar a ferramenta Exchange

    A ferramenta Exchange não é instalada com êxito se qualquer uma das seguintes chaves de registro existe:
    • HKEY_CLASS_ROOT\Outlook.Application.9
    • HKEY_CLASS_ROOT\Outlook.Application.10
    Nesse cenário, você recebe a seguinte mensagem de erro Quando você tenta instalar a ferramenta Exchange:
    Exchange Server A ferramenta de alteração da Base de calendário não pode ser instalada com esta versão do Microsoft Outlook.
    Para contornar esse problema, exclua essas chaves do registro, Instale a ferramenta Exchange e, em seguida, restaurar o registro chaves.

    Importante Nesta seção, método ou tarefa contém etapas que explicam como fazer para modificar o registro. No entanto, podem ocorrer sérios problemas se você modificar o Registro incorretamente. Portanto, certifique-se de que você siga estas etapas com cuidado. Para maior proteção, faça backup do registro antes de modificá-lo. Em seguida, você poderá restaurar o registro se ocorrer um problema. Para obter mais informações sobre como fazer backup e restaurar o registro, clique no seguinte artigo número para ler o artigo na Base de dados de Conhecimento da Microsoft:
    322756 Como fazer backup e restaurar o registro no Windows
  • Há um limite no número de caixas de correio que podem ser processados por servidor

    No modo lista de usuário e no modo de extração de fuso horário, Msextmz.exe pode processar apenas 65.535 caixas de correio em um servidor. Se o servidor tiver mais de 65.535 caixas de correio, algumas caixas de correio não são processadas.
  • Calendários de pastas públicos não são atualizados.

    A ferramenta Exchange não atualizar a pasta pública calendários. Para obter informações sobre como atualizar um calendário de pasta pública, consulte a documentação da ferramenta do Outlook.
  • Você pode executar as ferramentas do Outlook e o Exchange no mesmo ambiente

    Se você executar a ferramenta Exchange em uma caixa de correio que tem já foram não atualizados pela ferramenta do Outlook, ou vice-versa, você enfrenta nenhum lado efeitos. No entanto, se você executar a ferramenta Exchange, não é necessário para que os usuários Execute a ferramenta de Outlook separadamente.
  • Non-reunião lembretes mais tarde do que o esperado

    Non-reunião lembretes para caixas de correio que são atualizadas pela a ferramenta Exchange não são atualizados quando o Outlook nunca se conectou à caixa de correio no modo Online. Nessa situação, lembretes de uma hora posterior esperado.

    Se o Outlook nunca tiver conectado no modo Online, você deve ajustar os lembretes incorretos para compromissos do calendário que a ferramenta do Outlook Localiza. Além disso, a pasta de pesquisa de lembretes não existe na caixa de correio. Portanto, a ferramenta não atualiza os itens de email, contatos ou outros lembretes.

    Por exemplo, a ferramenta não atualiza o lembrete em um item de email acompanhamento ao mesmo tempo no futuro. A ferramenta também não atualiza o lembrete em um item de tarefa que tenha um lembrete.
  • Você recebe uma mensagem de erro: "não é possível instalar, pois foram detectadas versões anteriores do 'Ferramenta de actualização de calendário do Microsoft Exchange'. Desinstale-os e execute a instalação novamente"

    Se você tiver instalado a atualização do calendário do Exchange Versão 1.0 da ferramenta, você deve desinstalar essa versão antes de instalar o Exchange Versão da ferramenta de atualização do calendário 2.0.

    Ferramenta de actualização de calendário do Exchange versão 1.0 foi distribuído como um arquivo executável de extração automática que continha dois pacotes. msi (Msextmz.msi e Msextmzcfg.msi). Você deve desinstalar ambos pacotes antes de instalar a versão 2.0 da ferramenta do Exchange.

    Se você ainda tiver problemas ao instalar a versão 2.0 da ferramenta Exchange, Tente reinstalar e, em seguida, desinstalar a versão 1.0 da ferramenta do Exchange. Fazer isso usando os pacotes. msi em vez de usando o Adicionar ou remover Programas recurso no painel de controle. Em seguida, reinicie seu computador, e em seguida, instale a versão 2.0 da ferramenta do Exchange.

    Se este procedimento não não funcionar, extrair os binários diretamente dos pacotes. msi.
  • Quando você executar as ferramentas de atualização do Outlook ou Exchange, compromissos são desativados por uma hora nas caixas de correio onde o fuso horário é hora padrão da Nova Zelândia

    Esse comportamento ocorre quando as seguintes situações são verdadeiro:
    • Executar as ferramentas de atualização do Outlook ou Exchange um computador que esteja executando o Windows Vista.
    • O fuso horário das caixas de correio que estão sendo atualizado é a hora padrão da Nova Zelândia.
    Para contornar esse problema, você deve executar o Outlook ou Ferramentas de atualização do Exchange contra as caixas de correio pela segunda vez em ou após janeiro 1, 2008.

    Esse comportamento ocorre porque o Windows Vista lida com o fuso horário informações de forma diferente das outras versões do Windows para fazer. Se você não executar o O Outlook ou Exchange atualizar ferramentas novamente em ou após 1 de janeiro de 2008, todos os compromissos no segundo evento de hora de verão terão um desfasamento de uma hora. O segundo DST evento inclui datas entre 16 de março de 2008 por meio de 6 de abril de 2008.

    Se você não fizer isso deseja esperar até 1 de janeiro de 2008 para atualizar os compromissos no segundo o horário de verão evento, você pode executar as ferramentas de atualização do Outlook ou Exchange de um computador que está executando o Windows XP ou Windows Server 2003.
  • Uma data no formato dd/mm/aaaa é alterada para o formato DD/M/aaaa

    Você definir o Data de Patch do sistema operacional opção de troca de Ferramenta de actualização de calendário. Quando você fizer isso, a ferramenta de actualização de calendário do Exchange não funcionar corretamente. Esse problema ocorre porque o formato de data MM/DD/YYYY é alterado para M/mm/aaaa.

    Além disso, uma mensagem de erro semelhante a seguinte mensagem de erro é registrada no log de erros:
    [28/02/2008 10: 7: 21 AM] [776]: wmain: Falha ao ler configuração - erro 0x80070057.
    Esse problema ocorre devido a uma configuração de opção incorreta na seção a seguir de caixas de correio as amostra.servidorarquivo. ini.
    ServerDN = /O=OrgName/OU=AdminGroup/cn=Configuration/cn=Servers/cn=ServerName 
    LogDirectory = C:\Program Files\MSExTmz\ServerName\Update\LogFiles\ 
    ErrorFile = C:\Program Files\MSExTmz\ServerName\Update\errors.ServerName.txt 
    ProcessedFile = C:\Program Files\MSExTmz\ServerName\Update\processed.ServerName.txt 
    LogFile = C:\Program Files\MSExTmz\ServerName\Update\msextmz.ServerName.log 
    SystemPatchDate = 2/28/2008  
    DebugFile = C:\Program Files\MSExTmz\debug\ServerName.debug.bin 
    PerMailboxTimeLimit = 15 
    PostMailboxDelay = 0 
    RebaseOptions = 171 
    InputFile = C:\Program Files\MSExTmz\ServerName\Update\Mailboxes.ServerName.txt 
    
    Observe que a linha "SystemPatchDate" contém a data "2/28/08." Essa data deve estar no formato DD/MM/AAAA.

    Para contornar esse problema, não use o Patch do sistema operacional Data opção.

Referências

O script "Conceder permissão de caixa de correio"

Option Explicit
' For FileSystemObject
Const ForReading = 1
Const ForWriting = 2
Const ForAppending = 8
Const TristateTrue = -1
Const TristateUseDefault = -2
Const TristateFalse = 0

'Permission Type: Allow or Deny
Const ADS_ACETYPE_ACCESS_ALLOWED = &H0
Const ADS_ACETYPE_ACCESS_DENIED = &H1
Const ADS_ACETYPE_ACCESS_ALLOWED_OBJECT = &H5
Const ADS_ACETYPE_ACCESS_DENIED_OBJECT = &H6

Const ADS_ACEFLAG_INHERIT_ACE = &H2
Const ADS_ACEFLAG_NO_PROPAGATE_INHERIT_ACE = &H4
Const ADS_ACEFLAG_INHERIT_ONLY_ACE = &H8
Const ADS_ACEFLAG_INHERITED_ACE = &H10
Const ADS_ACEFLAG_VALID_INHERIT_FLAGS = &H1f
Const ADS_ACEFLAG_SUCCESSFUL_ACCESS = &H40
Const ADS_ACEFLAG_FAILED_ACCESS = &H80

'Declare ADSI constants
Const ADS_SCOPE_SUBTREE = 2
Const ADS_OPTION_SECURITY_MASK = 3
Const ADS_OPTION_REFERRALS	= 1
Const ADS_SECURITY_INFO_DACL = 4
Const ADS_CHASE_REFERRALS_NEVER = &h00 
Const ADS_CHASE_REFERRALS_SUBORDINATE = &h20 
Const ADS_CHASE_REFERRALS_EXTERNAL = &h40

'Microsoft Exchange Server
Const EX_MB_SEND_AS_ACCESSMASK  = &H00100
Const EX_FULLMAILBOX_ACCESSMASK = 1
Const EX_MB_SEND_AS_GUID = "{AB721A54-1E2F-11D0-9819-00AA0040529B}"

'Application Parameter Index
Const ARG_INDEX_MODE = 0
Const ARG_INDEX_USERNAME = 1
Const ARG_INDEX_FILENAME = 2
Const MIN_ARG = 1

Const MODE_INVALID = -1 
Const MODE_ADD = 0
Const MODE_REMOVE = 1

Const ADD = "-ADD"
Const REMOVE = "-REMOVE"

'Application Const String
Const EMPTYSTRING = ""
Const ERROR_FILENAME = "GrantMailboxPermission.err"
Const OUTPUT_FILENAME = "GrantMailboxPermission.log"
Dim OUTPUT_DELIMITER
OUTPUT_DELIMITER = vbTab

'Logging file
Dim objFSO
Dim objfileError
Dim objfileOutput
Dim objfileImport
Dim objconn
Dim objCommand
Dim rootDSE
Dim sDomainContainer
Dim sUserLDAPPath
Dim objUser
Dim objSDNTsecurity
Dim objDACLNT
Dim objDACLEX
Dim objSDMailbox
Dim fFMA
Dim fSendAs
Dim AccessTypeForFMA
Dim AccessTypeForSendAS
Dim fAddedFMA
Dim fAddedSendAs
Dim fRemovedFMA
Dim fRemovedSendAs
Dim sArraySplit
Dim sOneRow
Dim sGrantedUser
Dim dArgCount
Dim cScriptMode
Dim dArgExpected
Dim fOneError

On Error Resume Next
'Parameter Verification
dArgCount = Wscript.Arguments.Count
If (dArgCount < MIN_ARG) Then
	DisplaySyntax
End If

cScriptMode = MODE_INVALID
Select Case UCase(WScript.Arguments(ARG_INDEX_MODE))
	Case ADD
		cScriptMode = MODE_ADD
		dArgExpected = ARG_INDEX_FILENAME + 1
	Case REMOVE
		cScriptMode = MODE_REMOVE
		dArgExpected = ARG_INDEX_MODE + 1
	Case Else
		cScriptMode = MODE_INVALID
End Select

If (cScriptMode = MODE_INVALID Or dArgCount <> dArgExpected) Then
	DisplaySyntax
End If

If (cScriptMode = MODE_ADD) Then
	sGrantedUser = WScript.Arguments(ARG_INDEX_USERNAME)
	If (IsValidUserName(sGrantedUser) = False) Then
		DisplaySyntax
	End If
End If

CreateImportExportFiles

If (cScriptMode = MODE_ADD) Then
	err.Clear
	
	'Prepare LDAP connection.
	Set objconn = CreateObject("ADODB.Connection")
	Set objCommand = CreateObject("ADODB.Command")
	objconn.Provider = "ADSDSOObject"
	objconn.Open "ADs Provider"
	If (err.number <> 0) Then
		WScript.StdOut.WriteLine("Failed to bind to Active Directory server, error:" & err.Description)
		objfileError.WriteLine("Failed to bind to Active Directory server, error:" & err.Description)
		WScript.Quit
	End If
		
	Set rootDSE = GetObject("LDAP://rootDSE")
	sDomainContainer = rootDSE.Get("defaultNamingContext")
	If (err.number <> 0) Then
		WScript.StdOut.WriteLine("Failed to find a Domain Container:" & err.Description)
		objfileError.WriteLine("Failed to find a Domain Container:" & err.Description)
		WScript.Quit
	End If
		
	Set objCommand.ActiveConnection = objconn

	Do While objfileImport.AtEndOfStream <> True
		fOneError = False
		sUserLDAPPath = EMPTYSTRING
		err.Clear

		sOneRow = Trim(objfileImport.ReadLine)
		If sOneRow <> EMPTYSTRING Then
		
		    sUserLDAPPath = GetLDAPPathFromLegacyDN(sOneRow)
		    If (err.number <> 0) Then
			    objfileError.WriteLine("Failed to get user's LDAP path from " & sOneRow)
			    fOneError = True
			    err.Clear
		    End If

		    If (fOneError = False) Then
			    Set objUser = GetObject(sUserLDAPPath)
			    If (err.number <> 0) Then
				    objfileError.WriteLine("Failed to get user object from " & sUserLDAPPath)
				    objfileError.WriteLine("Error: " & err.Description)
				    fOneError = True
				    err.Clear
			    End If
		    End If
    	
		    If (fOneError = False) Then
			    Set objSDMailBox = objUser.MailboxRights
			    Set objDACLEX = objSDMailbox.DiscretionaryAcl
			    Set objSDNTsecurity = objUser.ntSecurityDescriptor
			    Set objDACLNT = objSDNTsecurity.DiscretionaryAcl
			    If (err.number <> 0) Then
				    objfileError.WriteLine("Failed to get DACL of " & sUserLDAPPath)
				    objfileError.WriteLine("Error: " & err.Description)
				    fOneError = True
				    err.Clear
			    End If
		    End If

		    ' Verify Full Mailbox Access and Send As permissions.
		    fFMA = False
		    fSendAs = False
		    AccessTypeForFMA = ADS_ACETYPE_ACCESS_ALLOWED
		    AccessTypeForSendAS = ADS_ACETYPE_ACCESS_ALLOWED

		    If (fOneError = False) Then
			    CheckFullMailboxAccess objDACLEX, sGrantedUser, fFMA, AccessTypeForFMA
			    CheckSendAs objDACLNT, sGrantedUser, fSendAs, AccessTypeForSendAS
			    If (err.number <> 0) Then
				    objfileError.WriteLine("Failed to Check permission of " & sUserLDAPPath)
				    objfileError.WriteLine("Error: " & err.Description)
				    fOneError = True
				    err.Clear
			    End If
		    End If

		    'If Send As or Full Mailbox Access permissions do not exist, add these permissions.
		    If ( (AccessTypeForFMA = ADS_ACETYPE_ACCESS_DENIED) Or (AccessTypeForSendAs = ADS_ACETYPE_ACCESS_DENIED_OBJECT) ) Then
			    'If Deny access is already granted, do not add permissions for this user.
			    objfileError.WriteLine("Deny permission already added: " & sUserLDAPPath)
			    fOneError = True
		    End If
    		
		    If ( fOneError = False And ((fFMA = False) Or (fSendAs = False)) ) Then
			    fAddedFMA = False
			    fAddedSendAs = False
    			
			    If (fFMA = False) Then
				    'Add Full Mailbox Access permissions.
				    err.Clear
				    AddAce objDACLEX, sGrantedUser, EX_FULLMAILBOX_ACCESSMASK, ADS_ACETYPE_ACCESS_ALLOWED, ADS_ACEFLAG_INHERIT_ACE, 0,0,0
				    objSDMailbox.DiscretionaryAcl = objDACLEX
				    objUser.MailboxRights = Array(objSDMailbox)
				    If ( err.number <> 0 ) Then
					    objfileError.WriteLine("Failed to add FullMailbox Access: " & sUserLDAPPath)
					    objfileError.WriteLine("Error: " & err.Description)
					    fOneError = True
					    fAddedFMA = False
					    err.Clear
				    Else
					    fAddedFMA = True
				    End If
			    End If
    			
			    If (fSendAs = False) Then
				    'Add Send As permissions.
				    err.Clear
				    AddAce objDACLNT, sGrantedUser, EX_MB_SEND_AS_ACCESSMASK, ADS_ACETYPE_ACCESS_ALLOWED_OBJECT, 0,1, EX_MB_SEND_AS_GUID, 0
				    objSDNTsecurity.DiscretionaryAcl = objDACLNT
				    objUser.Put "ntSecurityDescriptor", Array( objSDNTsecurity )
				    objUser.SetOption ADS_OPTION_SECURITY_MASK, ADS_SECURITY_INFO_DACL
				    If ( err.number <> 0 ) Then
					    objfileError.WriteLine("Failed to add SendAs permission: " & sUserLDAPPath)
					    objfileError.WriteLine("Error: " & err.Description)
					    fOneError = True
					    fAddedSendAs = False
					    err.Clear
				    Else
					    fAddedSendAs = True
				    End If
			    End If

			    If (fOneError = False ) Then 
				    objUser.SetInfo
				    If (err.number <> 0) Then
					    objfileError.WriteLine("Failed to update user: " & sUserLDAPPath)
					    objfileError.WriteLine("Error: " & err.Description)
					    fOneError = True
					    err.Clear		
				    Else
					    'Update logging.
					    objfileOutput.WriteLine(sUserLDAPPath & OUTPUT_DELIMITER & fAddedFMA & OUTPUT_DELIMITER & fAddedSendAs)		
				    End If
			    End If
		    End If

		    Set objUser = Nothing
		    Set objSDNTsecurity = Nothing
		    Set objDACLNT = Nothing
		    Set objDACLEX = Nothing
		    Set objSDMailBox = Nothing

		    If (fOneError = True) Then
			    WScript.StdOut.Write("!")
		    Else
			    WScript.StdOut.Write(".")
		    End If
        End If
	Loop

Set rootDSE = Nothing
Set objCommand = Nothing
Set objconn = Nothing

End If

If (cScriptMode = MODE_REMOVE) Then
	'Retrieve the granted user from the first line of the import file.
	sGrantedUser = objfileImport.ReadLine
	If (IsValidUserName(sGrantedUser) = False) Then
		WScript.StdOut.WriteLine("Invalid User in import file. please check import file..")
		objfileError.WriteLine("Invalid User in import file. please check import file..")
		WScript.Quit
	End If
	
	Do While objfileImport.AtEndOfStream <> True
		fOneError = False
		sUserLDAPPath = EMPTYSTRING
		fAddedFMA = False
		fAddedSendAs = False
		fRemovedFMA = False
		fRemovedSendAs = False
		err.Clear

		sOneRow = objfileImport.ReadLine
		sArraySplit = Split(sOneRow, OUTPUT_DELIMITER)

		'The first column is the LDAP path.
		sUserLDAPPath = sArraySplit(0)
		'The second column is Full Mailbox Access permissions.
		fAddedFMA = sArraySplit(1)
		'The third column is Send As permissions.
		fAddedSendAs = sArraySplit(2)

		Set objUser = GetObject(sUserLDAPPath)
		If (err.number <> 0) Then
			objfileError.WriteLine("Failed to get user object from " & sUserLDAPPath)
			objfileError.WriteLine("Error: " & err.Description)
			fOneError = True
			err.Clear
		End If
		
		If ((fOneError = False) And (fAddedFMA = "True")) Then		
			Set objSDMailBox = objUser.MailboxRights
			Set objDACLEX = objSDMailbox.DiscretionaryAcl
			fRemovedFMA = RemoveFullMailboxAccess(objDACLEX, sGrantedUser)
			If (err.number <> 0) Then
				objfileError.WriteLine("Failed to Remove Full MailboxAccess from " & sUserLDAPPath)
				objfileError.WriteLine("Error: " & err.Description)
				fOneError = True
				err.Clear
			End If
			
			If (fRemovedFMA = False) Then
				objfileError.WriteLine("Couldn't find Full mailbox access permission on " & sUserLDAPPath)
			End If
			
			If ((fOneError = False) And (fRemovedFMA = True)) Then
				objSDMailbox.DiscretionaryAcl = objDACLEX
				objUser.MailboxRights = Array(objSDMailbox)
			End If
		End If

		If ((fOneError = False) And (fAddedSendAs = "True")) Then		
			Set objSDNTsecurity = objUser.ntSecurityDescriptor
			Set objDACLNT = objSDNTsecurity.DiscretionaryAcl

			fRemovedSendAs = RemoveSendAs(objDACLNT, sGrantedUser)
			If (err.number <> 0) Then
				objfileError.WriteLine("Failed to Remove SendAs from " & sUserLDAPPath)
				objfileError.WriteLine("Error: " & err.Description)
				fOneError = True
				err.Clear
			End If

			If (fRemovedSendAs = False) Then
				objfileError.WriteLine("Couldn't find SendAs permission on " & sUserLDAPPath)
			End If
			
			If ((fOneError = False) And (fRemovedSendAs = True)) Then
				objSDNTsecurity.DiscretionaryAcl = objDACLNT
				objUser.Put "ntSecurityDescriptor", Array( objSDNTsecurity )
				objUser.SetOption ADS_OPTION_SECURITY_MASK, ADS_SECURITY_INFO_DACL
			End If
		End If

		If ((fOneError = False) And (fRemovedFMA Or fRemovedSendAs)) Then
			objUser.SetInfo
			If (err.number <> 0) Then
				objfileError.WriteLine("Failed to update ADSI for user: " & sUserLDAPPath)
				objfileError.WriteLine("Error: " & err.Description)
				fOneError = True
				err.Clear		
			Else 
				If ( fRemovedFMA Or fRemovedSendAs ) Then
					'Update logging.
					objfileError.WriteLine("Removed Permission from " & sUserLDAPPath & OUTPUT_DELIMITER & fRemovedFMA & OUTPUT_DELIMITER & fRemovedSendAs)
				End If
			End If
		End If

		If (fOneError = True) Then
			WScript.StdOut.Write("!")
		Else
			WScript.StdOut.Write(".")
		End If
	Loop
End If

CloseImportexportFiles

Function IsValidUserName (sUserName)
	Dim dPosition
	dPosition = InStr(1, sUserName, "\")
	If (dPosition = 0 ) Then
		IsValidUserName = False
		objfileError.WriteLine("Invalid User:" & sUserName)
	Else
		IsValidUserName = True
	End If
End Function

Function CheckSendAs (objNTSD, sUser, fSendAs, AccessType)
	Dim intACECount
	Dim objACE
	
	err.Clear
	fSendAs = False
	AccessType = ADS_ACETYPE_ACCESS_ALLOWED
	intACECount = objNTSD.AceCount

	If intACECount Then
		For Each objACE In objNTSD
			err.Clear
			If ( (UCase(objACE.Trustee) = UCase(sUser)) And (objACE.ObjectType = EX_MB_SEND_AS_GUID) ) Then
				fSendAs = True
				AccessType = objACE.AceType
			End If
		Next
	End If	

	If (err.number <> 0) Then
		objfileError.WriteLine("Check SendAs permissions Failed : " & sUser)
		objfileError.WriteLine("Error: " & err.Description)
		err.Clear
		fOneError = True
	End If
	Set objACE = Nothing
End Function

Function CheckFullMailboxAccess (objACL, sUser, fFoundFMA, AccessType)
	Dim intACECount
	Dim objACE

	err.Clear
	fFoundFMA = False
	AccessType = ADS_ACETYPE_ACCESS_ALLOWED
	intACECount = objACL.AceCount
	If intACECount Then
		For Each objACE In objACL
			If ( (UCase(objACE.Trustee) = UCase(sUser)) And ((objACE.AccessMask And EX_FULLMAILBOX_ACCESSMASK) <> 0)) Then
				fFoundFMA = True
				AccessType = objACE.AceType
			End If
		Next
	End If

	If (err.number <> 0) Then
		objfileError.WriteLine("Check FullMailbox permissions Failed : " & sUser)
		objfileError.WriteLine("Error: " & err.Description)
		err.Clear
		fOneError = True
	End If
	Set ObjACE = Nothing
End Function

Function RemoveSendAs (objNTSD, sUser)
	Dim intACECount
	Dim objACE
	Dim fFound
	
	fFound = False
	intACECount = objNTSD.AceCount
	
	If intACECount Then
		For Each objACE In objNTSD
			If ((UCase(objACE.Trustee) = UCase(sUser)) And (objACE.ObjectType = EX_MB_SEND_AS_GUID) ) Then
				objNTSD.RemoveAce objACE
				fFound = True
			End If
		Next
	End If

	RemoveSendAs = fFound		
End Function

Function RemoveFullMailboxAccess (objACL, sUser)
	Dim intACECount
	Dim objACE
	Dim fFound
	
	fFound = False
	intACECount = objACL.AceCount
	
	If intACECount Then
		For Each objACE In objACL
			If((0 <> Instr(UCase(objACE.Trustee), UCase(sUser))) And (objACE.AccessMask And EX_FULLMAILBOX_ACCESSMASK) <> 0) Then
				objACE.AccessMask = (objACE.AccessMask Xor EX_FULLMAILBOX_ACCESSMASK)
				fFound = True
			End If
		Next
	End If

	RemoveFullMailboxAccess = fFound		
End Function

Function GetLDAPPathFromLegacyDN (sLegacyDN)
	Dim rsUsers
	Dim sLdapPath
	
	objCommand.CommandText = "<GC://" & sDomainContainer & ">;(&(&(& (mailnickname=*) (| (&(objectCategory=person)(objectClass=user)(legacyExchangeDN=" & sLegacyDN & ")) ))));adspath;subtree"
	objCommand.Properties("searchscope") = ADS_SCOPE_SUBTREE
	objCommand.Properties("Page Size") = 10
	objCommand.Properties("Timeout") = 30 
	objCommand.Properties("Chase referrals") = (ADS_CHASE_REFERRALS_SUBORDINATE Or ADS_CHASE_REFERRALS_EXTERNAL)

	err.Clear	
	Set rsUsers = objCommand.Execute
	If (err.number <> 0) Then
		objfileError.WriteLine("Search for mailbox owners failed, error:" & err.Description)
		fOneError = True
	End If
	
	If (rsUsers.RecordCount = 0) Then
		objfileError.WriteLine("No mailbox owner user accounts found for " & sLegacyDN & " in " & sDomainContainer & ".")
		fOneError = True		
	End If

	If (rsUsers.RecordCount > 1) Then
		objfileError.WriteLine("Multiple mailboxs owner user accounts found for " & sLegacyDN & " in " & sDomainContainer & ".")
		fOneError = True		
	End If

	sLdapPath = Replace(rsUsers.Fields(0).Value, "GC://", "LDAP://")	
	GetLDAPPathFromLegacyDN = sLdapPath
	Set rsUsers = Nothing
End Function

Function CloseImportexportFiles

	objfileError.WriteLine("*******************************************************")
	objfileError.WriteLine("End at " & Date & " " & Time)
	objfileError.WriteLine("*******************************************************")

	objFSO.Close
	objfileError.Close
	objfileOutput.Close
	objfileImport.Close
	
	Set objFSO = Nothing
	Set objfileError = Nothing
	Set objfileOutput = Nothing
	Set objfileImport = Nothing
End Function

Function CreateImportExportFiles
	Dim sErrorsFileName
	Dim sImportFileName
	Dim sOutputFileName

	err.Clear
	Set objFSO = CreateObject("Scripting.FileSystemObject")
	sErrorsFileName = ERROR_FILENAME
	sImportFileName = EMPTYSTRING
	sOutputFileName = EMPTYSTRING

	Select Case cScriptMode
		Case MODE_ADD
			sImportFileName = WScript.Arguments(ARG_INDEX_FILENAME)
			sOutputFileName = OUTPUT_FILENAME
		Case MODE_REMOVE
			sImportFileName = OUTPUT_FILENAME 'Use the output file name as the import file.
			sOutputFileName = EMPTYSTRING	
		Case Else
			DisplaySyntax
	End Select

	Set objfileError = objFSO.OpenTextFile(sErrorsFileName, ForAppending, True, TristateTrue)
	objfileError.WriteLine("*******************************************************")
	objfileError.WriteLine("Start at " & Date & " " & Time)
	objfileError.WriteLine("*******************************************************")

	If (cScriptMode = MODE_REMOVE) Then
		Set objfileImport = objFSO.OpenTextFile(sImportFileName, ForReading, False, TristateTrue)
	Else
		Set objfileImport = objFSO.OpenTextFile(sImportFileName, ForReading, False, TristateFalse)
	End If

	If (sOutputFileName <> EMPTYSTRING) Then
		'Determine whether the output file already exists.
		If (objFSO.FileExists(sOutputFileName)) Then
			Set objfileOutput = objFSO.OpenTextFile(sOutputFileName, ForReading, False, TristateTrue)
			sOneRow = objfileOutput.ReadLine
			'If the user name in the file differs from the parameter, the process cannot continue.
			If ( sOneRow <> sGrantedUser ) Then
				WScript.StdOut.WriteLine("The Domain\User must be the same as " & sOneRow )
				WScript.Quit
			End If
			Set objfileOutput = objFSO.OpenTextFile(sOutputFileName, ForAppending, True, TristateTrue)
		Else
			Set objfileOutput = objFSO.OpenTextFile(sOutputFileName, ForWriting, True, TristateTrue)
			'The first line of the log file is the user who is granted the permissions.
			objfileOutput.WriteLine(sGrantedUser)
		End If
	End If
	
	If (err.number <> 0) Then
		WScript.StdOut.WriteLine("Failed to open Log file, error:" & err.Description)
		WScript.Quit
	End If
End Function

Function AddAce(dacl, TrusteeName, gAccessMask, gAceType, gAceFlags, gFlags, gObjectType, gInheritedObjectType)
	Dim Ace1
	
	Set Ace1 = CreateObject("AccessControlEntry")
	Ace1.AccessMask = gAccessMask
	Ace1.AceType = gAceType
	Ace1.AceFlags = gAceFlags
	Ace1.Flags = gFlags
	Ace1.Trustee = TrusteeName
	'Determine whether ObjectType has to be set.
	If CStr(gObjectType) <> "0" Then
		Ace1.ObjectType = gObjectType
	End If

	'Determine whether InheritedObjectType has to be set.
	If CStr(gInheritedObjectType) <> "0" Then
		Ace1.InheritedObjectType = gInheritedObjectType
	End If
	dacl.AddAce Ace1

    Set Ace1 = Nothing
End Function

Function DisplaySyntax
	WScript.StdOut.WriteLine("Syntax:")
	WScript.StdOut.WriteLine()
	WScript.StdOut.WriteLine("Grant Full mailbox access and SendAs permission to USER based on IMPORT_FILE:")
	WScript.StdOut.WriteLine("    CSCRIPT " & WScript.ScriptName & " -Add DOMAIN\USER IMPORT_FILE")
	WScript.StdOut.WriteLine("    NOTE: """ & OUTPUT_FILENAME & """ will be created for -Remove option ")
	WScript.StdOut.WriteLine()
	WScript.StdOut.WriteLine("Remove Full mailbox access and SendAs permission based on " & OUTPUT_FILENAME & ":")
	WScript.StdOut.WriteLine("    CSCRIPT """ & WScript.ScriptName & """ -Remove ")
	WScript.StdOut.WriteLine()
	WScript.StdOut.WriteLine("For all modes, errors are saved to " & ERROR_FILENAME )

	WScript.Quit	
End Function

Propriedades

ID do artigo: 941018 - Última revisão: quarta-feira, 19 de outubro de 2011 - Revisão: 1.0
A informação contida neste artigo aplica-se a:
  • Microsoft Exchange Server 2007 Enterprise Edition
  • Microsoft Exchange Server 2007 Standard Edition
  • Microsoft Exchange Server 2003 Enterprise Edition
  • Microsoft Exchange Server 2003 Standard Edition
  • Microsoft Exchange 2000 Enterprise Server
  • Microsoft Exchange 2000 Server Standard Edition
Palavras-chave: 
kbhowto kbinfo kbmt KB941018 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 941018

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com