Comment entrer l'adresse de l'heure d'été à l'aide de l'outil de mise à jour de calendrier Exchange

Traductions disponibles Traductions disponibles
Numéro d'article: 941018 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

INTRODUCTION

L'heure d'été est un système pour définir des horloges à l'avance afin que qu'aube et Crépuscule se trouver en une heure ultérieure. L'effet est plus l'heure d'été le soir. De nombreux pays respectent l'heure. Plupart de ceux-ci pays ont leurs propres règles et réglementations quand l'heure d'été commence et se termine.

Les dates d'heure d'été (DST) peuvent changer. à partir de l'année de l'année. Les utilisateurs de Microsoft Outlook ont mettre à jour leur Outlook calendrier chaque fois que vous modifiez les règles de l'heure d'été. Les dates entre le précédent L'heure d'été et les règles de l'heure d'été en cours constituent dans cet article comme le « période de l'heure d'été étendue ».

Cet article décrit les actions que vous avez à prendre pour les éléments de calendrier adresse dans Outlook qui se produisent lors de l'étendue Période d'heure d'été. Cet article décrit également les actions à entreprendre pour mettre à jour des éléments de calendrier sont stockées dans Microsoft Exchange Server en fonction de les nouvelles règles de l'heure d'été. La solution présentée dans cet article implique la Microsoft outil de mise à jour du calendrier Exchange (« l'outil Exchange »).

Pour plus d'informations sur la façon de préparer les modifications de l'heure d'été dans 2007 (Heure d'été 2007) pour tous les produits Microsoft concernés, consultez le Site Web de Microsoft :
http://support.Microsoft.com/GP/cp_dst
En 2011, les pouvoirs publics russes a adopté une loi pour annuler l'heure d'été (DST). Pour plus d'informations, reportez-vous au site Web de Microsoft à l'adresse suivante :
http://support.Microsoft.com/GP/cp_dst#tab0
Pour plus d'informations en russe, reportez-vous au site Web de Microsoft à l'adresse suivante :
http://support.Microsoft.com/GP/cp_dst/RU#tab0

Plus d'informations

À propos de l'outil Exchange

Après avoir installé les mises à jour l'heure d'été pour Microsoft Windows, toutes les anciennes les rendez-vous qui se produisent pendant les périodes de changement d'heure d'été seront incorrectement affiché comme se produisant une heure plus tard. Cela est vrai pour les deux périodique et rendez-vous uniques. Vous devez mettre à jour ces rendez-vous donc qu'ils s'affichent correctement dans Outlook, dans le Microsoft Office Outlook Web Access et dans les applications qui reposent sur la Collaboration Data Objects (CDO).

