Comment faire pour résoudre l'heure d'été à l'aide de l'outil de mise à jour de calendrier Exchange

IMPORTANT : Cet article est issu d'une traduction automatique réalisée par un logiciel Microsoft et non par un traducteur professionnel. Cette traduction automatique a pu aussi être révisée par la communauté Microsoft grâce à la technologie Community Translation Framework (CTF). Pour en savoir plus sur cette technologie, veuillez consulter la page http://support.microsoft.com/gp/machine-translation-corrections/fr. Microsoft vous propose en effet des articles traduits par des professionnels, des articles issus de traductions automatiques et des articles issus de traductions automatiques révisées par la communauté Microsoft, de manière à ce que vous ayez accès à tous les articles de notre Base de connaissances dans votre langue. Il est important de noter que les articles issus de la traduction automatique, y compris ceux révisés par la communauté Microsoft, peuvent contenir des erreurs de vocabulaire, de syntaxe ou de grammaire. Microsoft ne pourra être tenu responsable des imprécisions, erreurs, ainsi que de tout dommage résultant d’une traduction incorrecte du contenu ou de son utilisation par les clients.

La version anglaise de cet article est la suivante: 941018
INTRODUCTION
L'heure est un système pour définir des horloges en avance afin que le lever et le coucher du soleil se produisent à une heure ultérieure. L'effet est plus l'heure d'été le soir. De nombreux pays observer l'heure d'été. La plupart de ces pays ont leurs propres règles et règlements de l'heure d'été commence et se termine.

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

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

Pour plus d'informations sur la façon de préparer les modifications de l'heure d'été en 2007 (heure d'été 2007) pour tous les produits Microsoft concernés, visitez le site Web de Microsoft à l'adresse suivante : En 2011, les pouvoirs publics russes a adopté une loi pour annuler l'heure d'été (DST). Pour plus d'informations, visitez le site Web de Microsoft à l'adresse suivante : Pour plus d'informations en russe, visitez le site Web de Microsoft à l'adresse suivante :
Plus d'informations

À propos de l'outil Exchange

Après avoir installé les mises à jour de l'heure d'été pour Microsoft Windows, tous les anciens rendez-vous qui se produisent pendant les périodes de changement d'heure d'été seront affichera correctement comme se produisant une heure plus tard. Cela est vrai pour les rendez-vous périodiques et uniques. Vous devez mettre à jour ces rendez-vous afin qu'elles seront affichent correctement dans les applications qui reposent sur les objets CDO (Collaboration Data) dans Outlook et dans Microsoft Office Outlook Web Access.

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

Pour plus d'informations sur l'outil de mise à jour de données de fuseau horaire, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
931667 Comment faire pour résoudre 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 (« outil Exchange ») vous permet d'éviter des difficultés pour les administrateurs dans le déploiement de l'outil Outlook largement à tous les utilisateurs et en veillant à ce que chaque utilisateur exécute correctement l'outil Outlook.

Description détaillée de l'outil Exchange

L'outil Exchange se compose de deux fichiers exécutables séparés. Ces fichiers sont décrits dans le tableau suivant.
Nom de fichier Description
Msextmz.exe Ce fichier exécutable extrait les informations de fuseau horaire à partir de boîtes aux lettres sur un serveur qui exécute Exchange Server. Ce fichier exécutable met également à jour les calendriers de boîte aux lettres pour une liste d'utilisateurs spécifiée.
Msextmzcfg.exe Ce fichier exécutable est un outil de configuration qui effectue la plupart des étapes qui sont impliqués dans la 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ée le 13 août 2007. Cet article fait référence à la nouvelle version de l'outil Exchange. Si vous exécutez une version antérieure de l'outil Exchange, désinstaller, puis installez la nouvelle version.

La nouvelle version de l'outil Exchange inclut les améliorations suivantes :
  • L'extraction de fuseau horaire et le calendrier à jour aresped processus par.
  • L'interface utilisateur de l'outil de configuration est morestreamlined et intuitive.
  • La possibilité de mettre à jour des resourcemailboxes et des salles de conférence est désormais intégrée à l'outil de configuration.
  • La possibilité de mettre à jour des boîtes aux lettres utilisateur est désormais disponible dans l'outil theconfiguration.
  • Un document de dépannage est désormais inclus avec l'outil de la banque Microsoft Exchange, et il est intégré à l'outil de configuration.
  • Les fuseau horaire d'extraction les handlingcapabilities algorithme et d'erreur sont 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 que les rendez-vous uniques ne peuvent pas être mis à jour correctement. Par exemple, les rendez-vous uniques qu'un utilisateur créé après le système d'exploitation a été mis à jour peuvent être mise à jour incorrecte.

