3 Utilisation des règles et des filtres. Novell GroupWise
Novell Confidential Manual (FRA) 28 October 2003
3
Utilisation des règles et des filtres
Cette section explique comment utiliser et modifier des règles et des filtres pour synchroniser des données entre Novell
®
eDirectory
TM
et GroupWise
®
en fonction des procédures propres à votre entreprise.
Utilisation des règles
Le pilote DirXML
®
pour GroupWise synchronise des données et des événements à partir d’eDirectory par l’intermédiaire d’une série de règles. Les règles aident Identity Manager à prendre des décisions pendant que les documents circulent sur un canal. Une règle peut déterminer qu’un document doit être transformé d’une certaine manière avant d’être transmis à sa destination.
Par exemple, une règle de création spécifie qu’un objet Utilisateur doit avoir une valeur pour l’attribut CN, de sorte que toute tentative de création d’un objet Utilisateur sans valeur CN ne sera pas autorisée par cette règle.
Les exemples de règles de ce chapitre illustrent les nombreuses solutions possibles pour les procédures d’entreprise de votre société. Les segments de code montrent des solutions simples et partielles et ne couvrent pas toutes les situations et conditions. De plus, ils traitent uniquement les attributs intéressants.
Opérations du pilote par défaut
Le pilote effectue par défaut plusieurs opérations :
L’attribut de nom commun (Common Name, CN), eDirectory de l’utilisateur est utilisé comme ID de boîte aux lettres GroupWise lors de la création d’un compte GroupWise.
La configuration du pilote utilise un seul bureau de poste. Tous les comptes sont créés dans un bureau de poste unique.
Modification des paramètres par défaut dans les règles et le filtre
Vous définissez des valeurs par défaut pour les règles et les filtres lorsque vous importez la configuration du pilote. Pour changer le comportement par défaut du pilote, il est recommandé d’effectuer des modifications dans l’ordre suivant :
1. Modifiez le filtre du pilote pour inclure des attributs supplémentaires à synchroniser.
Pour plus d’informations, reportez-vous à
« Modification du filtre du pilote », page 30
.
2. Modifiez la règle d’assignation de schéma pour inclure tous les attributs à synchroniser.
Pour plus d’informations, reportez-vous à
« Ajout d’entrées à la règle d’assignation de schéma », page 30 .
3. Modifiez la règle de création de l’objet abonné. Pour plus d’informations, reportez-vous
à
« Modification de la règle de création », page 30
.
Utilisation des règles et des filtres
29
Novell Confidential Manual (FRA) 28 October 2003
Modification du filtre du pilote
Le filtre du pilote contient les classes et les attributs d’eDirectory pour les canaux Éditeur et
Abonné. L’objectif du filtre est de définir le partage des attributs entre les systèmes. Tous les attributs dans le filtre du pilote sont nécessaires pour le traitement, vous ne devez donc pas supprimer d’attributs du filtre.
Toutefois, vous pouvez faire des ajouts au filtre. Si vous ajoutez des classes ou des attributs au filtre, vous devez ajouter la chaîne « merge-authority » (fusionner-autorité) à l’attribut ajouté dans la politique d’assignation.
Exemple :
<filter-attr attr-name="Description" merge-authority="edir"
publisher="ignore" subscriber="sync"/>
Ajout d’entrées à la règle d’assignation de schéma
La règle d’assignation de schéma est contenue dans l’objet Pilote et s’applique à la fois aux canaux
Abonné et Éditeur. L’objectif de cette règle est d’assigner des noms de schéma (en particulier des noms d’attribut et de classe) entre l’espace de nom eDirectory et l’espace de nom GroupWise. Ne modifiez ni ne supprimez des entrées existantes dans la règle d’assignation de schéma. Vous pouvez cependant y ajouter des entrées.
Modification de la règle de création
Modifiez la règle de création pour implémenter les procédures propres à votre entreprise. La règle de création détermine si un compte GroupWise est créé. Une règle de création permet également d’apporter d’autres modifications à l’événement d’ajout, par exemple la fourniture de valeurs par défaut pour des attributs.
Dans la configuration du pilote, la règle de création spécifie deux attributs requis : CN et Surname.
La règle est contrôlée dans une valeur de configuration globale qui définit le mot de passe initial comme <prénom>-<CN>. Pour plus d’informations sur les valeurs de configuration globales, reportez-vous à
« Présentation des valeurs de configuration globales », page 30
.
Présentation des valeurs de configuration globales
Les valeurs de configuration globales sont de nouveaux paramètres similaires aux paramètres du pilote. Elles peuvent être spécifiées tant pour un ensemble de pilotes que pour un pilote individuel.
Si un pilote n’a pas de valeur de configuration globale, le pilote hérite de la valeur de l’ensemble pour cette valeur de configuration globale. Les valeurs de configuration globales vous permettent d’entrer des paramètres pour les nouvelles fonctionnalités Identity Manager, comme la synchronisation du mot de passe et les pulsations du pilote, ainsi que les paramètres qui sont propres au pilote GroupWise. Pour plus d’informations, voir « Utilisation des valeurs de configuration globales » dans le Novell Nsure Identity Manager 2 Administration Guide (Guide d’administration Novell Nsure Identity Manager 2).
30
Guide d’implémentation du pilote DirXML pour GroupWise
Novell Confidential Manual (FRA) 28 October 2003
Modification des règles
Vous pouvez modifier les règles de pilote existantes pour effectuer une fonctionnalité supplémentaire.
« Spécification du bureau de poste GroupWise », page 32
« Spécification de listes de distribution », page 33
« Supprimer un utilisateur de toutes les listes de distribution », page 37
« Définition de valeurs par défaut pour les attributs GroupWise », page 37
« Configuration de l’ID utilisateur dans GroupWise », page 38
« Création d’assignations pour des attributs supplémentaires », page 38
« Obtenir un compte d’enregistrement à partir d’une requête », page 39
« Supprimer l’utilisateur GroupWise sans supprimer l’utilisateur eDirectory », page 39
« Création d’un surnom GroupWise », page 40
« Création d’un enregistrement de surnom GroupWise », page 40
« Ajout de nouveaux comptes GroupWise à une liste de distribution », page 41
« Spécification d’un nouveau propriétaire des ressources à l’expiration d’un propriétaire », page 43
« Contrôle de la création de comptes GroupWise », page 44
« Déplacement d’utilisateurs d’un bureau de poste à un autre », page 44
« Ajout d’attributs supplémentaires à synchroniser », page 45
« Assignation d’un nouveau nom aux utilisateurs », page 45
« Création d’un alias de passerelle », page 46
« Demande d’un surnom », page 47
« Demande d’un alias de passerelle », page 49
« Demande d’adresse de messagerie Internet », page 50
« Synchronisation des utilisateurs externes », page 50
« Spécifier un bureau de poste externe dans un événement d’ajout », page 51
« Création de bureaux de poste externes », page 52
« Spécification d’un domaine non GroupWise dans un événement d’ajout », page 52
Utilisation des règles et des filtres
31
Novell Confidential Manual (FRA) 28 October 2003
Spécification du bureau de poste GroupWise
La règle de placement de l’objet Abonné permet de spécifier le bureau de poste GroupWise. Par défaut, la règle de placement de l’objet Abonné GroupWise place tous les nouveaux utilisateurs dans le même bureau de poste. La règle de placement peut également déterminer le bureau de poste en fonction d’une valeur d’attribut ou du conteneur utilisateur eDirectory.
L’exemple suivant, créé dans le Générateur de règles, détermine le bureau de poste en fonction du conteneur eDirectory dans lequel l’utilisateur a été créé.
32
Guide d’implémentation du pilote DirXML pour GroupWise
Novell Confidential Manual (FRA) 28 October 2003
Le graphique suivant représente les règles nécessaires pour placer les utilisateurs dans le conteneur
Ventes dans PO1 et les utilisateurs dans le conteneur Ingénierie dans PO2.
Spécification de listes de distribution
Les règles dans cette section, créées en utilisant le Générateur de règles, montrent comment configurer les opérations suivantes :
« Supprimer un utilisateur de toutes les listes de distribution », page 37
Avec le Générateur de règles, vous pouvez utiliser ces exemples pour créer des règles et des listes de distribution similaires propres à votre entreprise et à votre environnement.
Utilisation des règles et des filtres
33
Novell Confidential Manual (FRA) 28 October 2003
Créer un utilisateur en tant que membre d’une liste de distribution basée sur le conteneur eDirectory de l’utilisateur.
34
Guide d’implémentation du pilote DirXML pour GroupWise
Novell Confidential Manual (FRA) 28 October 2003
Ajouter un utilisateur à une liste de distribution lorsqu’il ou elle devient gestionnaire
Utilisation des règles et des filtres
35
Novell Confidential Manual (FRA) 28 October 2003
Supprimer un utilisateur d’une liste de distribution lorsqu’il ou elle n’est plus gestionnaire
36
Guide d’implémentation du pilote DirXML pour GroupWise
Novell Confidential Manual (FRA) 28 October 2003
Supprimer un utilisateur de toutes les listes de distribution
Définition de valeurs par défaut pour les attributs GroupWise
D’autres attributs peuvent être définis dans le compte GroupWise à l’aide de la règle de création.
Certains attributs doivent être définis à la fois dans eDirectory et dans GroupWise. Lorsque l’objet
Utilisateur eDirectory contient un attribut correspondant, il doit être défini. Il est important que les valeurs d’attribut soient définies à la fois dans eDirectory et dans GroupWise. Si l’attribut est défini dans GroupWise uniquement, il risque d’être remplacé par la valeur d’eDirectory. Vous devez personnaliser le pilote pour qu’il mette à jour les valeurs dans eDirectory ; le pilote ne le fait pas par défaut.
L’exemple suivant illustre la définition de l’attribut Description (la visibilité est un autre attribut commun) dans eDirectory et GroupWise. L’attribut write-back = "true" entraîne l’écriture de l’attribut dans eDirectory également.
Utilisation des règles et des filtres
37
Novell Confidential Manual (FRA) 28 October 2003
<?xml version="1.0" encoding="UTF-8"?>
<create-rules>
<create-rule class-name="User" description="GroupWise Account Required Attributes">
<!-- Description attribute is given a default value in both eDirectory and in GroupWise
-->
<required-attr attr-name="Description" write-back="true">
<value type="String"><![CDATA[eDirectory User synchronized by GroupWise Driver]]></ value>
</required-attr>
</create-rule>
</create-rules>
Configuration de l’ID utilisateur dans GroupWise
L’attribut CN d’eDirectory permet de nommer le compte GroupWise. Vous devez l’inclure dans la règle de création en tant qu’attribut requis. La valeur CN d’eDirectory peut être ignorée dans la règle de création de l’objet Abonné et une valeur CN basée sur d’autres attributs peut être générée.
Un exemple de segment de code d’une règle de création figure ci-dessous. Si vous modifiez cette règle, les événements de modification provenant du moteur doivent également être modifiés.
Notez que lorsqu’un attribut utilisé pour construire la valeur CN est modifié, un événement de réassignation de nom GroupWise doit être généré par l’intermédiaire des règles. L’ID utilisateur doit être unique à l’intérieur d’un bureau de poste. Si l’ID utilisateur est utilisé pour générer l’adresse de messagerie Internet (attribut Internet EMail Address), il doit être unique dans l’ensemble du système GroupWise. L’ID utilisateur contient de 1 à 256 caractères, à l’exception des suivants : ()@.:,{}*". Une règle Transformation de la sortie ou Transformation de l’événement peut surveiller les attributs utilisés pour générer l’attribut CN. Si l’un de ces attributs change, un
événement de réassignation de nom doit également être généré. Tous les attributs utilisés ici doivent être ajoutés à la liste des attributs requis. Dans ce cas, les événements renommés ne doivent pas être envoyés au pilote sauf si CN fait partie de l’ID compte. Si la règle génère une
<réassignation de nom>, elle ne doit pas contenir l’élément <newname>.
<!--CN is used to set the GroupWise UserID.
Construct a new CN from Given Name.
--><xsl:template match="add-attr[@attr-name = 'CN']">
<!-- ignore the current CN and create a new one -->
<add-attr attr-name="CN">
<value type="string">
<xsl:value-of select="../add-attr[@attr-name='Given Name']/value"/>
</value>
</add-attr>
</xsl:template>
Création d’assignations pour des attributs supplémentaires
Vous pouvez synchroniser tout attribut qui peut être représenté sous forme de chaîne dans eDirectory avec l’un des vingt attributs génériques GroupWise (à l’exclusion des chaînes d’octet et des attributs structurés). Vous spécifiez l’attribut eDirectory que vous voulez assigner dans le filtre. De plus, les noms d’attribut eDirectory et GroupWise doivent être reliés dans la règle d’assignation de schéma.
Le segment de code de la règle d’assignation de schéma ci-dessous lie l’attribut eDirectory
Location (Emplacement) à l’attribut GroupWise 55003. Les vingt noms d’attributs GroupWise vont de 50106 à 50115 et de 55002 à 55011. Des étiquettes de carnet d’adresses peuvent être assignées à ces attributs GroupWise par l’intermédiaire des snap-ins GroupWise. Configurez dans
GroupWise les mêmes assignations d’attribut que celles effectuées dans les assignations de pilote.
38
Guide d’implémentation du pilote DirXML pour GroupWise
Novell Confidential Manual (FRA) 28 October 2003
<attr-name class-name="User">
<nds-name>Location</nds-name>
<app-name>55003</app-name>
</attr-name>
Obtenir un compte d’enregistrement à partir d’une requête
La requête suivante, envoyée au pilote, renverra le nombre d’utilisateurs dans dom1.po1.
<nds dtdversion="1.1" ndsversion="8.6">
<input>
<query event-id="query-groupwise" scope="subtree">
<search-class class-name="User"/>
<!-- Referenced Domain Name -->
<search-attr attr-name="50035">
<value>dom1</value>
</search-attr>
<!-- Referenced Post Office Name -->
<search-attr attr-name="50062">
<value>po1</value>
<search-attr>
<!-- return Record Count-->
<read-attr attr-name="Record Count"/>
</query>
</input>
</nds>
Si vous supprimez le search-attr du bureau de poste, il renverra le nombre d’utilisateurs dans dom1. Si vous supprimez le search-attr de domaine, il renverra le nombre d’utilisateurs dans le système. Cette recherche peut être modifiée pour appliquer les autres critères de recherche.
Supprimer l’utilisateur GroupWise sans supprimer l’utilisateur eDirectory
Après suppression de l’utilisateur dans GroupWise, le pilote nettoie les attributs GroupWise dans eDirectory. Le résultat revient à supprimer l’utilisateur avec les snap-ins GroupWise et à sélectionner uniquement supprimer à partir de GroupWise.
Vous devrez changer les critères de correspondance pour répondre aux besoins de votre environnement.
<!-- delete the GroupWise user and clean up eDirectory when the eDirectory user has not been deleted -->
<xsl:template match="modify[@class-name='User' and modify-attr[@attrname='50000']]">
<delete xmlns:gw="http://www.novell.com/dirxml/gwdriver" gw:original- event="modify">
<!-- copy event attributes and association -->
<xsl:apply-templates select="@*|association"/>
</delete>
</xsl:template>
Utilisation des règles et des filtres
39
Novell Confidential Manual (FRA) 28 October 2003
Création d’un surnom GroupWise
Des surnoms GroupWise peuvent être créés automatiquement lorsqu’un utilisateur eDirectory est renommé ou qu’un compte GroupWise est déplacé. Cette opération est contrôlée dans iManager sur le pilote via la page Valeur de configuration globale. Lorsque vous attribuez la valeur Vrai à cette option, des surnoms sont automatiquement créés en cas de réassignation de nom eDirectory ou de déplacement d’un compte GroupWise. Lorsque vous lui attribuez la valeur Faux, aucun surnom n’est créé. La création de surnoms exige l’exécution des agents GroupWise 6 SP1 ou version ultérieure. Vous pouvez ignorer cette option en ajoutant du code à la règle de transformation de sortie pour spécifier si un surnom doit être créé.
Vous pouvez aussi utiliser le segment de code XSLT suivant pour spécifier qu’un surnom
GroupWise est créé ou affecter la valeur Faux pour que ce surnom soit créé.
<!--
Override the "Create Nicknames" Driver Option
-->
<xsl:template match="rename">
<xsl:copy>
<!-- Create a GroupWise nickname. -->
<xsl:attribute xmlns:gw="http://www.novell.com/dirxml/gwdriver" name="gw:createnickname">true</xsl:attribute>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
Création d’un enregistrement de surnom GroupWise
Les exemples suivants montrent deux façons de créer un enregistrement de surnom. Le premier indique le bureau de poste dans lequel le surnom est créé dans l’attribut <dest-dn> (ceci implique le domaine). Le second exemple utilise les noeuds <add-attr> pour spécifier le domaine et le bureau de poste.
<add class-name="GroupWise Nickname" dest-dn="Novell\dirxml\groupwise\xmlPO" event-id="0" >
<!-- Domain of user this nickname refers to -->
<add-attr attr-name="50068" >
<value type="string">xmlDom</value>
</add-attr>
<!-- Post Office of user this nickname refers to -->
<add-attr attr-name="50069" >
<value type="string">xmlPO</value>
</add-attr>
<!-- user this nickname refers to -->
<add-attr attr-name="50070" >
<value type="string">Usern1</value>
</add-attr>
<!-- name of nickname record -->
<add-attr attr-name="50073" >
<value type="string">nn1</value>
</add-attr>
</add>OR <add class-name="GroupWise Nickname" event-id="0" >
<!-- Domain of user this nickname refers to -->
<add-attr attr-name="50068" >
<value type="string">xmlDom</value>
</add-attr>
<!-- Post Office of user this nickname refers to -->
<add-attr attr-name="50069" >
<value type="string">xmlPO</value>
40
Guide d’implémentation du pilote DirXML pour GroupWise
Novell Confidential Manual (FRA) 28 October 2003
</add-attr>
<!-- user this nickname refers to -->
<add-attr attr-name="50070" >
<value type="string">Usern1</value>
</add-attr>
<!-- Domain of nickname record -->
<add-attr attr-name="50035" >
<value type="string">xmlDom</value>
</add-attr>
<!-- Post Office of nickname record -->
<add-attr attr-name="50062" >
<value type="string">xmlPO</value>
</add-attr>
<!-- name of nickname record -->
<add-attr attr-name="50073" >
<value type="string">nn1</value>
</add-attr>
</add>
Ajout de nouveaux comptes GroupWise à une liste de distribution
Vous pouvez ajouter automatiquement des comptes GroupWise à une liste de distribution au moment de leur création. Les listes de distribution sont utilisées par des organisations pour s’assurer que les individus appropriés sont inclus dans diverses communications internes. Chaque fois que cela est possible, des organisations veulent assigner automatiquement de nouveaux employés à ces listes de distributions pour qu’ils puissent immédiatement avoir accès aux communications qui leur sont applicables.
Lorsqu’un utilisateur eDirectory est créé, le compte GroupWise peut être ajouté à une liste de distribution en fonction du conteneur eDirectory à l’aide d’une règle de création d’abonné. Par exemple, lorsqu’un utilisateur est créé dans le conteneur Ventes, il est ajouté à la liste de distribution Ventes. Lorsqu’un utilisateur est créé dans le conteneur Ingénierie, il est ajouté à la liste de distribution Ingénierie. Le segment de code XSLT est le suivant :
<!-- add a Distribution List based on the User's container -->
<xsl:variable name="container-dn">
<xsl:call-template name="get-container-dn">
<xsl:with-param name="dn" select="@src-dn"/>
</xsl:call-template>
</xsl:variable>
<xsl:choose>
<xsl:when test="$container-dn = '\GWDRIVERTREE\Novell\Users\Sales'">
<add-attr attr-name="Distribution List DN">
<value type="string"><![CDATA[\GWDRIVERTREE\Novell\GroupWise\Distribution
Lists\Sales DL]]></value>
</add-attr>
</xsl:when>
<xsl:when test="$container-dn = '\GWDRIVERTREE\Novell\Users\Engineering'">
<add-attr attr-name="Distribution List DN">
<value type="string"><![CDATA[\GWDRIVERTREE\Novell\GroupWise\Distribution
Lists\Engr DL]]></value>
</add-attr>
</xsl:when>
</xsl:choose>
Utilisation des règles et des filtres
41
Novell Confidential Manual (FRA) 28 October 2003
Spécification d’un nouveau propriétaire des ressources à la suppression d’un propriétaire
Si le propriétaire d’une ressource (une salle de conférence, par exemple) est supprimé, le pilote assigne automatiquement cette ressource à un autre propriétaire. Vous devez désigner un utilisateur par défaut pour toutes les ressources assignées. Au moment où la ressource est assignée, si le pilote ne détecte aucun compte utilisateur par défaut, il le crée et lui assigne la ressource.
Vous pouvez spécifier un propriétaire prioritaire par l’intermédiaire d’une règle. L’attribut eDirectory User delete (suppression d’utilisateur eDirectory) est sélectionné à l’aide de la règle de transformation de la sortie. L’attribut spécial gw:resource-owner-dn est utilisé pour informer le module d’interface du propriétaire des ressources prioritaire. Cet attribut spécial est spécifié dans l’élément <delete>. Les ressources sont toujours réassignées lors d’une suppression. Le nouveau propriétaire doit déjà exister dans GroupWise et être dans le même bureau de poste que l’utilisateur en cours de suppression. En cas d’échec lors de l’utilisation du nouveau propriétaire, les ressources sont automatiquement assignées au propriétaire par défaut spécifié dans les options du pilote. Le segment de code XSLT est le suivant :
<!-- User Delete Reassigns GroupWise Resource
On an eDirectory User delete specify the GroupWise Account
to reassign the GW resources to.
-->
<xsl:template match="delete[@class-name='User']">
<!-- copy the delete through -->
<xsl:copy>
<!-- Specify the override resource owner on the <delete> -->
<xsl:attribute xmlns:gw="http://www.novell.com/dirxml/gwdriver"
name="gw:resource-owner-dn">\GWDRIVERTREE\novell\users\sales\ResourceOwner</ xsl:attribute>
<!-- copy the rest of the stuff through -->
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
Spécification d’un nouveau propriétaire des ressources à la désactivation d’un propriétaire
Si le propriétaire d’une ressource (une salle de conférence, par exemple) est désactivé, le pilote assigne automatiquement cette ressource à un autre propriétaire. Dans ce processus, vous désignez un utilisateur par défaut pour toutes les ressources assignées (ID utilisateur propriétaire des ressources par défaut) dans le paramètre.
Lorsqu’un attribut eDirectory User Login Disabled est défini, les ressources GroupWise du compte qui a expiré peuvent être assignées à un autre compte GroupWise. Normalement, le nouveau propriétaire est un utilisateur par défaut dans le paramètre ID utilisateur propriétaire des ressources par défaut. Un propriétaire prioritaire peut être spécifié par l’intermédiaire d’une feuille de style. L’attribut eDirectory User login disable est sélectionné à l’aide de la feuille de style de transformation de la sortie. L’attribut spécial gw:resource-owner-dn est utilisé pour informer le module d’interface du propriétaire des ressources prioritaire. Cet attribut spécial est spécifié dans l’élément <modify-attr>.
Les ressources sont assignées au propriétaire prioritaire même lorsque l’option Réassigner la propriété des ressources a pour valeur No. Le nouveau propriétaire doit déjà exister dans
GroupWise et se trouver dans le même bureau de poste que l’utilisateur qui a expiré. En cas d’échec lors de l’utilisation du nouveau propriétaire, les ressources sont automatiquement assignées au propriétaire par défaut spécifié dans les options du pilote. Le segment de code XSLT est le suivant :
42
Guide d’implémentation du pilote DirXML pour GroupWise
Novell Confidential Manual (FRA) 28 October 2003
<!-- When a GroupWise Account is Disabled also
specify the GroupWise Account to reassign the GW resouces to.
-->
<xsl:template match="modify-attr[@attr-name='50058']">
<!-- When Login Disabled is true, reassign the resource -->
<xsl:if test="add-value//value[.='true']">
<!-- copy the modify through -->
<xsl:copy>
<!-- Specify the override resource owner on the <modify-attr> --><xsl:attribute xmlns:gw=http://www.novell.com/dirxml/gwdriver name="gw:resource-owner-dn">\GWDRIVERTREE\novell\users\sales\ResourceOwner</xsl:attribute>
<!-- copy the rest of the stuff through -->
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:if>
</xsl:template>
Spécification d’un nouveau propriétaire des ressources à l’expiration d’un propriétaire
Si le propriétaire d’une ressource (une salle de conférence, par exemple) expire, vous pouvez configurer le pilote pour assigner automatiquement cette ressource à un autre propriétaire.
Vous pouvez, au cours de cette procédure, désigner un utilisateur par défaut pour toutes les ressources assignées. Au moment de la réassignation d’une ressource, si le pilote ne détecte aucun compte utilisateur par défaut, il en crée un et l’assigne en tant que propriétaire par défaut uniquement si le paramètre de pilote Réassigner la propriété des ressources a pour valeur Yes.
Lorsqu’un attribut eDirectory User Login Expiration Time est défini, les ressources GroupWise du compte qui a expiré peuvent être assignées à un autre compte GroupWise. Normalement, le nouveau propriétaire est un utilisateur par défaut spécifié dans le paramètre ID utilisateur propriétaire des ressources par défaut. Un propriétaire prioritaire peut être spécifié par l’intermédiaire d’une règle. L’attribut eDirectory User login expire (expiration d’utilisateur eDirectory) est sélectionné à l’aide de la règle de transformation de la sortie. L’attribut spécial gw:resource-owner-dn est utilisé pour informer le module d’interface du propriétaire des ressources prioritaire. Cet attribut spécial est spécifié dans l’élément <modify-attr>.
Les ressources sont assignées au propriétaire prioritaire même lorsque l’option Réassigner la propriété des ressources a pour valeur No. Le nouveau propriétaire doit déjà exister dans
GroupWise et se trouver dans le même bureau de poste que l’utilisateur qui a expiré. En cas d’échec lors de l’utilisation du nouveau propriétaire, les ressources sont automatiquement assignées au propriétaire par défaut spécifié dans les options du pilote. Le segment de code XSLT est le suivant :
<!-- User Expire to GroupWise Expire and Reassign GroupWise Resources
When the eDirectory User Login Expiration Time attribute is modified,
change the GroupWise Mailbox Expiration Time and
specify the GroupWise Account to reassign the GroupWise resources to.
-->
<xsl:template match="modify-attr[@attr-name='Login Expiration Time']">
<!-- copy the modify through -->
<xsl:copy>
<!-- copy all attributes through except for the attr-name -->
<!-- we'll construct the GroupWise attr-name below -->
<xsl:apply-templates select="@*[name(.) != 'attr-name']"/>
Utilisation des règles et des filtres
43
Novell Confidential Manual (FRA) 28 October 2003
<!-- now create the attr-name attribute with the GroupWise name -->
<xsl:attribute name="attr-name">50138</xsl:attribute>
<!-- Specify the override resource owner on the <modify-attr> -->
<xsl:attribute name="gw:resource-owner-dn"
xmlns:gw="http://www.novell.com/dirxml gwdriver">\GWDRIVERTREE\novell\users\sales\ResourceOwner</xsl:attribute>
<!-- copy the rest of the stuff through, except for what we have already copied-->
<xsl:apply-templates select="* | comment() | processing-instruction() | text()"/>
</xsl:copy>
</xsl:template>
Contrôle de la création de comptes GroupWise
Il peut exister des situations dans lesquelles un utilisateur eDirectory est créé sans que vous souhaitiez créer le compte GroupWise correspondant. De plus, au départ, tous les utilisateurs eDirectory ne possèdent pas de compte GroupWise. Vous pouvez utiliser le pilote pour contrôler la création de comptes GroupWise.
Il est recommandé de contrôler la création d’un compte en définissant un attribut sur l’utilisateur eDirectory, qui spécifie si un compte GroupWise doit être créé (true/false). Par exemple, l’attribut createGroupWiseAccount.
Le schéma eDirectory doit être étendu pour inclure l’attribut createGroupWiseAccount. Lorsque l’attribut createGroupWiseAccount a pour valeur true, le compte GroupWise est créé. Lorsque l’attribut createGroupWiseAccount a pour valeur false, le compte GroupWise n’est pas créé. Si vous changez la valeur false en true, le compte GroupWise est alors créé.
L’attribut createGroupWiseAccount doit être ajouté à la règle de création en tant qu’attribut requis
; il doit également être ajouté au filtre Abonné.
<!-- createGroupWiseAccount is used to control creation of the GroupWise Account -->
<match-attr attr-name="createGroupWiseAccount">
<value><![CDATA[true]]></value>
</match-attr>
Déplacement d’utilisateurs d’un bureau de poste à un autre
Lorsqu’aucune feuille de style n’est configurée pour déplacer les comptes GroupWise, il est recommandé d’utiliser les snap-ins GroupWise 6 (ou version ultérieure) pour les déplacements d’utilisateurs. Si vous utilisez une version plus ancienne des snap-ins GroupWise, le pilote pourrait générer des erreurs. Lorsque la feuille de style Transformation de la sortie est configurée pour déplacer les comptes GroupWise, nous recommandons que les déplacements de l’utilisateur soient effectués dans eDirectory et que le pilote assigne l’objet à un nouveau bureau de poste dans
GroupWise. Le segment de code XSLT de la règle de transformation de la sortie figure ci-dessous.
L’attribut dest-dn de l’élément parent spécifie le nouveau bureau de poste.
<!--
On an eDirectory User Move add the GroupWise Post Office DN
based on the User's new container
-->
<xsl:template match="move[@class-name='User']">
<!-- copy the Move through -->
<xsl:copy>
<!-- copy the attributes from the <move> element -->
<xsl:apply-templates select="@*"/>
<association>
<xsl:value-of select="association"/> </association>
<parent>
44
Guide d’implémentation du pilote DirXML pour GroupWise
Novell Confidential Manual (FRA) 28 October 2003
<xsl:attribute name="src-dn">
<xsl:value-of select="parent/@src-dn"/>
</xsl:attribute>
<!-- Specify the post office DN based on the container -->
<xsl:choose>
<xsl:when test="parent/@src-dn = '\GWDRIVERTREE\Novell\Users\Sales'">
<xsl:attribute name="dest-dn">
\GWDRIVERTREE\Novell\GroupWise\Post Offices\Sales PO</xsl:attribute>
</xsl:when>
<xsl:when test="parent/@src-dn = '\GWDRIVERTREE\Novell\Users\Engineering'">
<xsl:attribute name="dest-dn">
\GWDRIVERTREE\Novell\GroupWise\Post Offices\Engineering PO</xsl:attribute>
</xsl:when>
</xsl:choose>
</parent>
</xsl:copy>
</xsl:template
Ajout d’attributs supplémentaires à synchroniser
Vous pouvez assigner jusqu’à vingt attributs utilisateur eDirectory à des attributs GroupWise génériques et les afficher dans le carnet d’adresses. Pour ces attributs, vous utilisez les plages 50106 à 50115 ou 55002 à 55011. Vous devez d’abord ajouter ces attributs eDirectory au filtre. Tous les noms d’attribut ajoutés au filtre doivent être ajoutés à la règle d’assignation de schéma. Vous devez configurer ces attributs dans les snap-ins GroupWise pour qu’ils apparaissent dans le carnet d’adresses GroupWise.
Assignation d’un nouveau nom aux utilisateurs
Il est conseillé de renommer les utilisateurs en changeant l’attribut d’assignation de nom dans eDirectory et en laissant le pilote renommer le compte GroupWise. Lorsque CN est l’attribut d’assignation de nom (valeur par défaut), aucun codage de feuille de style spécial n’est requis pour le processus de réassignation de nom. Cependant, l’ID de boîte aux lettres GroupWise peut être généré à partir d’attributs autres que CN. Lorsque l’un de ces attributs est modifié, le compte
GroupWise doit également être renommé. Le segment de code XSLT figure ci-dessous. Dans cet exemple, l’attribut eDirectory Given Name est utilisé pour nommer le compte GroupWise.
Lorsque Given Name est modifié, un événement de réassignation de nom GroupWise est généré.
Le second modèle ci-dessous, <xsl:template match="rename[@class-name=’User’]">, gère le cas où l’objet Utilisateur eDirectory a été renommé. Dans ce cas, la commande <rename> est transmise au pilote. L’élément <new-name/> vide empêche le pilote de renommer le compte
GroupWise. Même si le compte GroupWise n’est pas renommé, l’événement de réassignation de nom doit être transmis au pilote. Nous vous recommandons de ne pas utiliser les snap-ins
GroupWise pour effectuer une réassignation de nom. Cependant, si l’utilisateur est renommé à l’aide des snap-ins GroupWise, l’opération doit être effectuée avec GroupWise 6 SP1 ou une version ultérieure. Si vous utilisez une version antérieure des snap-ins GroupWise, le pilote risque de générer des erreurs.
Utilisation des règles et des filtres
45
Novell Confidential Manual (FRA) 28 October 2003
Exemple 1
<!-- When the attribute used to set CN changes, in this case Given Name, create an element
<new-name> to rename the GroupWise Account
-->
<xsl:template match="modify[@class-name='User']">
<!-- Given Name is used the for GroupWise CN, when it changes do a rename -->
<xsl:if test="modify-attr[@attr-name='50091']">
<!-- Copy the <modify> through so all changes get made -->
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
<!-- generate a <rename> -->
<rename class-name="User">
<!-- copy the attributes from the <modify-attr> element to the <rename> element -->
<xsl:apply-templates select="@*"/>
<!-- The object was not renamed in eDir so use src-dn for src-dn and old-src-dn -->
<xsl:attribute name="old-src-dn">
<xsl:value-of select="@src-dn"/>
</xsl:attribute>
<!-- copy the children from the <modify> element to the <rename> element -->
<xsl:apply-templates select="node()"/>
<new-name>
<xsl:value-of select="modify-attr[@attr-name='50091']/add-value/value"/>
</new-name>
</rename>
</xsl:if>
</xsl:template>
Exemple 2
<!--
When the User object is renamed in eDirectory, the GroupWise account is not renamed since it is named by the Given Name attribute
-->
<xsl:template match="rename[@class-name='User']">
<!-- Copy the rename through except new-name -->
<xsl:copy>
<xsl:apply-templates select="@*|node()[name() != 'new-name']"/>
<!-- <new-name> does not change since the GW account is named by the Given Name attribute -->
<new-name/>
</xsl:copy>
</xsl:template>
Création d’un alias de passerelle
Le segment de code XSLT suivant montre comment définir un tel alias dans la règle de transformation de la sortie. Votre code est responsable de la génération de la valeur des attributs 50140 et 50077.
46
Guide d’implémentation du pilote DirXML pour GroupWise
Novell Confidential Manual (FRA) 28 October 2003
<xsl:template match="add[@class-name='User']">
<xsl:copy>
<xsl:apply-templates select="@*"/>
<add-attr attr-name="Gateway Alias">
<value type="structured">
<component name="50140"><![CDATA[SMTP]]></component>
<component name="50077"><![CDATA[UserOne@novell.com]]>
</component>
</value>
</add-attr>
<xsl:apply-templates select="* | comment() | processing-instruction()
| text()"/>
</xsl:copy>
</xsl:template>
Demande d’un surnom
La règle de transformation de la sortie suivante montre comment faire une requête pour le surnom
GroupWise. Les search-attrs dans cette feuille de style sont optionnels. Ils sont utilisés pour définir l’étendue de la recherche. Lorsque vous spécifiez un nom de bureau de poste (50069), vous devez
également spécifier un nom de domaine (50068). Plusieurs surnoms peuvent être renvoyés.
Par exemple, Utilisateur2a est renommé Utilisateur2b, qui est ensuite renommé Utilisateur2c.
Deux enregistrements de surnom (Utilisateur2a et Utilisateur2b) feront référence à Utilisateur2c.
Le code exemple suivant demande les surnoms de l’Utilisateur de l’événement courant. Vous devez utiliser un critère de correspondance différent.
<xsl:template match="modify[@class-name='User']">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
<xsl:variable name="query">
<nds dtdversion="1.0" ndsversion="8.5">
<input>
<query class-name="{@class-name}" event-id="query-groupwise" cope="entry">
<association>
<xsl:value-of select="association"/>
</association>
<!-- User Domain Name -->
<read-attr attr-name="50035"/>
<!-- User Post Office Name -->
<read-attr attr-name="50062"/>
<!-- User Object Name -->
<read-attr attr-name="50073"/>
</query>
</input>
</nds>
</xsl:variable>
<xsl:variable name="gw-data" select="query:query($destQueryProcessor, $query)//instance"/>
<xsl:variable name="query2">
<nds dtdversion="1.0" ndsversion="8.5">
<input>
<query event-id="query-groupwise" scope="subtree">
<search-class class-name="GroupWise Nickname"/>
<!-- Referenced Domain Name -->
<search-attr attr-name="50068">
<value>
<xsl:value-of select="$gw-data//attr[@attr-name='50035']/value"/>
</value>
</search-attr>
Utilisation des règles et des filtres
47
Novell Confidential Manual (FRA) 28 October 2003
<!-- Referenced Post Office Name -->
<search-attr attr-name="50069">
<value>
<xsl:value-of select="$gw-data//attr[@attr-name='50062']/value"/>
</value>
</search-attr>
<!-- Referenced Object Name -->
<search-attr attr-name="50070">
<value>
<xsl:value-of select="$gw-data//attr[@attr-name='50073']/value"/>
</value>
</search-attr>
<!-- Domain Name of Nickname Record -->
<read-attr attr-name="50035"/>
<!-- Post Office Name of Nickname Record -->
<read-attr attr-name="50062"/>
<!-- Object Name of Nickname Record -->
<read-attr attr-name="50073"/>
</query>
</input>
</nds>
</xsl:variable>
<xsl:variable name="gw-nickname" select="query:query($destQueryProcessor, $query2)// instance"/>
</xsl:template>
Résultat :
<nds dtdversion="1.1" ndsversion="8.6">
<source>
<product build="20020409_1220" instance="GroupWise ZDS Driver" version="1.0a Beta">DirXML
Driver for GroupWise</product>
<contact>Novell, Inc.</contact>
</source>
<output>
<instance class-name="GroupWise Nickname" event-id="0">
<attr attr-name="50035">
<value type="string">TaoDom</value>
</attr>
<attr attr-name="50062">
<value type="string">TaoPO</value>
</attr>
<attr attr-name="50073">
<value type="string">User2b</value>
</attr>
</instance>
<instance class-name="GroupWise Nickname" event-id="0">
<attr attr-name="50035">
<value type="string">TaoDom</value>
</attr>
<attr attr-name="50062">
<value type="string">TaoPO</value>
</attr>
<attr attr-name="50073">
<value type="string">User2a</value>
</attr>
</instance>
<status level="success"/>
</output>
</nds>
48
Guide d’implémentation du pilote DirXML pour GroupWise
Novell Confidential Manual (FRA) 28 October 2003
Demande d’un alias de passerelle
Le segment de code XSLT suivant montre comment demander l’alias de passerelle dans la règle de transformation de la sortie.
<xsl:template match="modify[@class-name='User']">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
<xsl:variable name="query">
<nds dtdversion="1.0" ndsversion="8.5">
<input>
<query class-name="{@class-name}" event-id="query-groupwise" scope="entry">
<association>
<xsl:value-of select="association"/>
</association>
<read-attr attr-name="Gateway Alias"/>
</query>
</input>
</nds>
</xsl:variable>
<xsl:variable name="gw-aliases" select="query:query($destQueryProcessor, $query)// instance"/> </xsl:template>
</xsl:template>
Résultat :
<nds dtdversion="1.0" ndsversion="8.5">
<source>
<product version="1.0 SP1 Beta, 20020307_1205">GroupWise ZDS Driver</product>
<contact>Novell, Inc.</contact>
</source>
<output>
<instance class-name="User" event-id="0" src-dn="TaoDom.TaoPO.User1{106}DFD036A0-0776-
0000-A246-4100F0001300">
<association>TaoDom.TaoPO.User1{106}DFD036A0-0776-0000-A246-4100F0001300</ association>
<attr attr-name="Gateway Alias">
<value type="structured">
<component name="50140">SMTP</component>
<component name="50077">UserOne@novell.com</component>
</value>
</attr>
</instance>
<status level="success"/>
</output>
</nds>
Utilisation des règles et des filtres
49
Novell Confidential Manual (FRA) 28 October 2003
Demande d’adresse de messagerie Internet
Le segment de code XSLT suivant montre comment demander l’adresse de messagerie Internet générée par GroupWise dans la règle de transformation de la sortie.
<xsl:template match="modify[@class-name='User']">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
<xsl:variable name="query">
<nds dtdversion="1.0" ndsversion="8.5">
<input>
<query class-name="{@class-name}" event-id="query-groupwise" scope="entry">
<association>
<xsl:value-of select="association"/>
</association>
<read-attr attr-name="Internet EMail Address"/>
</query>
</input>
</nds>
</xsl:variable>
<xsl:variable name="inet-address" select="query:query($destQueryProcessor, $query)// instance"/>
</xsl:template>
Résultats :
<nds dtdversion="1.1" ndsversion="8.6">
<source>
<product build="20020502_1251" instance="GroupWise Driver"
version="1.0a Beta">DirXML Driver for GroupWise</product>
<contact>Novell, Inc.</contact>
</source>
<output>
<instance class-name="User" event-id="0"
src-dn="TaoDom.TaoPO.User2{106}5B8C40F0-0E79-0000-9ADA-350037009300">
<association>TaoDom.TaoPO.User2{106}5B8C40F0-0E79-0000-9ADA-350037009300</association>
<attr attr-name="Internet EMail Address">
<value type="string">User2@domain.com</value>
</attr>
</instance>
<status level="success"/>
</output>
</nds>
Synchronisation des utilisateurs externes
Dans votre activité, vous avez peut-être différentes applications de courrier électronique. Même si tous les employés ne possèdent pas de comptes e-mail GroupWise, vous voulez que le carnet d’adresses GroupWise contienne des informations sur tous les employés. Le pilote peut créer des utilisateurs externes GroupWise, ce qui lui permet d’obtenir des données d’autres systèmes e-mail
(via eDirectory) et de les afficher dans le carnet d’adresses GroupWise. Les utilisateurs eDirectory peuvent être reliés à des utilisateurs externes GroupWise.
Si vous utilisez plusieurs systèmes e-mail (GroupWise et NetMail/Notes/Exchange) vous pouvez créer des bureaux de poste externes et des utilisateurs externes pour ajouter les utilisateurs des systèmes non GroupWise au carnet d’adresses GroupWise.
50
Guide d’implémentation du pilote DirXML pour GroupWise
Novell Confidential Manual (FRA) 28 October 2003
Suggestion : dans le répertoire /Extras du logiciel, vous trouverez des exemples de l’implémentation de cette solution. Ce sont uniquement des exemples qui ne sont pas destinés à être utilisés, la personnalisation est requise. Si les utilisateurs sont dans une arborescence autre que celle où se trouvent les utilisateurs
GroupWise, vous pouvez utiliser l’exemple simple. Si les utilisateurs GroupWise et non-GroupWise sont dans la même arborescence, utilisez l’exemple fusionné.
Pour synchroniser les données entre des systèmes e-mail externes et GroupWise, votre implémentation doit répondre aux conditions suivantes :
Les utilisateurs externes doivent être affectés à ou être créés dans un bureau de poste externe.
Les bureaux de poste externes doivent appartenir à un domaine non GroupWise.
La configuration du pilote par défaut n’inclut pas cette personnalisation. Pour implémenter cette fonctionnalité, vous devez effectuer les modifications appropriées sur vos filtres, règles et feuilles de style en fonction des processus propres à votre entreprise.
Création d’utilisateurs externes
Vous pouvez spécifier un placement de deux façons lorsque vous créez des utilisateurs externes :
Dans la règle de placement, vous pouvez spécifier le DN d’un objet eDirectory associé au bureau de poste externe. Pour plus d’informations, reportez-vous à la section
« Création de bureaux de poste externes », page 52 .
Identifiez le bureau de poste externe par
« Spécifier un bureau de poste externe dans un
événement d’ajout », page 51 .
Vous devez modifier la règle d’assignation de schéma ou la règle de transformation de la sortie pour qu’elle modifie le nom de classe de l’utilisateur en fonction de certains critères, comme le nom du conteneur parent.
Important : lorsque vous créez des comptes dans eDirectory pour un utilisateur non-GroupWise, le nom de classe de l’utilisateur doit devenir Utilisateur externe GroupWise avant que le pilote ne reçoive l’événement.
Lorsqu’un nouvel utilisateur externe GroupWise est ajouté à GroupWise, le pilote crée une association sur l’utilisateur eDirectory. Si les informations sur l’utilisateur non GroupWise changent dans eDirectory, le pilote synchronise ces changements vers GroupWise. Si la clé d’association est modifiée ou supprimée, la connexion est interrompue et le pilote ne synchronise pas toutes les modifications effectuées sur l’utilisateur eDirectory dans GroupWise.
Spécifier un bureau de poste externe dans un événement d’ajout
Si vous n’utilisez pas le pilote pour créer un bureau de poste externe, vous devez générer les informations suivantes dans l’événement d’ajout XML. Vous devez remplacer le nom du bureau de poste externe et les valeurs de domaine non GroupWise par des noms spécifiques à votre système.
<!-- The external post office name to which the user belongs. -->
<add-attr attr-name="50062">
<value type="string"><![CDATA[External post office name]]></value>
</add-attr>
<!-- The non-GroupWise domain name to which the external post office belongs.
-->
<add-attr attr-name="50035">
<value type="string"><![CDATA[Non-GroupWise domain name]></value>
</add-attr>
Remarque : si vous incluez le XML supplémentaire dans l’événement d’ajout, la valeur dans votre règle de placement est ignorée.
Utilisation des règles et des filtres
51
Novell Confidential Manual (FRA) 28 October 2003
Création de bureaux de poste externes
Il y a deux façons de créer des bureaux de poste externes :
Laisser le pilote créer un bureau de poste externe GroupWise et lui associer un objet eDirectory, par exemple une Unité organisationnelle (recommandé).
Créer un bureau de poste externe via ConsoleOne
®
.
Si vous voulez que le pilote crée un bureau de poste externe, vous devez modifier la règle d’assignation de schéma ou la règle de transformation de la sortie pour que le nom de classe devienne bureau de poste externe GroupWise.
Remarque :
ConsoleOne. avant de créer un bureau de poste externe, vous devez créer un domaine non GroupWise dans
Vous pouvez spécifier un placement de deux façons lorsque vous créez des bureaux de poste externes :
Dans la règle de placement, vous pouvez spécifier le nom du domaine non GroupWise dans lequel vous voulez créer le bureau de poste externe.
Identifier le domaine non-GroupWise en générant le code XML pour spécifier le domaine non-GroupWise. Pour plus d’informations, reportez-vous à la section
« Spécification d’un domaine non GroupWise dans un événement d’ajout », page 52 .
Spécification d’un domaine non GroupWise dans un événement d’ajout
Vous pouvez générer les informations suivantes dans l’événement d’ajout XML. Vous devez remplacer la valeur de domaine non GroupWise par le nom spécifique à votre système.
<!-- The non-GroupWise domain name to which the external post office belongs.
-->
<add-attr attr-name="50035">
<value type="string"><![CDATA[Non-GroupWise domain name]></value>
</add-attr>
Remarque : si vous incluez le XML supplémentaire dans l’événement d’ajout, la valeur dans votre règle de placement est ignorée.
Si vous associez le bureau de poste externe à une unité organisationnelle, vous devez également faire correspondre l’attribut OU à l’attribut CN pour la classe d’unité organisationnelle et le pilote utilisera cette valeur d’attribut pour le nom du bureau de poste.
Remarque : la règle d’assignation de schéma dispose d’une correspondance pour l’attribut OU sur la classe
Utilisateur. Ne changez pas la correspondance de la classe Utilisateur.
Lorsque vous créez des utilisateurs externes, vous devez utiliser le DN de l’unité organisationnelle dans la règle de placement. Lorsqu’un bureau de poste externe est ajouté, vous devez spécifier le domaine GroupWise auquel le bureau de poste externe appartient :
Lorsque vous créez un bureau de poste externe avec le pilote, GroupWise utilise le paramétrage du fuseau horaire par défaut pour le domaine non-GroupWise. Si vous voulez modifier le paramétrage du fuseau horaire pour le bureau de poste, générez le XML suivant dans l’ajout d’événement. Insérez la valeur de fuseau horaire appropriée au lieu de « EST. »
<add-attr attr-name="50088" >
<value type="string">EST</value>
</add-attr>
52
Guide d’implémentation du pilote DirXML pour GroupWise

Public link updated
The public link to your chat has been updated.