![]() |
|
1. Introduction à l'utilisation des mots clés @, # et % |
| 2. Les mots clés @ | ||
| 3. Les mots clés # | ||
| 4. Les mots clés % |
1. Introduction à l'utilisation des mots clés @, # et % |
|
|
La modification de la configuration des postes clients passe par la création de nouvelles bases en local (répliquées ou non), la suppression de certains fichiers, la localisation de certaines ressources, etc... Comme pour chaque utilisateur, le nom de chemins des bases est différent (nom de la base courrier sur le serveur de Mail), la création de script de modification générique est complexe. Pour éviter ce problème, l'application Desktop Manager sait utiliser des mots clés dont la valeur ne sera calculée qu'à l'exécution sur le poste client, dans un contexte utilisateur précis. Ainsi, pour désigner le nom de la base courrier de l'utilisateur sur son serveur, il suffira d'indiquer le mot clé @MailFileName. L'utilisation des mots clés est possible dans tous les champs de paramétrage des Tâches, des Profiles, des Templates et des fichiers de Script. Il est possible d'utiliser plusieurs mots clés au sein d'un champ, et de mixer des mots clés avec des constantes (Mail\@MailFileName).
Il existe trois catégories de mots clés : les mot clés @ (propres à Desktop Manager), # (liés à Notes) et les mots clés % (provenant des variables d'environnement du poste).
2. Les mots clés @ |
|
|
Les mots clés @ concernent des valeurs relatives à l'utilisateur, dans le monde Notes (Nom Notes de l'utilisateur, Nom du serveur de Mail, Adresse Internet...). Les valeurs de remplacement des mots clés @ proviennent initialement de la fiche Person de l'utilisateur dans le NAB, dans son fichier Notes.ini et dans les documents Profile de sa base courrier. Afin d'accélérer les traitements lors du remplacement des mots clés par leur valeur, celles-ci sont récupérées dans le document User de la base Desktop Manager. Pour que les mots clés relatifs à la base Archive puisse être correctement traités, cela implique que l'analyse des documents Profile de la base courrier de l'utilisateur ait été demandée au niveau du document de Setup (Get Mail Profile documents).
La liste des mots clés @ autorisés est la suivante :
| @UserName | FullName de l'utilisateur. | ||
| @LastName | LastName de l'utilisateur. | ||
| @FirstName | FirstName de l'utilisateur. | ||
| @ShortName | ShortName de l'utilisateur. | ||
| @CommonName | Partie canonique (@Name([CN];) du FullName de l'utilisateur. | ||
| @AbbreviateName | Version abrégée du nom de l'utilisateur (@Name([Abbreviate];)) | ||
| @NotesProgramFolder | Répertoire Programme du client Notes. | ||
| @NotesExePath | Notes client Program executable path. | ||
| @NotesDataFolder | Répertoire Data du client Notes. | ||
| @UserIdPath | Chemin du fichier ID de l'utilisateur sur son poste tel que défini sur la ligne KeyFileName du fichier Notes.ini. | ||
| @UserIdName | Nom du fichier ID de l'utilisateur sur son poste tel que défini sur la ligne KeyFileName du fichier Notes.ini. | ||
| @CachePath | Chemin du fichier Cache.ndk de l'utilisateur sur son poste. | ||
| @CacheName | Nom du fichier Cache.ndk de l'utilisateur sur son poste. | ||
| @DesktopPath | Chemin du fichier Desktop.ndk de l'utilisateur sur son poste. | ||
| @DesktopName | Nom du fichier Desktop.ndk de l'utilisateur sur son poste. | ||
| @NotesIniPath | Chemin du fichier Notes.ini de l'utilisateur sur son poste. | ||
| @InternetAddress | Adresse Internet de l'utilisateur (celle de sa fiche Person du NAB). | ||
| @MailServer | Nom du serveur de Mail de l'utilisateur (celle de sa fiche Person du NAB). | ||
| @SametimeServer | Nom du serveur Sametime de l'utilisateur (celle de sa fiche Person du NAB). | ||
| @Domain | Domaine de messagerie l'utilisateur (celui de sa fiche Person du NAB). | ||
| @MailDbName | Chemin du fichier courrier de l'utilisateur sur le serveur (chemin sur le serveur, relatif au répertoire data). | ||
| @MailFileName | Nom de la base Mail de l'utilisateur sur le serveur (sans les sous-répertoires). | ||
| @MailReplicaID | Replica ID de la base Mail de l'utilisateur (C12573F7:0030A318). | ||
| @MailLocalReplica | Chemin de la réplique locale du fichier courrier de l'utilisateur. | ||
| @ArchiveServer | Nom du serveur hébergeant la base archive Mail (vide si la base archive est en local ou si aucune archive n'a été déclarée). | ||
| @ArchiveDbName | Chemin du fichier archive courrier de l'utilisateur tel qu'il est défini dans le document Archive Profile. | ||
| @ArchiveFileName | Nom de la base Archive de l'utilisateur (sans les sous-répertoires). | ||
| @User1, @User2, ... | La valeur de ces mots clés est définie dans le document User. | ||
| @Setup1, @Setup2, ... | La valeur de ces mots clés est définie dans le Setup de l'utilisateur. | ||
| @DskMgrDatabase | Chemin de la base Desktop Manager pour l'utilisateur. | ||
| @DskMgrServer | Nom du serveur hébergeant la base Desktop Manager pour l'utilisateur. | ||
| @DskMgrDllPath | Chemin du fichier DskMgr.dll de l'utilisateur sur son poste. | ||
| @DskMgrExePath | Chemin du fichier DskMgr.exe de l'utilisateur sur son poste. | ||
| @DskMgrTaskPath | Chemin du fichier DskMgrTask.exe de l'utilisateur sur son poste. | ||
| @DskMgrHookPath | Chemin du fichier nDskMgrHook.dll de l'utilisateur sur son poste. | ||
| @BackupFolder | Chemin du répertoire de Backup pour l'utilisateur. | ||
| @RoamingFolder | Chemin du répertoire de Roaming pour l'utilisateur. | ||
| @Year | Année en cours (sur 4 chiffres). | ||
| @Month | Mois en cours (01-12). | ||
| @Day | Jour en cours (01-31). | ||
| @Hour | Heure actuelle (00-23). | ||
| @Minute | Minute actuelle (00-59). | ||
| @Second | Seconde actuelle (00-59). | ||
| @WeekDay | Jour de la semaine (Sunday,Monday,Tuesday,...). |
Exemple :
Pour un utilisateur dont les informations de la fiche User et du fichier Notes.ini indiquent :
KeyFileName=d:\Lotus\Notes\Data\rjohnson.id
Le résultat de l'évaluation des différents mots clés @ donne :
| @UserName | CN=Richard Johnson/OU=PARIS/OU=FR/O=Cooperteam | ||
| @LastName | Johnson | ||
| @FirstName | Richard | ||
| @ShortName | rjohnson | ||
| @CommonName | Richard Johnson | ||
| @AbbreviateName | Richard Johnson/PARIS/FR/Cooperteam | ||
| @NotesProgramFolder | c:\Program Files\Lotus\Notes\ | ||
| @NotesDataFolder | d:\Lotus\Notes\Data\ | ||
| @UserIdPath | d:\Lotus\Notes\Data\rjohnson.id | ||
| @UserIdName | rjohnson.id | ||
| @CachePath | d:\Lotus\Notes\Data\Cache.ndk | ||
| @CacheName | Cache.ndk | ||
| @DesktopPath | d:\Lotus\Notes\Data\Desktop8.ndk | ||
| @DesktopName | Desktop8.ndk | ||
| @NotesIniPath | c:\Program Files\Lotus\Notes\Notes.ini | ||
| @InternetAddress | Richard.Johnson@cooperteam.com | ||
| @MailServer | CN=King/O=Cooperteam | ||
| @SametimeServer | CN=Sametime/O=Cooperteam | ||
| @Domain | Cooperteam | ||
| @MailDbName | mail\rjohnson.nsf | ||
| @MailFileName | rjohnson.nsf | ||
| @MailReplicaID | C12573F7:0030A318 | ||
| @MailLocalReplica | MailCooper\rjohnson.nsf | ||
| @ArchiveServer | |||
| @ArchiveDbName | ArchiveP\Mail.nsf | ||
| @ArchiveFileName | Mail.nsf | ||
| @DskMgrDatabase | DskMgr\DskMgr.nsf | ||
| @DskMgrServer | CN=SrvAppl1/OU=Server/O=Cooperteam | ||
| @DskMgrDllPath | d:\Lotus\Notes\Data\DM\DskMgr.dll | ||
| @DskMgrExePath | d:\Lotus\Notes\Data\DM\DskMgr.exe | ||
| @DskMgrTaskPath | d:\Lotus\Notes\Data\DM\DskMgrTask.exe | ||
| @DskMgrHookPath | d:\Lotus\Notes\Data\DM\nDskMgrHook.dll | ||
| @BackupFolder | u:\Data\Notes\Backup\ | ||
| @RoamingFolder | u:\Data\Notes\Roaming\ | ||
| @Year | 2009 | ||
| @Month | 09 | ||
| @Day | 10 | ||
| @Hour | 15 | ||
| @Minute | 13 | ||
| @Second | 09 | ||
| @WeekDay | Tuesday |
Si dans une Tâche créée pour cet utilisateur, nous voulons répliquer en local sa base courrier présente sur le serveur, il suffit de renseigner les champs de la section Create Local Replica comme suit :
A l'exécution de la Tâche sur le poste de l'utilisateur, les substitutions seront effectuées :
@MailServer!!@MailDbName CN=King/O=Cooperteam!!mail\rjohnson.nsf
MailCooper\@MailFileName MailCooper\rjohnson.nsf
Il est possible de mixer dans un même champ des constantes (MailCooper\) et des mots clés @ (@MailFileName). Dans ce cas présent, l'utilisation du mot clé @MailFileName permet de ne récupérer que le nom du fichier courrier (nom du fichier .nsf) ce qui permet de laisser libre le choix de l'emplacement du fichier en local. Si le mot clé @MailDbName avait été utilisé dans le champ indiquant le chemin du fichier en local, celui-ci aurait été le même que sur le serveur (mail\rjohnson.nsf).
3. Les mots clés # |
|
|
Les mots clés # représentent des valeurs liées aux variables du Notes.ini de l'utilisateur. La liste des variables disponibles (et leur valeur) peut être obtenue en ouvrant le fichier Notes.ini. La liste des variables dépend à la fois de la version du client Notes, des préférences utilisateurs et des applications Notes utilisées. Néanmoins, certaines valeurs sont toujours présentes et il est possible de s'appuyer dessus.
[Notes]
KitType=1
Directory=D:\Notes853us\data
InstallType=2
FaultRecovery_Build=Release 8.5.3
Timezone=-1
DSTLAW=3,-1,1,10,-1,1
DST=1
MailType=0
$$HasLANPort=1
WWWDSP_SYNC_BROWSERCACHE=0
WWWDSP_PREFETCH_OBJECT=0
EnableJavaApplets=1
EnablePlugins=1
Pour utiliser une des variables du Notes.ini dans les champs des documents Tâches, Profiles, Template ou les fichiers de Scripts, il faut encadrer le nom de la variable avec des caractères # (ex : #MailType#). Contrairement aux mots clés @ dont la liste est fixée, il n'y a pas de restriction quant à l'utilisation des mots clés #. Si la variable du Notes.ini indiquée entre les deux caractères # n'est pas définie, la valeur renvoyée sera vide. Il faudra donc s'assurer de la présence effective des variables dont on souhaite utiliser la valeur dans le contexte de la session Notes de l'utilisateur.
Comme les répertoires présents dans les valeurs du Notes.ini (#Directory#) ne se terminent pas toujours par le caractère de séparation \, il faudra penser à ajouter celui-ci lors de la formation des chemins utilisant les mots clés #.
Exemple :
Si dans un fichier de Script créé pour un utilisateur, nous voulons tester l'utilisation de la base Mail en local, il faut analyser la variable MailType du Notes.ini (0=On Server, 1=On Local)
## Get Backup folder path
backup_folder$ = "@BackupFolder"
If backup_folder$ = "" Then Goto END
## Backup local Mail Replica Database
mail_type$ = "#MailType#"
If mail_type$ = "0" Then Goto END
error_code$ = CopyFile("MailCooper\@MailFileName","backup_folder$/@MailFileName")
Lors de la création du fichier Script sur le poste de l'utilisateur, la substitution sera effectuée :
## Get Backup folder path
backup_folder$ = "u:\Data\Notes\Backup\"
If backup_folder$ = "" Then Goto END
## Backup local Mail Replica Database
mail_type$ = "0"
If mail_type$ = "0" Then Goto END
error_code$ = CopyFile("MailCooper\rjohnson.nsf","backup_folder$\rjohnson.nsf")
4. Les mots clés % |
|
|
Les mots clés % représentent des valeurs liées au poste utilisateur, en particulier les variables d'environnement de la session utilisateur. La liste des variables disponibles (et leur valeur) peut être obtenue en tapant la commande set depuis une fenêtre DOS. La liste des variables dépend à la fois de la version du système d'exploitation et des logiciels installés sur la machine. Néanmoins, certaines valeurs sont toujours présentes et il est possible de s'appuyer dessus pour construire des chemins de fichiers. Certaines dépendent de l'utilisateur (répertoire Temp), d'autres sont liées à l'installation du système (SystemRoot) :
ALLUSERSPROFILE=C:\Documents and Settings\All Users
APPDATA=C:\Documents and Settings\Richard JOHNSON\Application Data
CHIPNAME=LC868700
CLASSPATH=d:\notes5\notes.jar;c:\notesutils\jdk118\lib
CommonProgramFiles=C:\Program Files\Fichiers communs
COMPUTERNAME=PORTABLE
ComSpec=C:\WINNT\system32\cmd.exe
HOMEDRIVE=C:
HOMEPATH=\Documents and Settings\Richard JOHNSON
LOGONSERVER=\\PORTABLE
NUMBER_OF_PROCESSORS=1
OS=Windows_NT
Os2LibPath=C:\WINNT\system32\os2\dll;
Path=C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 6 Model 8 Stepping 6, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=0806
ProgramFiles=C:\Program Files
PROMPT=$P$G
SystemDrive=C:
SystemRoot=C:\WINNT
TEMP=C:\DOCUME~1\RICHAR~1\LOCALS~1\Temp
TMP=C:\DOCUME~1\RICHAR~1\LOCALS~1\Temp
USERDOMAIN=PORTABLE
USERNAME=Richard JOHNSON
USERPROFILE=C:\Documents and Settings\Richard JOHNSON
windir=C:\WINNT
Pour utiliser une des variables d'environnement dans les champs des documents Tâches, Profiles, Template ou les fichiers de Script, il faut encadrer le nom de la variable avec des caractères % (ex : %USERPROFILE%). Contrairement aux mots clés @ dont la liste est fixée, il n'y a pas de restriction quant à l'utilisation des mots clés %. Si la variable d'environnement indiquée entre les deux caractères % n'est pas définie, la valeur renvoyée sera vide. Il faudra donc s'assurer de la présence effective des variables dont on souhaite utiliser la valeur dans le contexte de la session du poste utilisateur.
Comme les répertoires présents dans les valeurs des variables d'environnement ne se terminent pas par le caractère de séparation \, il faudra penser à ajouter celui-ci lors de la formation des chemins utilisant les mots clés %.
Exemple :
Si dans une Tâche créée pour un utilisateur, nous voulons détacher un fichier dans le répertoire temporaire de la machine, il suffit de renseigner le champ File Local Path de la section Install Files on disk comme suit :
A l'exécution de la Tâche sur le poste de l'utilisateur, la substitution sera effectuée :
%TEMP%\command.bat C:\DOCUME~1\RICHAR~1\LOCALS~1\Temp\command.bat

Back to Top
Commentaires
0 commentaire
Cet article n'accepte pas de commentaires.