Pour réduire ce risque, appliquez l'une des méthodes suivantes :
  • Réduire l'intervalle entre le moment où que vous updateclient les ordinateurs et le temps que vous mettez à jour les calendriers de la boîte aux lettres.
  • Si les ordinateurs de l'organisation ont été mis à jour un long timeago, utilisez le paramètre de Mise à jour seulement les réunions périodiques dansles paramètres avancés.

    En règle générale, n'effectuent pas createsingle rendez-vous plusieurs mois à l'avance. Par conséquent, si les DSTupdates a été installés plusieurs mois avant, la plupart de l'automne meetingsthat uniques dans la période d'heure d'été étendue est créée à l'aide des règles de transition newDST. Ces réunions n'ont pas à être mis à jour.
  • Si vous connaissez la date exacte lorsque tous les computerswere le client mises à jour, utilisez le paramètre de Date de correctifs de système d'exploitation dansles paramètres avancés. Si une date est spécifiée, instanceappointments unique qui ont été créés après cette date ne sont pas mis à jour par le Exchangetool.
Remarque Si vous exécutez l'outil Outlook ou Exchange sur un ordinateur client qui exécute Windows Vista, et que vous exécutez l'outil par rapport aux boîtes aux lettres où le fuseau horaire est heure d'hiver Nouvelle-Zélande, vous devez exécuter l'outil une deuxième fois sur ou après le 1er janvier 2008. Pour plus d'informations, consultez la section « Problèmes connus ».

Options de mise à jour des boîtes aux lettres

Le tableau suivant répertorie les cinq options que vous pouvez utiliser pour mettre à jour des boîtes aux lettres utilisateur pour utiliser les règles de fuseau horaire de l'heure d'été 2007.
Option Professionnels de l'informatique Inconvénients
Distribuer l'outil Outlook pour chaque utilisateur, puis demandez aux utilisateurs de mettre à jour leurs propres boîtes aux lettres. Cette option permet d'éviter le risque associé à l'exécution de l'outil Exchange. Il est difficile de garantir que tous les utilisateurs seront exécutera l'outil Outlook correctement et en temps voulu.

Les utilisateurs qui ne disposent pas d'Outlook ne pourront pas exécuter l'outil Outlook.

Vous devez faire un effort de formation supplémentaire à réduire la confusion pour les utilisateurs.
Exécutez l'outil Exchange pour tous les utilisateurs et serveurs. Cette option fournit une expérience agréable pour les utilisateurs. Il existe un risque associé à l'exécution de l'outil Exchange, comme décrit dans la section « Risque d'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 leur propre boîte aux lettres à l'aide de l'outil Outlook. Il existe moins de risques de rendez-vous mis à jour correctement. Les inconvénients de l'exécution de l'outil Outlook sont combinés avec les inconvénients de l'exécution de l'outil Exchange.
Exécutez l'outil Exchange ni l'outil Outlook. Demandez aux utilisateurs d'examiner leurs calendriers et à nouveau rendez-vous en fonction des besoins. Cette option permet d'éviter le risque associé à l'exécution de l'outil Exchange. À moins que tous les utilisateurs nouveau rendez-vous tous affectés, certains éléments du calendrier sera une heure hors tension pendant la période d'heure d'été étendue.

Vous devez faire un effort de formation supplémentaire à réduire la confusion pour les utilisateurs.
Distribuer l'outil Outlook pour chaque utilisateur, puis demandez aux utilisateurs de mettre à jour leurs propres boîtes aux lettres. Puis, utilisez le mode d'Extraction de fuseau horaire de 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écuter 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 associé à l'exécution de l'outil Exchange. Si les utilisateurs exécutent Microsoft Office Outlook 2007, il ne s'agit pas d'une option.

Comment faire pour installer l'outil Exchange

L'outil de mise à jour de calendrier Exchange est disponible en téléchargement sous la forme d'un fichier exécutable à extraction automatique (Msextmz.exe). Cet outil est disponible pour téléchargement à partir du Microsoft Download Center :

TéléchargerTélécharger maintenant le package de l'outil de mise à jour de calendrier Exchange.

Un ordinateur virtuel est créé pour vous aider à installer et à utiliser l'outil Exchange. L'ordinateur virtuel est basé sur Microsoft Windows Server 2003, Outlook 2007, Microsoft Office Excel 2007 et Microsoft Office Word 2007. L'ordinateur virtuel fonctionne dans les deux Microsoft Virtual PC 2004, Microsoft Virtual Server 2005 R2.