Outlook fournit un outil nommé la mise à jour des données de fuseau horaire Outil de Microsoft Office Outlook (« l'outil Outlook »). Cet outil permet aux utilisateurs Pour mettre à jour leurs propres calendriers.

Pour plus d'informations sur la mise à jour des données de fuseau horaire Outil, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans Microsoft Base de connaissances :
931667Comment traiter les modifications de l'heure d'été en 2007 à l'aide de l'outil de mise à jour de données de fuseau horaire pour Microsoft Office Outlook
L'outil de mise à jour du calendrier Exchange (« l'échange outil") vous permet d'éviter les difficultés que les administrateurs sont confrontés dans le déploiement l'outil Outlook largement à tous les utilisateurs et en veillant à ce que chaque utilisateur exécute le Outlook outil correctement.

Description détaillée de l'outil Exchange

L'outil Exchange se compose de deux fichiers exécutables séparés. Ces les fichiers sont décrits dans le tableau suivant.
Réduire ce tableauAgrandir ce tableau
Nom de fichierDescription
Msextmz.exe Ce fichier exécutable extrait le fuseau horaire informations de boîtes aux lettres sur un serveur exécutant Exchange Server. Ceci fichier exécutable met également à jour les calendriers de boîte aux lettres pour une liste précise de utilisateurs.
Msextmzcfg.exe Ce fichier exécutable est un outil de configuration qui effectue la plupart des étapes impliquées dans mise à jour d'un serveur Exchange Server.

À propos de la nouvelle version de l'outil Exchange

En fonction des commentaires des clients, une nouvelle version de l'outil Exchange a été publié le 13 août 2007. Cet article fait référence à la nouvelle version de la Outil Exchange. Si vous exécutez une version antérieure de l'outil Exchange, Désinstallez-la et installez la nouvelle version.

La nouvelle version de l'outil Exchange comprend les améliorations suivantes :
  • L'extraction de fuseau horaire et le processus de mise à jour de calendrier sont accélérés par.
  • L'interface utilisateur de l'outil de configuration est plus rationalisation et intuitive.
  • La possibilité de mettre à jour les ressources et les salles de conférence boîtes aux lettres est désormais disponible dans l'outil de configuration.
  • La possibilité de mettre à jour des boîtes aux lettres utilisateur est désormais intégrée à la outil de configuration.
  • Un document de dépannage est désormais inclus avec le Outil Exchange et il est intégré à l'outil de configuration.
  • L'algorithme d'extraction de fuseau horaire et la gestion des erreurs fonctionnalités ont été améliorées.
  • Le processus d'enregistrement est plus convivial.

Risque d'exécution de l'outil Exchange

Lorsque vous exécutez l'outil Exchange, il existe un risque qui rendez-vous uniques ne peuvent pas mis à jour correctement. Par exemple, rendez-vous uniques qui a été créé après le système d'exploitation par l'utilisateur mise à jour de mai mise à jour incorrecte.

Pour réduire ce risque, appliquez l'une des les méthodes suivantes :
  • Réduire l'intervalle entre le moment où vous mettez à jour les ordinateurs clients et l'heure que vous mettez à jour les calendriers de boîte aux lettres.
  • Si les ordinateurs de l'organisation ont été mis à jour un certain temps Il y a, utilisez le Mettre à jour uniquement les réunions périodiques la définitionParamètres avancés.

    En règle générale, les personnes ne créent pas rendez-vous uniques plusieurs mois à l'avance. Par conséquent, si le technicien DST mises à jour ont été installées plusieurs mois avant la plupart des réunions à instance unique qui tombent dans la période d'heure d'été étendue est créé en utilisant le nouveau Règles de transition de l'heure d'été. Ces réunions ne comportent pas d'être mis à jour.
  • Si vous savez exactement date à laquelle tous les ordinateurs clients ont été mis à jour, utilisez le Date du système d'exploitation Patch la définitionParamètres avancés. Si une date est spécifiée, instance unique rendez-vous qui ont été créés après cette date ne sont pas mis à jour par l'échange outil.
Remarque Si vous exécutez l'outil Outlook ou Exchange sur un client ordinateur qui exécute Windows Vista et que vous exécutez l'outil par rapport aux boîtes aux lettres dans le cas où le fuseau horaire de base est l'heure d'hiver Nouvelle-Zélande, vous devez exécuter l'outil une deuxième fois ou après le 1er janvier 2008. Pour plus d'informations, consultez le « connus « section traitant des problèmes.

Options de mise à jour des boîtes aux lettres

Le tableau suivant répertorie les cinq options que vous pouvez utiliser pour mettre à jour boîtes aux lettres utilisateur pour utiliser les règles de fuseau horaire de l'heure d'été 2007.
Réduire ce tableauAgrandir ce tableau
OptionProfessionnels de l'informatiqueInconvénients
Distribuer l'outil Outlook à chaque utilisateur et puis demandez utilisateurs à mettre à jour leurs propres boîtes aux lettres. Cette option permet d'éviter le risque que est associé à l'exécution de l'outil Exchange. Il est difficile de garantir que tous les utilisateurs exécuter l'outil Outlook correctement et dans un temps manière.

Les utilisateurs ne disposant pas d'Outlook ne pourront pas exécuter le Outil d'Outlook.

Vous devez faire un effort éducatif supplémentaire pour réduire la confusion pour les utilisateurs.
Exécutez l'outil Exchange sur tous les utilisateurs et les serveurs. Cette option offre une expérience agréable pour les utilisateurs. Il existe un risque associé à l'exécution de l'outil Exchange, en tant que décrite dans la section « Risque de l'exécution de l'outil Exchange ».
Exécutez l'outil Exchange pour mettre à jour que les rendez-vous périodiques. Permettre aux utilisateurs de mettre à jour les rendez-vous uniques dans leurs propres boîtes aux lettres à l'aide de l'outil Outlook. Il existe moins de risques de rendez-vous uniques qui est correctement mis à jour. Les inconvénients de l'exécution de l'outil Outlook sont combiné avec les inconvénients de l'exécution de l'outil Exchange.
Exécutez l'outil Exchange ni l'outil Outlook. Demander aux utilisateurs Pour examiner leurs calendriers et re-book de rendez-vous si nécessaire. Ceci option permet d'éviter le risque associé à l'exécution de l'outil Exchange. À moins que tous les utilisateurs re-book tous les rendez-vous, certains du calendrier éléments seront une heure hors tension pendant la période d'heure d'été étendue.

Vous devez faire un effort de formation supplémentaire afin de réduire la confusion pour les utilisateurs.
Distribuer l'outil Outlook à chaque utilisateur et puis demandez utilisateurs à mettre à jour leurs propres boîtes aux lettres. Ensuite, utilisez le mode d'Extraction de fuseau horaire du l'outil Exchange pour déterminer si l'utilisateur exécute l'outil Outlook.

Si les utilisateurs n'exécutent pas l'outil Outlook, l'administrateur peut Exécutez l'outil Exchange.
Cette option réduit le risque que des utilisateurs non exécution de l'outil dans un délai raisonnable et il permet d'éviter le risque est associé avec l'outil Exchange en cours d'exécution. Cela n'est pas une option si les utilisateurs sont Microsoft Office Outlook 2007 en cours d'exécution.

Comment faire pour installer l'outil Exchange

L'outil de mise à jour de calendrier Exchange est disponible au téléchargement dans le forme d'un fichier exécutable auto-extractible (Msextmz.exe). Cet outil est disponible pour le téléchargement à partir du centre de téléchargement Microsoft :

Réduire cette imageAgrandir cette image
Télécharger
Télécharger le package de l'outil de mise à jour de calendrier Exchange maintenant.

Un ordinateur virtuel est créé pour vous aider Installez et utilisez l'outil Exchange. La machine virtuelle est basée sur Microsoft Windows Server 2003, Outlook 2007, Microsoft Office, Excel 2007 et Microsoft Office Word 2007. La machine virtuelle fonctionne dans les deux Microsoft Virtual PC 2004 et dans Microsoft Virtual Server 2005 R2.

Pour plus d'informations à propos de la machine virtuelle pour l'outil de mise à jour de calendrier Exchange, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
933185Une machine virtuelle est disponible pour vous aider à déployer des mises à jour du calendrier l'heure d'été 2007 dans une organisation Exchange
Pour plus d'informations sur la façon de télécharger le support technique Microsoft fichiers, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans Microsoft Base de connaissances :
119591 Comment faire pour obtenir les fichiers de support technique Microsoft auprès des services en ligne
Microsoft a analysé ce fichier de virus. Microsoft a utilisé le plus logiciel de détection de virus actuel qui était disponible à la date que le fichier a été validée. Le fichier est stocké sur des serveurs sécurisés qui permettent d'éviter toute modification non autorisée dans le fichier.

Langues prises en charge par l'outil Exchange

L'outil Exchange est disponible uniquement en anglais. Cet outil sera exécuté uniquement sur un ordinateur anglais (États-Unis).

Versions d'Exchange Server qui sont compatibles avec l'outil Exchange

L'outil Exchange peut mettre à jour des boîtes aux lettres sur les versions suivantes d'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 Édition entreprise
  • Microsoft Exchange 2000 Server Édition Standard

Systèmes d'exploitation pris en charge par l'outil Exchange

L'outil Exchange s'exécute sur les versions 32 bits de celui-ci systèmes d'exploitation :
  • Microsoft Windows Server 2003
  • Microsoft Windows XP
  • Windows Vista

Que faire avant d'exécuter l'outil Exchange

Installer les mises à jour

Avant d'exécuter l'outil Exchange, assurez-vous que le client et serveur les ordinateurs sont mis à jour correctement. Pour ce faire, installez la mise à jour l'heure d'été Windows sur les clients et sur les serveurs. Pour plus d'informations informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
942763Mise à jour cumulative de fuseau horaire de décembre 2007 pour les systèmes d'exploitation Microsoft Windows

Si vous exécutez Microsoft Exchange Server 2003 Service Pack 2 (SP2), installer un ou deux mises à jour suivantes, en tant que Il convient pour votre organisation :
  • Mise à jour 911829
  • Mise à jour 924334
Pour plus d'informations sur ces mises à jour, cliquez sur les numéros ci-dessous Pour afficher les articles correspondants dans la Base de connaissances Microsoft :
911829Vous recevez un message d'erreur lorsque vous essayez d'effectuer des tâches d'édition, ou vous devez cliquer pour activer le cadre de la composition d'Outlook Web Access
924334 Le formulaire nouveau Message cesse de répondre après avoir installé Internet Explorer 7.0 et le contrôle S/MIME sur un client Outlook Web Access dans Exchange Server 2003
Si les utilisateurs se trouvent dans la Jérusalem Central Brésilien ou fuseau horaire d'e. sud-américain, veuillez lire les instructions de la article suivant de la Base de connaissances Microsoft :

943390 Certains éléments du calendrier Outlook sont relocalisées incorrectement lorsque vous utilisez Outlook Time Zone Data Update Tool pour tenir compte des modifications de l'heure d'été dans certains fuseaux horaires

Vérifiez la configuration système requise

Vous devez exécuter l'outil Exchange uniquement sur un ordinateur pour lequel la les conditions suivantes sont remplies :
  • L'ordinateur a Microsoft Office Outlook 2003 Service Pack 2 (SP2) ou Microsoft Office Outlook 2007 est installé.
  • L'ordinateur dispose de l'outil de données de fuseau horaire Outlook installé.
  • Microsoft.NET Framework version 2.0 est installé sur le ordinateur client.
Vous ne pouvez pas exécuter l'outil Exchange sur un ordinateur qui exécute Exchange Server ou les outils de gestion du système Exchange. Si vous essayez d'installer l'outil Exchange sur un ordinateur qui exécute Exchange Server ou l'échange Outils de gestion du système, le message d'erreur suivant s'affiche :
Outil de mise à jour du calendrier Microsoft Exchange ne peut pas être installé Microsoft Exchange.

Vérifiez les autorisations et les autres exigences de l'utilisateur

Vérifiez que les conditions suivantes sont remplies :
  • Administrer les autorisations de banque d'informations sur chaque Exchange Mise à jour de base de données de message serveur (MDB).
  • Les autorisations Envoyer en tant que pour toutes les boîtes aux lettres sont mise à jour.
  • Les autorisations d'accès de boîte aux lettres complets pour toutes les boîtes aux lettres sont mise à jour.
  • Bénéficient d'autorisations d'administrateur local sur l'ordinateur qui exécute l'outil Exchange.

Concernant le script « Accorder l'autorisation boîte aux lettres »

Vous pouvez utiliser l'exemple de script GrantMailboxPermission.vbs pour accorder un accès complet à la boîte aux lettres d'utilisateur de domaine et les autorisations Envoyer en tant qu'à tous boîtes aux lettres.

Ce script peut être exécuté que par une Exchange Server administrateur sur un ordinateur qui exécute Exchange 2000 Server ou Exchange Server 2003. Ce script ne peut pas être exécuté sur un ordinateur qui exécute Exchange Server 2007. Toutefois, vous pouvez utiliser Exchange Management Shell pour accorder le autorisations requises.

Le code du script .vbs est fourni dans le Section « Références ». Le tableau suivant décrit les deux modes dans lequel ce script s'exécute.
Réduire ce tableauAgrandir ce tableau
ModeCommandeDescription
Ajouter ? Add CScript GrantMailboxPermission.vbs Nom_domaine \ Nom_utilisateur Nom_fichier Cette commande autorise le Nom_domaine \ Nom_utilisateur Accès complet à la boîte aux lettres utilisateur et les autorisations Envoyer en tant que pour les boîtes aux lettres utilisateur sont répertoriés dans l'entrée fichier.

Le fichier d'entrée doit être un fichier texte qui contient l'héritage noms de domaine de boîtes aux lettres de l'utilisateur. Ces noms doivent être délimitées par des transports Retour + ligne (CRLF) d'alimentation.

Le script génère un Fichier GrantMailboxPermission.log. Ce fichier est un enregistrement de boîtes aux lettres qui ont été traités. La première ligne du fichier journal est le Nom_domaine \ Nom_utilisateur utilisateur disposant d'une accès. Ne supprimez pas ce fichier. Ce fichier est utilisé en mode suppression.

Si une explicite « refuser » l'accès est affecté à l'utilisateur, le script enregistre les informations dans un fichier nommé « GrantMailboxPermission.err ». Le script ne sera pas accorder ou modifier l'autorisation.

Si l'utilisateur fait partie un groupe de sécurité qui a été attribué « refuser » l'accès, le script accorde Autorisations d'accès aux boîtes aux lettres et envoyer en tant que complètes. Cependant, l'utilisateur ne pourra pas Pour vous connecter à la boîte aux lettres. Toutes les erreurs seront consignées dans le Fichier GrantMailboxPermission.err.
Supprimer CScript GrantMailboxPermission.vbs ?removeCette commande supprime l'accès complet à la boîte aux lettres et envoyer en tant que autorisations pour les boîtes aux lettres qui sont répertoriés dans le GrantMailboxPermission.log à partir de la Nom_domaine \ Nom_utilisateur utilisateur. Le Nom_domaine \ Nom_utilisateur utilisateur est spécifié dans le Fichier GrantMailboxPermission.log.
Notes
  • Lorsque vous exécutez ce script sur l'ordinateur qui exécute Exchange Server, le script un point (.) renvoie lorsque le script traite correctement un utilisateur. Le script renvoie un point d'exclamation Lorsque le script ne traite pas correctement un utilisateur de caractères (!).
  • Le fichier de sortie du mode d'Extraction de fuseau horaire ne peut pas être utilisé comme un fichier d'entrée de ce script. Pour créer le fichier d'entrée pour cette script, collez le contenu du fichier de sortie du mode d'Extraction de fuseau horaire dans Le bloc-notes, enregistrez le contenu sous un nouveau document et ensuite utiliser le nouveau document en tant que le fichier d'entrée.

Comment faire pour utiliser l'outil Exchange

Pour utiliser l'outil Exchange, démarrez la mise à jour du calendrier Exchange Outil de configuration (Msextmzcfg.exe). Ce programme vous aidera à l'ensemble processus de mise à jour des calendriers.

Exécuter le processus d'extraction de fuseau horaire

Pour mettre à jour des calendriers de boîte aux lettres, vous devez déterminer le fuseau horaire de les calendriers. Le processus d'extraction de fuseau horaire examine les propriétés et les rendez-vous des calendriers pour déterminer le fuseau horaire de leur boîte aux lettres. Pour exécuter le processus d'extraction de zone de temps, procédez comme suit :
  1. Dans la page d'accueil, cliquez sur Suivant.

    Remarque La page d'accueil vous présente l'outil de configuration et Décrit les autorisations requises pour exécuter l'outil. La page également fournit un lien vers cet article.
  2. Spécifier les paramètres de l'outil de configuration. Nous recommande que vous allouez au moins 200 mégaoctets (Mo) d'espace disque consignation.

    Si vous souhaitez modifier les paramètres par défaut, cliquez surParamètres avancés. Pour plus d'informations sur les options avancées les paramètres, consultez le tableau qui suit cette procédure.
  3. Sélectionnez les serveurs Exchange dans Active Directory local forêt du service d'annuaire que vous souhaitez mettre à jour. Ensuite, cliquez surSuivant Pour démarrer le processus d'extraction de fuseau horaire.

    Remarque Si vous avez déjà effectué d'extraction de fuseau horaire, vous pouvez ignorer Cette étape en cliquant sur Ignorer.

    Notez qu'un état barre, un lien vers le fichier journal de sortie et un affichage en temps réel du fuseau horaire processus d'extraction sont affichés. Après le fuseau horaire est processus d'extraction Terminer, cliquez sur Suivant.

    Si des erreurs ont été rencontrées, un lien vers le document dépannage s'affiche.
  4. Configurer le Boîtes aux lettres sans heure Zones page, puis cliquez sur Suivant pour analyser le calendrier éléments.

    Remarque Si l'outil détecte que les utilisateurs ne disposant pas de propriétés de niveau boîte aux lettres qui indiquent leur fuseau horaire, l'outil de recherche de rendez-vous et réunions réelles à l'intérieur de ces calendriers pour déterminer le fuseau horaire. Vous pouvez spécifier le nombre des éléments de calendrier à travers laquelle vous souhaitez que l'outil de configuration à analyser. Le plus grand nombre d'éléments que vous spécifiez, plus l'analyse est longue.
  5. Dans la Résolution d'affichage de fuseau horaire inconnu noms page, l'outil vous invite à mapper les fuseaux horaires qui effectue l'outil ne reconnaît pas un fuseau horaire de système d'exploitation connue. Après cela, cliquez surSuivant
  6. Si l'outil de configuration détecte que les utilisateurs qui ont de multiples les fuseaux, vous êtes invité à résoudre manuellement le conflit en spécifiant une fuseau horaire avec laquelle mettre à jour le calendrier de l'utilisateur. Après cela, cliquez surSuivant.
  7. Dans la Enregistrement DNs de boîte aux lettres avec le temps non résolues Zones page, les utilisateurs restants ayant encore n'ont aucun fuseau horaire informations ou qui ont toujours des informations de fuseau horaire en conflit sont enregistrées dans un fichier journal distinct. Cliquez sur Suivant.
Le processus d'extraction de fuseau horaire est maintenant terminé. La liste des les utilisateurs et des fuseaux horaires extraits se trouve dans le fichier de sortie (Output.txt) dans le répertoire d'installation.

Paramètres avancés

Le tableau suivant décrit les paramètres avancés qui Vous pouvez configurer à l'étape 2 de la procédure précédente.
Réduire ce tableauAgrandir ce tableau
ParamètreFonctionnalitésScénarioConsidérations relatives à laApplicabilité
Mettre à jour les réunions périodiquesCeci modification du paramètre mises à jour seules les réunions périodiques qui sont affectées par le technicien DST. Rendez-vous uniques qui tombent dans la période d'heure d'été étendue ne sont pas mise à jour indépendamment de si elles doivent être mises à jour.Si les ordinateurs dans l'organisation ont été mis à jour il y a longtemps, utilisez ce paramètre.

En règle générale, les personnes ne créent pas de rendez-vous uniques de nombreux mois à l'avance. Par conséquent, si les mises à jour l'heure d'été a été installés plusieurs mois avant, la plupart des réunions uniques qui tombent dans l'heure d'été étendue période sera ont été créé en utilisant les nouvelles règles de transition de l'heure d'été. Ces réunions ne comportent pas d'être mis à jour.
Si un utilisateur a créé une instance unique nombre de mois à l'avance de la réunion, cette réunion n'est pas mis à jour si ce paramètre est spécifié.Ce paramètre s'applique à toutes les boîtes aux lettres, à toutes les conférences salles et pour tous les calendriers des utilisateurs.
Installation des correctifs de système d'exploitation DateCe paramètre spécifie que seule instance rendez-vous qui sont créés ou mis à jour après la date que vous spécifiez ne sont pas mise à jour.Si vous connaissez la date exacte où tous les ordinateurs clients étaient mise à jour, utilisez ce paramètre.

Lorsque vous faites cela, les réunions qui sont créé après avoir installé la mise à jour ne sont pas mis à jour. Ces réunions se répartissent sous les nouvelles règles de fuseau horaire.
Ce paramètre n'est effective que lorsque le les ordinateurs clients étaient tous mis à jour dans moins de 24 heures et lorsqu'il existe pénétration élevée de la mise à jour. (Il y a forte pénétration lorsque le pourcentage des ordinateurs dans l'organisation qui ont été mis à jour se trouve dans le haut plage de 90 pour cent.)

En outre, les administrateurs peuvent spécifier qu'un seul mettre à jour la date. Réunions qui sont créées dans des fuseaux horaires qui correspondent aux met à jour et spécifique pour ensembles de zones doivent être mis à jour de temps.

Les implications pour les salles de conférence soient qui conférence uniquement mis à jour les espaces sont dans les plages horaires spécifiques.

Les implications pour l'utilisateur boîtes aux lettres est que si le SuppressExchange la définition ou la SuppressAll paramètre n'est pas spécifié, seules les boîtes aux lettres de l'utilisateur qui appartenir à l'heure spécifique, les zones sont mis à jour.
Ce paramètre s'applique à toutes les boîtes aux lettres, de toutes les salles de conférence et de tous les calendriers des utilisateurs.
SuppressExchange et MaxDepthCes paramètres obligent tous les rendez-vous dans un calendrier de l'utilisateur qui sont affectés par la modification de l'heure d'été mise à jour, quel que soit Indique si l'utilisateur est l'organisateur de ces éléments de calendrier.

Si le utilisateur est l'organisateur d'un élément de calendrier, mises à jour ne sont pas envoyées aux participants qui ont des boîtes aux lettres Exchange. Mises à jour sont envoyées aux participants qui ne disposent pas d'Exchange boîtes aux lettres.

Le MaxDepth paramètre spécifie le niveau expansion de liste de distribution est effectuée pour déterminer quels participants disposer de boîtes aux lettres Exchange et les participants ne le faites pas.
Utilisez ce paramètre si Vous ne souhaitez pas les utilisateurs Exchange pour recevoir des mises à jour de réunion pour les organisateurs réunions qui sont affectées par la période d'heure d'été étendue.

Le SuppressExchange paramètre est préférable à la SuppressAll Si l'organisation a non-Exchange Systèmes de calendrier de serveur et si les réunions sont planifiées pour inclure les participants qui sont externes à l'entreprise.
Aucune mise à jour de réunion n'est envoyées, sauf pour les utilisateurs non-Exchange. Par conséquent, pour vous assurer que qui copie de la même réunion sont mis à jour pour tous les participants possibles, chaque boîte aux lettres de l'organisation doit mettre à jour.

Cette condition peut augmenter considérablement le nombre de boîtes aux lettres doivent être mis à jour. Par conséquent, les délais de traitement peuvent être a augmenté.

Lors de la grande, les listes de distribution imbriqués sont sur le participant la liste, il s'agit d'un processus coûteux pour déterminer les participants d'une réunion et à déterminer si les participants ont des boîtes aux lettres Exchange. Si vous spécifiez ce définition et de définir une valeur élevée pour le MaxDepth paramètre, une charge importante peut-être être mises sur le domaine contrôleurs.
Ce paramètre s'applique uniquement aux boîtes aux lettres utilisateur.
SuppressAllCe paramètre force toutes les rendez-vous dans le calendrier d'un utilisateur qui sont affectés par le technicien DST changent en mise à jour que l'utilisateur soit l'organisateur de ces calendrier éléments.

Si l'utilisateur est l'organisateur d'un élément de calendrier, les mises à jour sont pas envoyées aux participants.
Utilisez ce paramètre si vous ne souhaitez pas que les participants à recevoir des mises à jour de réunion à partir des organisateurs de réunions sont affectées les période d'heure d'été étendue.Aucune mise à jour de réunion n'est envoyées. Par conséquent, pour rendre assurer que les copies de la même réunion sont mis à jour pour tous les participants possibles, chaque boîte aux lettres de l'organisation doit être mis à jour.

Cette condition peut augmenter considérablement le nombre de boîtes aux lettres qui doivent être mis à jour. Par conséquent, le temps de traitement peuvent être augmentés.

Participants qui n'ont pas avoir Exchange boîtes aux lettres ne pas recevoir les mises à jour. Leurs rendez-vous peut ne pas être mise à jour, selon le système de messagerie qu'ils exécutent et en fonction de les actions entreprises par leur administrateur.
Ce paramètre s'applique uniquement pour les boîtes aux lettres de l'utilisateur.

Mettre à jour des salles de conférence et des boîtes aux lettres de ressources

Vous devez mettre à jour les salles de conférence et des boîtes aux lettres de ressources pour éviter conflits de réservation. Pour ce faire, procédez comme suit :
  1. Sur le Spécifier les ressources et la salle de conférence Calendriers page, tapez ou collez la liste des alias de salles de conférence dans votre organisation. Cliquez sur Résoudre Pour valider les alias puis cliquez sur Suivant.
  2. Sur le Résoudre les fuseaux horaires pour les ressources et Calendriers de salle de conférence page, l'outil vous invite à manuellement spécifier le fuseau horaire d'une salle de conférence si n'est pas le cas de la salle de conférence avoir un fuseau horaire. Pour ce faire et puis cliquez sur Suivant.
  3. Un rappel s'affiche pour vous rappeler que l'outil est prêt à mettre à jour des calendriers. Cliquez sur Suivant.
  4. Notez qu'une barre d'état, un lien vers la sortie de journal, et un affichage en temps réel de la sortie de l'outil sont affichés. Cliquez surSuivant.

    Si des erreurs sont rencontrées, un lien vers le résolution des problèmes de document s'affiche au bas de cette page.

Mise à jour le calendrier de la boîte aux lettres utilisateur

Pour ce faire, procédez comme suit :
  1. Sur le Paramètres de mise à jour de la boîte aux lettres utilisateur Calendriers page, configurez les paramètres de la mise à jour.

    If vous n'avez pas spécifié le SuppressExchange ouSuppressAll paramètres avancés, sélectionnez les fuseaux horaires qui sont affectés par l'heure d'été. Sinon, sélectionnez tous les fuseaux horaires.

    Cliquez surSuivant.
  2. Un rappel s'affiche pour vous rappeler que l'outil est prêt à mettre à jour des calendriers. Cliquez sur Suivant.
  3. Notez qu'une barre d'état, un lien vers la sortie de journal, et un affichage en temps réel de la sortie de l'outil sont affichés. Une fois la mise à jour Terminer, cliquez sur Suivant.

    Si des erreurs sont rencontrées, un lien vers le document dépannage s'affiche au bas de cette page.
  4. Cliquez sur Terminer.

Échanger des fichiers journaux des outils et des sous-répertoires

Fichiers journaux

L'outil Exchange crée les fichiers journaux suivants dans le répertoire d'installation :
  • Output.txt

    Ce fichier contient une liste de toutes les boîtes aux lettres utilisateur qui ont été extraits avec leurs informations de fuseau horaire.
  • TimeZoneExtraction.log

    Ce journal contient la sortie combinée du fuseau horaire processus d'extraction pour tous les serveurs.
  • ResourceUpdate.log

    Ce journal contient la sortie du processus de mise à jour de les salles de conférence et pour les boîtes aux lettres de ressources.
  • UserUpdate.log

    Ce journal contient la sortie combinée de l'utilisateur processus de mise à jour de boîtes aux lettres pour tous les serveurs.
  • CalendarScan.log

    Ce journal contient la sortie combinée du calendrier processus pour tous les serveurs d'analyse.
  • ConflictUsers.txt

    Ce journal contient une liste d'utilisateurs ayant établi en conflit fuseaux horaires. Par exemple, les propriétés des boîtes aux lettres les utilisateurs indiquent que leur appartenir à plusieurs fuseaux horaires.
  • NonExistent.txt

    Ce journal contient une liste des utilisateurs qui ne disposent d'aucun fuseau horaire informations.

Sous-répertoires

L'outil Exchange crée les sous-répertoires suivants dans le répertoire d'installation :
  • Ressources

    C'est le sous-répertoire de travail pour le processus de mise à jour pour les salles de conférence et pour les boîtes aux lettres de ressources. Ce répertoire contient les fichiers suivants :
    • Msextmz.log

      C'est le fichier de sortie de l'outil Exchange pour le processus de mise à jour.
    • Errors.txt

      Ce fichier contient la liste des boîtes aux lettres.
    • Processed.txt

      Ce fichier contient la liste des boîtes aux lettres qui ont été mise à jour terminée.
    Remarque Tous les sous-répertoires de travail contiennent ces fichiers.

    Le Sous-répertoire ressource contient également le sous-répertoire suivant :
    • Fichiers journaux

      Ce sous-répertoire contient des journaux de mise à jour pour chaque boîte aux lettres qui a été correctement mis à jour. Chaque journal de mise à jour doit contenir une liste de réunions qui ont été mis à jour.
  • Nom_serveur

    Il existe un sous-répertoire pour chaque serveur sur lequel le processus d'extraction de fuseau horaire ou une mise à jour du calendrier a été effectuée. Ces sous-répertoires contiennent les sous-répertoires suivants :
    • CalendarScan

      C'est le sous-répertoire de travail pour l'analyse de calendrier processus.
    • Extraire

      C'est le sous-répertoire de travail pour le fuseau horaire processus d'extraction.
    • Mise à jour

      C'est le sous-répertoire de travail pour la boîte aux lettres de l'utilisateur processus de mise à jour. Il contient le sous-répertoire suivant :
      • Fichiers journaux

        Ce sous-répertoire contient des journaux de mise à jour pour chaque boîte aux lettres qui a été correctement mis à jour. Chaque journal de mise à jour doit contenir une liste de réunions qui ont été mis à jour.

Que faire après avoir exécuté l'outil Exchange

Après avoir exécuté l'outil Exchange sur Exchange toutes les serveurs de votre environnement, appliquer les mises à jour l'heure d'été Exchange Server appropriées. La liste suivante est organisée par la version Exchange Server et le service pack niveau. Installer les mises à jour pour votre version d'Exchange Server dans ordre.

Exchange Server 2007
940006 Description du correctif cumulatif 4 pour Exchange Server 2007
Inclut le correctif cumulatif 4 pour Exchange Server 2007 les correctifs de l'heure d'été suivants :
  • 937656 Vous rencontrez des problèmes dans Outlook Web Access pour Exchange 2007 après que l'heure d'été (DST) démarre en Nouvelle Zélande en 2007
  • 932561 Rendez-vous envoyés à partir d'une organisation Exchange vers un autre à l'aide d'Exchange 2007 peuvent être incorrectes d'une heure si une organisation est dans le fuseau horaire Australie Occidentale
Exchange Server 2003 SP2
926666 Mise à jour des modifications de l'heure d'été en 2007 pour Exchange 2003 Service Pack 2
931915 Mise à jour des modifications de l'heure de Terre-Neuve en 2007 pour Exchange Server 2003 Service Pack 2
929895 Rendez-vous qui sont envoyés entre différentes organisations d'Exchange Server peuvent être incorrects d'une heure lorsque une des organisations est dans le fuseau horaire Australie Occidentale
937653 Vous rencontrez un ou plusieurs problèmes dans Exchange Server 2003 après la période d'heure d'été pour que les modifications de la nouvelle Zélande en 2007
Exchange Server 2003 SP1
940123 Vous rencontrez des problèmes dans Exchange 2003 Service Pack 1 après l'heure d'été (DST) démarre en Nouvelle Zélande en 2007

Problèmes connus

  • Les réunions périodiques sont créées dans Outlook Web Access ne sont pas mis à jour par l'outil Exchange

    Si vous installez les mises à jour d'Exchange Server sur le Exchange server avant de vous mettre à jour les boîtes aux lettres, les réunions sont récurrentes créé dans Outlook Web Access ne sont pas mis à jour par l'outil Exchange.

    Pour résoudre ce problème, supprimez les mises à jour d'Exchange Server, exécutez la Outil d'Exchange et réinstallez les mises à jour d'Exchange Server sur l'échange serveur.
  • Exchange 2007 doit être redémarré après avoir exécuté l'outil Exchange

    Pour afficher correctement les éléments de calendrier, vous devez redémarrer les services Exchange après avoir exécuté l'outil Exchange pour Outlook Web Access dans Exchange 2007.
  • Vous ne pouvez pas installer l'outil Exchange

    L'outil Exchange n'est pas installé avec succès si une des clés de Registre suivantes existe :
    • HKEY_CLASS_ROOT\Outlook.application.9
    • HKEY_CLASS_ROOT\Outlook.application.10
    Dans ce scénario, vous recevez le message d'erreur suivant Lorsque vous essayez d'installer l'outil Exchange :
    Exchange Server Outil de relocalisation du calendrier ne peut pas être installé avec cette version de Microsoft Outlook.
    Pour contourner ce problème, supprimez ces clés de Registre installer l'outil Exchange, puis restaurez le Registre clés.

    Important Cette section, une méthode ou une tâche contient des procédures qui vous indiquent comment procéder pour modifier le Registre. Toutefois, des problèmes graves peuvent survenir si vous modifiez le Registre incorrecte. Par conséquent, assurez-vous que vous suivez ces étapes avec soin. Pour une protection supplémentaire, sauvegarder le Registre avant de le modifier. Ensuite, vous pouvez restaurer le Registre si un problème survient. Pour plus d'informations Comment faire sauvegarder et restaurer le Registre, cliquez sur l'article suivant numéro pour afficher l'article correspondant dans la Base de connaissances Microsoft :
    322756 Comment faire pour sauvegarder et restaurer le Registre dans Windows
  • Il existe une limite du nombre de boîtes aux lettres qui peuvent être traitées par serveur

    En mode liste des utilisateurs et en mode d'Extraction de fuseau horaire, Msextmz.exe peut traiter uniquement de 65 535 boîtes aux lettres sur un serveur. Si le serveur a plus de 65 535 boîtes aux lettres, certaines boîtes aux lettres ne sont pas traités.
  • Calendriers de dossiers publics ne sont pas mis à jour.

    L'outil Exchange ne met pas à jour les dossiers publics calendriers. Pour plus d'informations sur la façon de mettre à jour un calendrier de dossiers publics, voir la documentation de l'outil Outlook.
  • Vous pouvez exécuter l'outil Outlook et l'outil Exchange dans le même environnement

    Si vous exécutez l'outil Exchange sur une boîte aux lettres a déjà été mis à jour par l'outil d'Outlook, ou vice versa, rencontrer aucun côté effets. Toutefois, si vous exécutez l'outil Exchange, il est inutile pour les utilisateurs Exécutez l'outil Outlook séparément.
  • Rappels non réunion apparaissent plus tard que prévu

    Rappels non réunion pour les boîtes aux lettres qui sont mis à jour par l'outil Exchange ne sont pas mis à jour si Outlook n'a jamais été connecté à la boîte aux lettres en mode en ligne. Dans ce cas, les rappels s'affichent une heure plus tard attendu.

    Si Outlook n'a jamais été connecté en mode en ligne, vous devez ajuster les rappels incorrects pour les rendez-vous de calendrier que l'outil Outlook recherche. En outre, le dossier de recherche de rappels n'existe pas dans la boîte aux lettres. Par conséquent, l'outil n'actualise pas les éléments de courrier électronique, des contacts ou des rappels.

    Par exemple, l'outil n'actualise pas le rappel sur un élément de messagerie pour assurer le suivi à la fois à l'avenir. L'outil n'actualise pas également le rappel sur un élément de tâche a un rappel.
  • Vous recevez un message d'erreur: « Impossible d'installer, car les versions précédentes de « Outil de mise à jour du calendrier Microsoft Exchange » ont été détectées. Veuillez les désinstaller, puis relancez l'installation »

    Si vous avez installé précédemment mise à jour du calendrier Exchange Version 1.0 de l'outil, vous devez désinstaller cette version avant d'installer Exchange Version de l'outil de mise à jour calendrier 2.0.

    Outil de mise à jour de calendrier Exchange version 1.0 a été distribuée comme un fichier exécutable auto-extractible contenant deux packages .msi (Msextmz.msi et Msextmzcfg.msi). Vous devez désinstaller les deux packages avant d'installer la version 2.0 de l'outil Exchange.

    Si vous rencontrez encore des problèmes lorsque vous installez la version 2.0 de l'outil Exchange, Essayez de réinstaller puis désinstaller la version 1.0 de l'outil Exchange. DO Cela en utilisant les packages .msi au lieu d'utiliser le Ajouter ou supprimer Programmes fonctionnalité dans le panneau de configuration. Ensuite, redémarrez votre ordinateur, et puis installer la version 2.0 de l'outil Exchange.

    Si cette procédure ne fonctionne pas, extrayez les fichiers binaires directement depuis les packages .msi.
  • Lorsque vous exécutez les outils de mise à jour Outlook ou Exchange, rendez-vous sont décalés d'une heure sur les boîtes aux lettres où le fuseau horaire domestique est heure d'hiver Nouvelle-Zélande

    Ce problème se produit lorsque les scénarios suivants sont True :
    • Vous exécutez les outils de mise à jour Outlook ou Exchange sur un ordinateur qui exécute Windows Vista.
    • Le fuseau horaire de domicile les boîtes aux lettres sont en cours mise à jour est heure d'hiver Nouvelle-Zélande.
    Pour contourner ce problème, vous devez exécuter Outlook ou Outils de mise à jour Exchange contre les boîtes aux lettres une deuxième fois ou après janvier 1, 2008.

    Ce problème se produit car Windows Vista gère le fuseau horaire faire de l'information différente des autres versions de Windows. Si vous n'exécutez pas la Outlook ou Exchange de mettre à jour des outils à nouveau l'ou après le 1er janvier 2008, tous les rendez-vous dans le second événement de l'heure d'été seront hors d'une heure. La deuxième heure d'été événement inclut les dates à partir du 16 mars 2008 jusqu'au 6 avril 2008.

    Si vous n'avez pas Patientez jusqu'au 1er janvier 2008 pour mettre à jour des rendez-vous dans la deuxième heure d'été événement, vous pouvez exécuter les outils de mise à jour Outlook ou Exchange à partir d'un ordinateur exécutant Windows XP ou Windows Server 2003.
  • Une date dans le format JJ/MM/AAAA est modifiée dans le format jj/mm/aaaa

    Vous définissez le Date du système d'exploitation Patch option dans l'échange Outil de mise à jour du calendrier. Lorsque vous faites cela, l'outil de mise à jour de calendrier Exchange ne fonctionne pas correctement. Ce problème se produit car le format de date JJ/MM/AAAA est converti en jj/mm/aaaa.

    En outre, un message d'erreur semblable à la message d'erreur suivant est enregistré dans le journal des erreurs :
    [28/02/2008 10: 7: 21 AM] [776]: wmain : Impossible de lire la configuration - erreur 0 x 80070057.
    Ce problème est dû à un paramètre d'option incorrecte dans la section suivante, les boîtes aux lettres de l'échantillon.serveurfichier .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 
    
    Notez que la ligne « SystemPatchDate » contient la date « 2/28/08 ». Cette date doit être au format MM/jj/aaaa.

    Pour contourner ce problème, n'utilisez pas la Correctif du système d'exploitation Date option.

Références

Le script « Accorder l'autorisation boîte aux lettres »

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

Propriétés

Numéro d'article: 941018 - Dernière mise à jour: mercredi 19 octobre 2011 - Version: 1.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • 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
Mots-clés : 
kbhowto kbinfo kbmt KB941018 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 941018
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

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