Bannière

Métadonnées du document:
[ Auteur : Clockover ][ Création le : 21/07/2009 ][ Dernière modification le : 10/09/2009 ][ Version : 2.1 ]

Mise en place d'un annuaire natif Windows pour TPE/PME

Présentation:

Cette page présente l'utilisation de l'annuaire de Windows: Active Directory comme carnet d'adresse afin de le rendre consultable par des postes clients Windows en natif.
En effet, Active Direcotry contient tous les attributs nécessaires (Téléphone, Société, Adresse...) et permet aussi de créer des objets inertes de type "contacts".
L'idée étant donc de remplir l'AD convenablement afin de n'avoir qu'une seule DB à alimenter et de fournir aux postes clients un outil de consultation. Nous savons que du côté serveur, nous exploiterons Active Directory. Il faudra donc dans un premier temps y faire du ménage et mettre à jour les données manquantes.
Du côté client, nous utiliserons l'application "Carnet d'adresses" de Outlook Express qui permet de rechercher des personnes. L'utilisation de cet outil (wab.exe), nous permet donc d'importer facilement les contacts dans Outlook Express.

Informations complémentaires:

Cette solution dispose de plusieurs intérêts.
fleche Elle utilise entièrement des technologie Microsoft.
fleche Elle est complètement native, il n'y a aucunes licences à acquérir.
fleche La pérennité des données est assurée. En effet, si plus tard Exchange Serveur est installé, ce dernier utilise également Active Directory. Enfin dans tous les autres cas, la facilité d'extraction des données permet une récupération rapide de l'information.

Important! Les scripts de mise en place/de suppression et la configuration vierge de la BDR ont été testé uniquement sous Windows XP.

Mise en place:

Il faut tout d'abord préparer un raccourci "Annuaire.lnk" pointant vers "wab.exe /find".
Nous pouvons aussi mettre en place un logo pour customiser l'interface graphique du carnet d'adresses de Outlook Express. Ce fichier doit être au format BMP (134x50 environ), se nommer logo.bmp.
Ces deux fichiers devront être rendus disponible sur un partage réseau.
Le script VBS suivant est commenté et doit être lancé (manuellement, via GPO...) sur chacun des postes qui nécessite l'annuaire.
'Mise en place annuaire Outlook Express
'Version 0.6 20071201 by Clockover

On Error Resume Next

Const SOCIETE = "Le nom de votre société"
Const DOMAINE = "domaine"
Const SUFFIXE = "suffixe"
Const SERVEUR = "serveur"
Const PARTAGE = "\\serveur.domaine.local\partage\"

Set WshShell = CreateObject("WScript.Shell")

'Détecter si tout est en ordre dans la BDR
strAnnuaire = WshShell.RegRead("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\Active Directory GC\Account Name")
If (strAnnuaire = "Annuaire Groupe") Then	
	'msgbox "Debug: L'annuaire est correctement configuré."