Pour plus d'informations sur 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 :
933185 Un ordinateur virtuel est disponible pour vous aider à déployer les mises à jour de l'heure d'été 2007 calendrier dans une organisation Exchange
Pour plus d'informations sur la façon de télécharger des fichiers de support technique Microsoft, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
119591 Comment obtenir des fichiers de soutien technique Microsoft auprès des services en ligne
Microsoft a vérifié que ce fichier ne comportait pas de virus. Microsoft a utilisé les logiciels de détection de virus les plus récents disponibles à la date à laquelle le fichier a été validé. Le fichier est stocké sur des serveurs sécurisés, empêchant toute modification non autorisée du fichier.

Langues qui sont prises en charge par l'outil Exchange

L'outil Exchange n'est disponible qu'en anglais. L'outil s'exécute uniquement sur un ordinateur en anglais (États-Unis).

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

L'outil Exchange peut mettre à jour les 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 des systèmes d'exploitation suivants :
  • Microsoft Windows Server 2003
  • Microsoft Windows XP
  • Windows Vista

Procédure à suivre avant d'exécuter l'outil Exchange

Installer les mises à jour

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

Si vous exécutez Microsoft Exchange Server 2003 Service Pack 2 (SP2), vous devez installer un ou deux mises à jour suivantes, en fonction de 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 :
911829 Vous recevez un message d'erreur lorsque vous essayez d'effectuer des tâches d'édition, ou vous devez cliquer pour activer le cadre de composition dans Outlook Web Access
924334 Le formulaire nouveau Message cesse de répondre après l'installation d'Internet Explorer 7.0 et du contrôle S/MIME sur un client Outlook Web Access dans Exchange Server 2003
Si les utilisateurs se trouvent dans le Jérusalem, centre du Brésil, Amérique du Sud fuseau horaire ou, lisez les instructions dans l'article suivant de la Base de connaissances Microsoft :

943390 Certains éléments du calendrier Outlook sont relocalisés de manière incorrecte lorsque vous utilisez l'outil de mise à jour de données de fuseau horaire Outlook pour ajuster les 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 les conditions suivantes sont remplies :
  • L'ordinateur dispose de Microsoft Office Outlook 2003 Service Pack 2 (SP2) ou Microsoft Office Outlook 2007 est installé.
  • L'ordinateur a la Toolinstalled de données de fuseau horaire Outlook.
  • Microsoft.NET Framework version 2.0 est installé sur un 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 les outils de gestion du système Exchange, le message d'erreur suivant s'affiche :
Outil de mise à jour de calendrier de Microsoft Exchange ne peut pas être installé avec Microsoft Exchange.

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

Vérifiez que les conditions suivantes sont remplies :
  • Administrer la banque d'informations de mise à jour des autorisations sur chaque base de données de message ExchangeServer (MDB).
  • Autorisations Envoyer en tant que pour toutes les boîtes aux lettres areupdated.
  • Total des autorisations d'accès de la boîte aux lettres pour toutes les boîtes aux lettres areupdated.
  • Autorisations d'administrateur local sont accordés sur l'ordinateur est l'exécution de l'outil Exchange.

À propos du script « Accorder les autorisations de boîte aux lettres »

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

Ce script peut être exécuté que par un administrateur Exchange Server 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 les autorisations requises.

Le code pour le script .vbs est fourni dans la section « Références ». Le tableau suivant décrit les deux modes dans lesquels ce script s'exécute.
Mode Commande Description
Ajouter CScript GrantMailboxPermission.vbs – ajouter Nom_domaine \ Nom_utilisateur Nom_fichier Cette commande accorde la Nom_domaine \ Nom_utilisateur autorisations accès complet à la boîte aux lettres et envoyer en tant qu'utilisateur pour les boîtes aux lettres utilisateur sont répertoriés dans le fichier d'entrée.

Le fichier d'entrée doit être un fichier texte qui contient les noms de domaine héritée de boîtes aux lettres de l'utilisateur. Ces noms doivent être délimités par un retour chariot + saut de ligne (CRLF).

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

