> Tech > Mettre à  jour les calendriers de réplication

Mettre à  jour les calendriers de réplication

Tech - Par iTPro - Publié le 24 juin 2010
email

ReplicationStyle et ReplicationSchedule, qui régissent la réplication des dossiers publics, peuvent être deux des plus difficiles propriétés à mettre à jour. Si vous donnez à la propriété ReplicationStyle n’importe quelle valeur du tableau, sauf Custom, vous n’avez pas besoin de définir la propriété ReplicationSchedule parce que la valeur de la

propriété ReplicationStyle détermine automatiquement la valeur de la propriété ReplicationSchedule. Si vous définissez Custom comme propriété de ReplicationStyle, vous devez aussi définir la propriété ReplicationSchedule.

Le script Replication.wsf montre comment utiliser les propriétés ReplicationStyle et ReplicationSchedule pour définir un calendrier de réplication personnalisé. Replication- Schedule est un tableau dans lequel chaque élément est une instance de la classe Exchange_ScheduleInterval. Cette classe WMI donne des informations sur les heures de début et de fin dans le calendrier de réplication des dossiers publics.

Replication.wsf stocke l’information de calendrier dans la constante cReplicationSchedule sous la forme d’une chaîne délimitée par des virgules. Chaque sous-chaîne contient trois composants :

  • un jour de la semaine, suivi d’un point-virgule
  • l’heure de début de la réplication, suivi d’un tiret
  • l’heure d’arrêt de la réplication

La chaîne avec laquelle la constante cReplicationSchedule est actuellement définie est Sun:0000-0100,Mon:0100- 0200,Tue:0200-0300,Wed:0300-0400, Thu:0400-0500,Fri: 0500-0600,Sat:0600- 0700. Mais il est facile de changer le calendrier de réplication en personnalisant cette chaîne.

Bien que cette chaîne contienne le calendrier de réplication, il ne suffit pas d’attribuer cette chaîne à la propriété ReplicationSchedule parce que l’information de calendrier doit avoir un format particulier. Donc, le script utilise d’abord la fonction ConvertStringIn- Array pour convertir la chaîne en un tableau intermédiaire appelé arrayReplicationSchedule. En utilisant une virgule comme délimiteur, cette fonction analyse syntaxiquement la chaîne en 7 sous-chaînes (Sun:0000-0100, Mon:01 00-0200, etc.) que le script attribue à arrayReplicationSchedule.

Une fois que le script a établi la connexion WMI avec le serveur Exchange 2003, il utilise une instruction For Each…Next pour transformer le tableau des sous-chaînes en un tableau d’instances Exchange_ScheduleInterval. Le listing 2 montre cette partie de l’opération de coding.

Comme le code du renvoi A du listing 1 le montre, le script utilise la fonction ConvertStringInArray pour analyser syntaxiquement deux fois chaque sous-chaîne dans arrayReplicationSchedule. La première analyse syntaxique utilise un signe deux-points comme délimiteur pour séparer le jour de l’heure. La seconde analyse syntaxique utilise un tiret comme délimiteur pour séparer l’heure de début de l’heure d’arrêt.

Une fois les trois composants (jour, heure de début et heure de fin) séparés, le script convertit l’information de calendrier dans le format qu’utilisent la classe Exchange_ ScheduleInterval et les propriétés StartTime et StopTime. Le format est une représentation date et heure telle que définie par la DMTF (Distributed Management Task Force). Selon le format DMTF, le script structure les heures de début et de fin de réplication sous la forme

******DDHHMM**.******+000

où DD est le jour (00=dimanche, 01=lundi, et ainsi de suite), HH représente les heures (en format 24 heures) et MM représente les minutes (par incréments de 15 minutes). Les astérisques indiquent que vous voulez un point relatif plutôt qu’un point absolu dans le calendrier. Le calendrier de réplication doit être de format UTC (Universal Time Coordinate), signifiant que les heures visibles dans la console ESM se décalent par rapport au fuseau horaire GMT (Greenwich Mean Time) dans lequel se trouve votre serveur Exchange 2003. Par souci de simplicité, Replication.wsf n’effectue pas un test chargé de vérifier si le format DTMF des heures de début et de fin est correct.

Comme le montre le code du renvoi A du listing 2, une instruction Select Case construit les heures de début et de fin au format DMTF d’après le jour de la semaine. Le script attribue les heures de début et de fin aux variables strStartTime et strStopTime, respectivement. Ensuite, le script crée une nouvelle instance de la classe Exchange_ScheduleInterval et attribue les valeurs des variables strStartTime et strStopTime aux propriétés StartTime et StopTime de la classe, respectivement. Après quoi, le script stocke cette information de calendrier dans un nouveau tableau appelé arrayReplicationScheduleInstances. Une fois que arrayReplicationSchedule Instances contient le calendrier de réplication complet, le script quitte l’instruction For Each…Next.

Ensuite, le script utilise une requête WQL pour trouver le dossier public spécifié par la constante cPublicFolderPath. Après l’avoir trouvé, le script définit la propriété ReplicationSchedule du dossier à arrayReplicationSchedule- Instances. Après quoi, le script met la propriété Replication- Style à 0 (c’est-à-dire, Custom).

Téléchargez gratuitement cette ressource

Comment cerner la maturité digitale de votre entreprise ?

Comment cerner la maturité digitale de votre entreprise ?

Conçu pour les directions IT et Métiers, ce guide vous permettra d'évaluer précisément vos processus de communication client, d'identifier vos lacunes et points d'inflexion pour établir un plan d’actions capable de soutenir durablement votre évolution. Bénéficiez maintenant d'une feuille de route complète.

Tech - Par iTPro - Publié le 24 juin 2010