else
	'msgbox "Debug: L'annuaire n'est pas installé. Configuration de l'annuaire en cours."
	'Executer puis fermer l'application afin d'initialiser les données en BDR
	WshShell.Run """C:\Program Files\Outlook Express\wab.exe"" /find"
	WScript.Sleep (100)
	Set oWMi=GetObject("winmgmts:/root/cimv2")
	Set colProcs=oWmi.ExecQuery( "SELECT * FROM Win32_Process " & "WHERE Name='wab.exe'")
	For Each oProc In colProcs
		If WshShell.AppActivate(oProc.ProcessId) Then
			oProc.Terminate () ' Kill
		End If
	Next

	'Suppression liens par défaut
	WshShell.RegDelete("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\Bigfoot\")
	WshShell.RegDelete("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\VeriSign\")
	WshShell.RegDelete("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\WhoWhere\")
	'Modification du compte active directory GC présent
	WshShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\Active Directory GC\Account Name", "Annuaire " & SOCIETE
	'Décommenter cette ligne si vous voulez mettre votre propre logo. 
	'WshShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\Active Directory GC\LDAP Logo", "%ProgramFiles%\Fichiers communs\Services\logo.bmp", "REG_EXPAND_SZ"
	WshShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\Active Directory GC\LDAP Search Base", "dc=" & DOMAINE & ",dc=" & SUFFIXE
	WshShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\Active Directory GC\LDAP Server", SERVEUR & "." & DOMAINE & "." & SUFFIXE
	'WshShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\Active Directory GC\LDAP User Name", ""
End if

'Vérifier la présence du logo (décommentez si vous voulez mettre en place le logo)
'Set FSO = CreateObject("Scripting.FileSystemObject")
'strPathLogo = WshShell.ExpandEnvironmentStrings("%ProgramFiles%") & "\Fichiers communs\Services"
'If FSO.FileExists(strPathLogo & "\logo.bmp") Then
'    'msgbox "Debug: Le logo existe."
'Else
'   'msgbox "Debug: Le logo n'existe pas. Copie en cours."
'	FSO.CopyFile PARTAGE & "logo.bmp", strPathLogo , "TRUE"
'End If

'Vérifier la présence du lien sur le Bureau
Set FSO = CreateObject("Scripting.FileSystemObject")
strPathLien = WshShell.ExpandEnvironmentStrings("%USERPROFILE%") & "\Bureau"
If FSO.FileExists(strPathLien & "\Annuaire.lnk") Then
    'msgbox "Debug: Le lien existe."
Else
    'msgbox "Debug: Le lien n'existe pas. Copie en cours."
	'Création du raccourci vers l'annuaire sur le bureau
	FSO.CopyFile PARRTAGE & "Annuaire.lnk", strPathLien , "TRUE"
End If

Suppression:

Dans cette partie, nous aurons besoin d'un export vierge de la BDR que vous retrouverez: ici. Ce dernier devra être mis à disposition sur un partage.
Si nous voulons revenir aux paramètres par défauts des systèmes d'exploitation, nous devrons lancer sur chacunes des machines le script VBS suivant:
'Suppression annuaire Outlook Express
'Version 0.1 20071201 by Clockover

On Error Resume Next

Const SOCIETE = "Le nom de votre société"
Const PARTAGE = "\\serveur.domaine.local\partage\"

Set WshShell = CreateObject("WScript.Shell")

'Detecter si la modification avait été apportée.
strAnnuaire = WshShell.RegRead("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\Active Directory GC\Account Name")
If (strAnnuaire = "Annuaire " & SOCIETE) Then	
	'msgbox "Debug: L'annuaire est configuré. On le remet d'origine"
	WshShell.run "REGEDIT.EXE /s " & PARTAGE & "Export.reg"""
else
	'msgbox "Debug: On ne fait rien. On ne touche pas au registre"
End if

'Vérifier la présence du logo (si vous aviez mis le logo, décommentez les lignes)
'Set FSO = CreateObject("Scripting.FileSystemObject")
'strPathLogo = WshShell.ExpandEnvironmentStrings("%ProgramFiles%") & "\Fichiers communs\Services"
'If FSO.FileExists(strPathLogo & "\logo.bmp") Then
'    'msgbox "Debug: Le logo existe. On le supprime"
'	FSO.DeleteFile(strPathLogo & "\logo.bmp")
'Else
'    'msgbox "Debug: Le logo n'existe pas."
'End If

'Vérifier la présence du lien sur le Bureau
strPathLien = WshShell.ExpandEnvironmentStrings("%USERPROFILE%") & "\Bureau"
If FSO.FileExists(strPathLien & "\Annuaire.lnk") Then
    'msgbox "Debug: Le lien existe. On le supprime"
	FSO.DeleteFile(strPathLien & "\Annuaire.lnk")
	
Else
    'msgbox "Debug: Le lien n'existe pas."
End If

Pour aller plus loin:

Il est possible à l'administrateur de s'alléger du travail d'entretien de cet annuaire. En effet, l'utilisation de ces outils permet de déléguer l'administration d'une unité d'organisation (à travers une MMC personnalisée) à une ou plusieurs personne(s). L'information peut donc être mise à jour et contrôlée par le ou les responsables appropriés.

Actuellement, wab.exe permet d'importer les contacts facilement dans Outlook Express. La majorité des sociétés utilisant Outlook, une solution doit être trouvée.

Il y a 0 commentaire(s) sur ce sujet.
L'intégralité du portail est placé sous licence Creative Commons License NC v2.0 (sauf mentions contraires indiquées sur les pages et/ou documents concernés !). Version: 4.2
Ce portail répond normalement aux critères de compatibilité XHTML v1.1 et CSS v2.0 du W3C:
Valid XHTML 1.1! Valid CSS 2.0!

Page générée en 0.005 secondes