Si un accès explicite « Refuser » est affectée à 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 d'un groupe de sécurité qui a été attribué « refuser l'accès », le script accorde les autorisations accès complet à la boîte aux lettres et envoyer en tant que. Toutefois, l'utilisateur ne pourra pas se connecter à la boîte aux lettres. Toutes les erreurs sont enregistrées dans le fichier GrantMailboxPermission.err.
Supprimer CScript GrantMailboxPermission.vbs – supprimerCette commande supprime les autorisations accès complet à la boîte aux lettres et envoyer en tant que pour les boîtes aux lettres qui sont répertoriés dans le fichier GrantMailboxPermission.log à partir de la Nom_domaine \ Nom_utilisateur utilisateur. Le Nom_domaine \ Nom_utilisateur utilisateur est spécifié dans le fichier GrantMailboxPermission.log.
Remarques
  • Lorsque vous exécutez ce script sur l'ordinateur qui est serveur de runningExchange, le script renvoie un caractère point (.), lorsque la scriptsuccessfully traite un utilisateur. Le script renvoie une pointcharacter de point d'exclamation (!), lorsque le script ne traite pas correctement un utilisateur.
  • Le fichier de sortie du mode d'Extraction de fuseau horaire ne délibère sous la forme d'un fichier d'entrée de ce script. Pour créer le fichier d'entrée pour thisscript, collez le contenu de l'intoNotepad de fichier de sortie en mode d'Extraction de fuseau horaire, enregistrer le contenu sous la forme d'un nouveau document, puis utilisez le nouveau document en tant que fichier d'entrée.

Comment faire pour utiliser l'outil Exchange

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

Exécuter le processus d'extraction de fuseau horaire

Pour mettre à jour les calendriers de la boîte aux lettres, vous devez déterminer le fuseau horaire des 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 fuseau horaire, procédez comme suit :
  1. Dans la page Bienvenue, cliquez sur suivant.

    Remarque La page d'accueil présente l'anddiscusses outil de configuration les autorisations qui sont requises pour exécuter l'outil. La page alsoprovides un lien vers cet article.
  2. Spécifier les paramètres de l'outil de configuration. Werecommend que vous allouez au moins 200 mégaoctets (Mo) de tologging d'espace disque.

    Si vous voulez modifier les paramètres par défaut, cliquez surParamètres avancés. Pour plus d'informations sur l'advancedsettings, consultez le tableau qui suit cette procédure.
  3. Sélectionnez les serveurs Exchange de la forêt locale Active Directorydirectory service 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 skipthis étape en cliquant sur Ignorer.

    Notez qu'une barre d'état, un lien vers le fichier journal de sortie et un affichage en temps réel du processus de zoneextraction de temps sont affichées. Après l'avertisse de processus d'extraction de fuseau horaire, cliquez sur suivant.

    Si des erreurs ont été rencontrées, alink pour le document de dépannage s'affiche.
  4. Configurer la page de boîtes aux lettres avec les fuseaux horaires non , puis cliquez sur suivant pour analyser des calendaritems.

    Remarque Si l'outil détecte les utilisateurs qui ne possèdent pas de boîte aux lettres au niveau propertiesthat indiquer son fuseau horaire, l'outil analyse les appointmentsinside et les réunions réelles ces calendriers pour déterminer le fuseau horaire. Vous pouvez spécifier les éléments de calendrier nombre par lequel vous souhaitez que l'outil de configuration de l'analyse. Thelarger le nombre d'éléments que vous spécifiez, plus l'analyse dure longtemps.
  5. Dans la page résoudre displaynames fuseau horaire inconnu , l'outil vous invite à mapper les fuseaux horaires que l'outil ne reconnaît à un fuseau horaire de système d'exploitation connue. Après cela, cliquez sursuivant
  6. Si l'outil de configuration détecte les utilisateurs qui ont des zones multipletime, vous êtes invité à résoudre manuellement le conflit en spécifiant une zone unique avec laquelle mettre à jour le calendrier de l'utilisateur. Après cela, cliquez sursuivant.
  7. Dans la page Enregistrer les DNs de boîte aux lettres avec les fuseaux horaires non résolus , les utilisateurs restants qui n'ont toujours aucun zoneinformation de temps ou qui avez encore le temps en conflit sont des informations de zone enregistrés ina séparent le fichier journal. Cliquez sur suivant.
Le processus d'extraction de fuseau horaire est maintenant terminé. La liste des utilisateurs et des extraits des fuseaux horaires 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 que vous pouvez configurer à l'étape 2 de la procédure précédente.
ParamètreFonctionnalitésScénarioConsidérations relatives à laApplicabilité
Mettre à jour uniquement les réunions périodiquesCe paramètre met à jour les seules les réunions périodiques qui sont affectées par la modification de l'heure d'été. Les rendez-vous uniques qui tombent dans la période d'heure d'été étendue ne sont pas mis à jour que si elles doivent être mises à jour.Si les ordinateurs de l'organisation ont été mis à jour il y a longtemps, utilisez ce paramètre.

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

Lorsque vous effectuez cette opération, les réunions qui sont créées après l'installation de la mise à jour ne sont pas mis à jour. Ces réunions tombent sous les nouvelles règles de fuseau horaire.
Ce paramètre n'est effectif que lorsque les ordinateurs clients ont été tous mis à jour dans moins de 24 heures, et lorsqu'il y a une pénétration élevée de la mise à jour. (Il est pénétration élevée lorsque le pourcentage d'ordinateurs de l'organisation qui ont été mis à jour se trouve dans la plage de 90 pour cent).

En outre, les administrateurs peuvent spécifier la date de mise à jour qu'une seule. Réunions qui sont créées dans des fuseaux horaires qui correspondent à des mises à jour spécifiques et à des ensembles spécifiques de fuseaux horaires doivent être mis à jour.

Les implications pour les salles de conférence sont que conférence salles se trouvent dans des fuseaux horaires uniquement mis à jour.

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

Si l'utilisateur est l'organisateur d'un élément de calendrier, les 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 de boîtes aux lettres Exchange.

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

Le paramètre SuppressExchange est meilleur que le paramètre SuppressAll si l'organisation possède des systèmes de calendrier non - Exchange Server 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és, sauf pour les utilisateurs non-Exchange. Par conséquent, pour vous assurer que des copies de la même réunion sont mis à jour pour tous les participants possibles, chaque boîte aux lettres dans 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.

Lorsque les listes de distribution imbriquées, grand figurent sur la liste des participants, il s'agit d'un processus coûteux pour déterminer les participants à une réunion et pour déterminer si les participants ont des boîtes aux lettres Exchange. Si vous spécifiez ce paramètre et une valeur élevée pour le paramètre MaxDepth , une charge importante peut-être être mises sur les contrôleurs de domaine.
Ce paramètre s'applique uniquement aux boîtes aux lettres de l'utilisateur.
SuppressAllAvec ce paramètre, tous les rendez-vous dans le calendrier d'un utilisateur qui sont affectés par la modification de l'heure d'été mise à jour même si l'utilisateur est l'organisateur de ces éléments de calendrier.

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

Les participants qui ne disposent pas de boîtes aux lettres Exchange ne reçoivent pas de mises à jour. Leurs rendez-vous ne peuvent pas être mis à jour, en fonction du système de courrier électronique qu'ils sont en cours d'exécution et les actions effectuées par l'administrateur.
Ce paramètre s'applique uniquement aux boîtes aux lettres de l'utilisateur.

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

Vous devez mettre à jour les salles de conférence et de boîtes aux lettres de ressources pour éviter des conflits de réservation. Pour ce faire, procédez comme suit :
  1. Dans la page spécifier les ressources et RoomCalendars de la conférence , tapez ou collez la liste des alias de conférence roomsin votre organisation. Cliquez sur résoudre pour valider l'alias, puis cliquez sur suivant.
  2. Sur la page résoudre les fuseaux horaires pour les ressources andConference salle de calendriers , l'outil vous invite à manuallyspecify le fuseau horaire d'une salle de conférence si la salle de conférence n'intègre pas un fuseau horaire. Pour ce faire, puis cliquez sur suivant.
  3. Un rappel s'affiche pour vous rappeler que le toolis sur le point de mettre à jour les calendriers. Cliquez sur suivant.
  4. Notez qu'une barre d'état, un lien vers le fichier journal de sortie et affichage de surface au moment de la sortie de l'outil sont affichés. Cliquez sursuivant.

    Si des erreurs surviennent, un lien vers le document thetroubleshooting est affiché au bas de cette page.

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

Pour ce faire, procédez comme suit :
  1. Dans la page paramètres de mise à jour des MailboxCalendars utilisateur , configurer les paramètres pour la mise à jour.

    Sivous n'avez pas spécifié le SuppressExchange ou paramètresSuppressAll avancées, sélectionnez les fuseaux horaires qui areaffected à l'heure d'été. Dans le cas contraire, sélectionnez tous les fuseaux horaires.

    Cliquez sursuivant.
  2. Un rappel s'affiche pour vous rappeler que le toolis sur le point de mettre à jour les calendriers. Cliquez sur suivant.
  3. Notez qu'une barre d'état, un lien vers le fichier journal de sortie et affichage de surface au moment de la sortie de l'outil sont affichés. Après la mise à jour avertisse, cliquez sur suivant.

    Si des erreurs sont rencontrées, alink pour le document de dépannage s'affiche en bas de la thispage.
  4. Cliquez sur Terminer.

Fichiers journaux Exchange et ses 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 tous les thatwere de boîtes aux lettres utilisateur extraits ainsi que leurs informations de fuseau horaire.
  • TimeZoneExtraction.log

    Ce journal contient la sortie combinée du processus zoneextraction de temps pour tous les serveurs.
  • ResourceUpdate.log

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

    Ce journal contient la sortie combinée du processus de mise à jour usermailbox pour tous les serveurs.
  • CalendarScan.log

    Ce journal contient la sortie combinée du processus calendarscan pour tous les serveurs.
  • ConflictUsers.txt

    Ce journal contient une liste des utilisateurs qui ont des zones de conflictingtime. Par exemple, les propriétés des boîtes aux lettres les utilisateurs indiquent que theybelong à plusieurs fuseaux horaires.
  • NonExistent.txt

    Ce journal contient une liste des utilisateurs qui n'ont aucun zoneinformation de temps.

Sous-répertoires

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

    Ceci est le sous-répertoire de travail pour la mise à jour de plus les salles de conférence et pour les boîtes aux lettres de ressources. Cette directorycontains les fichiers suivants :
    • Msextmz.log

      Il s'agit du 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é mis à jour.
    Remarque Tous les sous-répertoires de travail contiennent ces fichiers.

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

      Ce sous-répertoire contient les journaux de mise à jour pour chaque boîte aux lettres qui a été 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 qui traite de l'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

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

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

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

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

Que faire après l'exécution de l'outil Exchange

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

Exchange Server 2007
940006 Description du correctif cumulatif 4 pour Exchange Server 2007
Le correctif cumulatif 4 pour Exchange Server 2007 inclut les correctifs de l'heure d'été suivants :
  • 937656 Vous rencontrez des problèmes dans Outlook Web Access pour Exchange 2007 après le début de l'heure d'été à l'heure d'été (DST) en Nouvelle-Zélande en 2007
  • 932561 Les rendez-vous envoyés d'une organisation Exchange à un autre à l'aide d'Exchange 2007 peuvent être décalés d'une heure si une organisation se trouve dans le fuseau horaire Australie-Occidentale
Exchange Server 2003 SP2
926666 Mise à jour pour que les modifications de l'heure d'été en 2007 pour Exchange 2003 Service Pack 2
931915 Mise à jour des modifications de l'heure d'été à Terre-Neuve en 2007 pour Exchange Server 2003 Service Pack 2
929895 Les rendez-vous envoyés entre des organisations Exchange Server différentes peuvent être incorrectes 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 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 qui 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 serveur de la banque Microsoft Exchange avant de vous mettre à jour les boîtes aux lettres, réunions récurrentes ce type marqueur suivantes dans Outlook Web Access ne sont pas mis à jour par l'outil Exchange.

    Pour résoudre ce problème, supprimer les mises à jour d'Exchange Server, exécutez l'outil de la banque Microsoft Exchange, puis réinstallez les mises à jour d'Exchange Server sur le Exchangeserver.
  • Exchange 2007 doit être redémarré après l'exécution de l'outil Exchange

    Pour afficher correctement les éléments de calendrier, vous devez les services Exchange restartthe après l'exécution de l'outil Exchange pour inExchange d'Outlook Web Access 2007.
  • Vous ne pouvez pas installer l'outil Exchange

    L'outil Exchange n'est pas installé ifeither les 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 suivant peuvent erreur que vous essayez d'installer l'outil Exchange :
    Outil de relocalisation ServerCalendar Exchange ne peut pas être installé avec cette version de sur Microsoft Outlook.
    Pour contourner ce problème, supprimez ces clés de Registre, installez l'outil Exchange, puis de restaurer les clés de Registre.

    Important Cette section, méthode ou tâche contient des étapes vous indiquant comment modifier le Registre. Toutefois, des problèmes graves peuvent survenir si vous modifiez le Registre de façon incorrecte. Par conséquent, veillez à suivre ces étapes scrupuleusement. Pour une meilleure protection, sauvegardez le Registre avant de le modifier. Vous pourriez alors restaurer le Registre si un problème survient. Pour plus d'informations sur la façon de sauvegarder et de restaurer le Registre, cliquez sur le numéro ci-dessous 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 sur le nombre de boîtes aux lettres qui peuvent être traités par le serveur

    Dans le mode utilisateur et d'Extraction de fuseau horaire mode,Msextmz.exe peut traiter uniquement 65 535 boîtes aux lettres sur un serveur. Si le hasmore de serveur de boîtes aux lettres 65 535, certaines boîtes aux lettres n'est pas traité.
  • Calendriers de dossiers publics ne sont pas mis à jour.

    L'outil Exchange ne met pas à jour Public Foldercalendars. Pour plus d'informations sur la façon de mettre à jour un calendrier de dossier Public, reportez-vous à 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 qui hasalready été mis à jour par l'outil Outlook, ou vice versa, vous rencontrez aucun Starting. Toutefois, si vous exécutez l'outil Exchange, il est inutile pour les utilisateurs torun l'outil Outlook séparément.
  • Les rappels de réunion non apparaissent plus tard que prévu

    Rappels de non-réunion pour les boîtes aux lettres qui sont mis à jour bythe Exchange outil ne sont pas mis à jour si Outlook n'a jamais été connecté au mode en ligne mailboxin. Dans ce cas, les rappels s'affichent une heure ultérieure thanexpected.

    Si Outlook n'a jamais connecté en mode en ligne, vous mustadjust les rappels pour les rendez-vous de calendrier incorrects qui le toolfinds de Outlook. 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 autres rappels.

    Par exemple, l'outil n'actualise pas le rappel sur un courrier électronique itemto suivi à la fois à l'avenir. L'outil ne met pas à jour thereminder sur un élément de tâche qui a un rappel.
  • Vous recevez un message d'erreur: « Impossible d'installer parce que les versions précédentes de « Outil de mise à jour de calendrier Microsoft Exchange » ont été détectées. Veuillez les désinstaller et réexécutez ce programme d'installation »

    Si vous avez déjà installé Exchange calendrier UpdateTool version 1.0, vous devez désinstaller cette version avant d'installer de la version de l'outil de mise à jour ExchangeCalendar 2.0.

    1.0 de Toolversion de mise à jour de calendrier Exchange a été distribué comme un fichier exécutable à extraction automatique de fichiers que packages .msi de containedtwo (Msextmz.msi et Msextmzcfg.msi). Vous devez désinstaller bothpackages avant d'installer la version 2.0 de l'outil Exchange.

    Si youstill rencontrer 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. Cela aide les packages .msi au lieu d'à l'aide de la fonctionnalité Ajouter ou RemovePrograms dans le panneau de configuration. Puis, redémarrez votre ordinateur, puis installer la version 2.0 de l'outil Exchange.

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

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

    Ce problème se produit car Windows Vista gère différemment les zoneinformation de temps que d'autres versions de Windows. Si vous n'exécutez pas theOutlook ou les outils de mise à jour d'Exchange à nouveau sur ou après le 1er janvier 2008, allappointments dans le second événement de l'heure d'été seront hors d'une heure. Le deuxième DSTevent inclut les dates à partir du 16 mars 2008 jusqu'au 6 avril 2008.

    Dans ce cas notwant d'attente jusqu'au 1er janvier 2008 pour mettre à jour les rendez-vous dans le deuxième DSTevent, vous pouvez exécuter Outlook ou Exchange outils mises à jour à partir d'un ordinateur qu'isrunning Windows XP ou Windows Server 2003.
  • Une date au format JJ/MM/AAAA est convertie au format jj/mm/aaaa

    Vous définissez l'option Date de correctifs de système d'exploitation dans l'outil de mise à jour de calendrier Exchange. Lorsque vous effectuez cette opération, 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 modifié en M/jj/aaaa.

    En outre, un message d'erreur similaire au message d'erreur suivant est enregistré dans le journal des erreurs :
    [28/02/2008 7:10:21 AM][776]: wmain : n'a pas pu lire la configuration - erreur 0 x 80070057.
    Ce problème se produit en raison 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 du « 28/2/08 ». Cette date doit être au format MM/jj/aaaa.

    Pour contourner ce problème, n'utilisez pas l'option Date de correctifs de système d'exploitation .
Références

Le script « Accorder les autorisations de boîte aux lettres »

Option Explicit' For FileSystemObjectConst ForReading = 1Const ForWriting = 2Const ForAppending = 8Const TristateTrue = -1Const TristateUseDefault = -2Const TristateFalse = 0'Permission Type: Allow or DenyConst ADS_ACETYPE_ACCESS_ALLOWED = &H0Const ADS_ACETYPE_ACCESS_DENIED = &H1Const ADS_ACETYPE_ACCESS_ALLOWED_OBJECT = &H5Const ADS_ACETYPE_ACCESS_DENIED_OBJECT = &H6Const ADS_ACEFLAG_INHERIT_ACE = &H2Const ADS_ACEFLAG_NO_PROPAGATE_INHERIT_ACE = &H4Const ADS_ACEFLAG_INHERIT_ONLY_ACE = &H8Const ADS_ACEFLAG_INHERITED_ACE = &H10Const ADS_ACEFLAG_VALID_INHERIT_FLAGS = &H1fConst ADS_ACEFLAG_SUCCESSFUL_ACCESS = &H40Const ADS_ACEFLAG_FAILED_ACCESS = &H80'Declare ADSI constantsConst ADS_SCOPE_SUBTREE = 2Const ADS_OPTION_SECURITY_MASK = 3Const ADS_OPTION_REFERRALS	= 1Const ADS_SECURITY_INFO_DACL = 4Const ADS_CHASE_REFERRALS_NEVER = &h00 Const ADS_CHASE_REFERRALS_SUBORDINATE = &h20 Const ADS_CHASE_REFERRALS_EXTERNAL = &h40'Microsoft Exchange ServerConst EX_MB_SEND_AS_ACCESSMASK  = &H00100Const EX_FULLMAILBOX_ACCESSMASK = 1Const EX_MB_SEND_AS_GUID = "{AB721A54-1E2F-11D0-9819-00AA0040529B}"'Application Parameter IndexConst ARG_INDEX_MODE = 0Const ARG_INDEX_USERNAME = 1Const ARG_INDEX_FILENAME = 2Const MIN_ARG = 1Const MODE_INVALID = -1 Const MODE_ADD = 0Const MODE_REMOVE = 1Const ADD = "-ADD"Const REMOVE = "-REMOVE"'Application Const StringConst EMPTYSTRING = ""Const ERROR_FILENAME = "GrantMailboxPermission.err"Const OUTPUT_FILENAME = "GrantMailboxPermission.log"Dim OUTPUT_DELIMITEROUTPUT_DELIMITER = vbTab'Logging fileDim objFSODim objfileErrorDim objfileOutputDim objfileImportDim objconnDim objCommandDim rootDSEDim sDomainContainerDim sUserLDAPPathDim objUserDim objSDNTsecurityDim objDACLNTDim objDACLEXDim objSDMailboxDim fFMADim fSendAsDim AccessTypeForFMADim AccessTypeForSendASDim fAddedFMADim fAddedSendAsDim fRemovedFMADim fRemovedSendAsDim sArraySplitDim sOneRowDim sGrantedUserDim dArgCountDim cScriptModeDim dArgExpectedDim fOneErrorOn Error Resume Next'Parameter VerificationdArgCount = Wscript.Arguments.CountIf (dArgCount < MIN_ARG) Then	DisplaySyntaxEnd IfcScriptMode = MODE_INVALIDSelect 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_INVALIDEnd SelectIf (cScriptMode = MODE_INVALID Or dArgCount <> dArgExpected) Then	DisplaySyntaxEnd IfIf (cScriptMode = MODE_ADD) Then	sGrantedUser = WScript.Arguments(ARG_INDEX_USERNAME)	If (IsValidUserName(sGrantedUser) = False) Then		DisplaySyntax	End IfEnd IfCreateImportExportFilesIf (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	LoopSet rootDSE = NothingSet objCommand = NothingSet objconn = NothingEnd IfIf (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	LoopEnd IfCloseImportexportFilesFunction IsValidUserName (sUserName)	Dim dPosition	dPosition = InStr(1, sUserName, "\")	If (dPosition = 0 ) Then		IsValidUserName = False		objfileError.WriteLine("Invalid User:" & sUserName)	Else		IsValidUserName = True	End IfEnd FunctionFunction 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 = NothingEnd FunctionFunction 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 = NothingEnd FunctionFunction 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 FunctionFunction 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 FunctionFunction 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 = NothingEnd FunctionFunction 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 = NothingEnd FunctionFunction 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 IfEnd FunctionFunction 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 = NothingEnd FunctionFunction 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

Avertissement : Cet article a été traduit automatiquement.

Propriétés

ID d'article : 941018 - Dernière mise à jour : 12/22/2014 21:38:00 - Révision : 2.0

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

  • kbhowto kbinfo kbmt KB941018 KbMtfr
Commentaires