Télécharger

Transcription

Télécharger
GSB
Annuaire AD
Version <1.0>
Mise en place de rôle sur le serveur gsb
GSB
Annuaire Active Directory
Version:
<1.0>
Date: <jj/mm/aaaa>
Historique des révisions
Date
29/02/2016
Version
<1.0>
Description
Installation et configuration d'un
annuaire Active Directory
Auteur
Robin Viscaïno et
Alexis Redais
Page 2 sur 10
GSB
Annuaire Active Directory
Version:
<1.0>
Date: <jj/mm/aaaa>
Table des matières
Table des matières
Introduction
Contexte du projet
Objectifs du document
Portée
Définitions, Acronymes et Abréviations
Références
Éléments de configuration
Configuration d'un annuaire Active Directory
Script d’automatisation
Serveur d'envoi de mail
Script d'automatisation pour la création d'utilisateurs issu d'une base de donnée
Conclusion
4
4
4
4
4
5
5
5
6
7
9
11
Page 3 sur 10
GSB
Annuaire Active Directory
Version:
<1.0>
Date: <jj/mm/aaaa>
Mise en place de rôles sur le serveur
GSB
1.
Introduction
1.1
Contexte du projet
Le projet consiste à mettre en place un annuaire Active directory pour améliorer la gestions des bases de
données et ainsi éviter une trop grandes accumulations des bases de données. L'annuaire sera centralisé
pour permettre aux applications d'y accéder.
Nous nous trouvons toujours au sein de l'entreprise GSB qui est organisé avec de multiples services.
C'est d'ailleurs pourquoi le domaine Active Directory est indispensable au bon fonctionnement de
l'entreprise.
Une entreprise avec une activité assez importante comme doit impérativement avoir son propre
domaine si l'on veut que la gestion du parc informatique soit faite de manière optimisée.
1.2
Objectifs du document
Le document a pour objectif de mettre à disposition une documentation détaillé concernant la
configuration d'un annuaire active directory et la création d'un script PowerShell, qui devra quant à lui
automatiser la création de comptes utilisateurs et les intégrer dans un domaine.
1.3
Portée
1.4
Définitions, Acronymes et Abréviations
Listes de commandes scripting :
dsadd est un outil de ligne de commande intégré a windows server 2008 et 2008R2. On peut l'utiliser si
nous avons au préalable installé le service de domaine active directory (AD), ainsi on peut ouvrir un
terminal et exécuter la commande. Plusieurs attributs existent pour cette commande :
- dsadd computer
- dsadd contact
- dsadd group
- dsadd ou
- dsadd user
- dsquota
Ajoute un seul ordinateur à l'annuaire
Ajoute un contact unique pour le répertoire
Ajoute un groupe unique à l'annuaire
Ajoute une unité d'organisation à l'annuaire
Ajoute un tilisateur unique dans le répertoire
Ajoute une spécification de quota à une partition d'annuaire.
dsmod
dsdel :
Page 4 sur 10
GSB
Annuaire Active Directory
1.5
Références
2.
Éléments de configuration
2.1
Configuration d'un annuaire Active Directory
Version:
<1.0>
Date: <jj/mm/aaaa>
Pour cette tâche qui nous a été confié nous avons dû utiliser le travail effectué par nos camarades SLAM.
En effet, nous allons utiliser un script permettant d'importer à partir d'un fichier .csv les informations
qu'ils ont stocké dans leur base de donnée.
Architecture de la forêt
Tout d'abord on se rend sur notre serveur windows 2008R2 qui est prédisposé pour servir de
serveur Active directory.
La machine virtuelle du serveur se trouvant sous Vmware je me connecte à distance à l'aide de la
connection de bureau à distance.
Je préfère ce choix qu'à la console intégré à Vmware car j'ai l'impression que l'on a de meilleures
performances et les lag sont moins fréquents.
Nous allons utiliser Windows server 2008R2 et y installer les services d'active directory ainsi que
celui du DNS, car il faut savoir qu'on peut pas installer AD sans DNS.
L’installation de ces services et assez simple :

Ouvrir le gestionnaire de serveur.

Ajouter un rôle.

Installer les services de domaine Active Directory.

On va devoir éxécuter l’assistant des services de domaine Active directory (on peut
également le lancer en tapant : dcpromo.exe, dans la barre de recherche).

Créer un domaine dans une nouvelle forêt.

Nommer notre domaine racine, ici : GSB-PITCHOU.LOCAL.

Il ne reste plus qu’à choisir le niveau fonctionnel de notre forêt.
Page 5 sur 10
GSB
Annuaire Active Directory
Version:
<1.0>
Date: <jj/mm/aaaa>
Après avoir installé les rôles nécessaire à active directory
j'ai réalisé l’architecture des services de GSB ainsi qu'une
UO « Visiteurs » où seront créées les OU et les comptes
visiteurs par secteurs grâce au script PowerShell.
Avant de s'attaquer au script pour importer les utilisateurs dans notre AD, il va falloir se rendre sous
phpmyadmin et sur notre base de donnée de GSB. On sélectionnera la table « visiteurs » et on exportera
les données depuis la base de données « gsb ».
Script d’automatisation
Les scripts ont pour but d’améliorer la productivité et de « simplifier » des tâches qui demanderaient
normalement un temps considérable pour être réalisées.
Dans notre cas plusieurs solutions pouvaient nous apporter les réponses à notre problématique de départ,
qui est d’automatiser le transfert de données depuis une base de donnée vers des comptes (c’est-à-dire
vers les comptes et les unité d’organisations de l’AD).
Page 6 sur 10
GSB
Annuaire Active Directory
Version:
<1.0>
Date: <jj/mm/aaaa>
Il existe donc plusieurs moyen d’y répondre comme par exemple utiliser le script Batch ou PowerShell,
de mon côté j’ai opté pour la solution de PowerShell.
L’interface est accessible depuis le menu « rechercher » de Windows en tapant « PowerShell ».
Précédemment nous avions exporter les données de « gsb » dans un fichier .csv, cependant le fichier tel
quel n'est pas encore exploitable, quelques modifications manuelles vont être nécessaires afin de le rendre
usuel.
Des précautions sont à prendre quand on doit utiliser des scripts à l'aide de PowerShell. La syntaxe est
très importante et les quelques fautes qui peuvent subsister dans notre code ainsi que dans notre fichier
.csv peut apporter des erreurs.
Comme on peut le constater ci-dessus, le prénom « Valérie » utilise l'accent aiguë qui n'est donc pas
correctement transformé lors de l’importation du fichier de la base de donnée.
2.2
Serveur d'envoi de mail
Pour réaliser l'installation du serveur d'envoi de mail, il faut se rendre sur le Windows Server, puis dans
Fonctionnalités > Ajouter des fonctionnalités et choisir “Service SMTP”.
Il suffit ensuite de le configurer en suivant les instructions présentent sur le site Microsoft et de les
adapter à son environnement : https://msdn.microsoft.com/fr-fr/library/dn292550.aspx
Pour tester le fonctionnement du serveur mail, j'ai décidé de simuler l'envoi de mail depuis Telnet.
Après avoir regardé la syntaxe sur le web, j'ai préformaté le texte suivant pour réussir à envoyer un e-mail
:
MAIL FROM: [email protected]
RCPT TO: [email protected]
Page 7 sur 10
GSB
Annuaire Active Directory
Version:
<1.0>
Date: <jj/mm/aaaa>
DATA
SUBJECT: TEST
Ceci est un message de test envoyé depuis Windows Server 2008
Une fois cela réalisé, je suis aller dans le dossier inetpub > mailroot > Drop, puis j'ai ouvert le fichier avec
le logiciel de messagerie Thunderbird. On y retrouve bien le contenu du message écrit ci-dessus :
Page 8 sur 10
GSB
Annuaire Active Directory
Version:
<1.0>
Date: <jj/mm/aaaa>
Script d'automatisation pour la création d'utilisateurs issu d'une base de donnée
Import-Module ActiveDirectory
#---------------------------------------------#Ajouter des utilisateurs
#----------------------------------------------
#On se synchronise avec le domaine de gsb-pitchou
set-location $pathDev
$csvImport = Import-Csv -Path ".\visiteurs.csv" -delimiter ";"
foreach ($item in $csvImport) # début de la boucle : on lit chaque lignes de notre fichier CSV
{
if($item.secteurs -eq "NULL")
{
$secteur=$item.nomsec
}
else
{
{
$secteur=item.secteur
switch($secteur)
"P"{$secteur="Paris centre"}
"O"{$secteur="Ouest"}
"S"{$secteur="Sud"}
"E"{$secteur="Est"}
"N"{$secteur="Nord"}
}
}
}
# Les variable prennent la valeur des lignes correspondantes dans le ficher csv
$nom=$item.nom
$prenom=$item.prenom
$adresse=$item.adresse
$codepostal=$item.codepostal
$ville=$item.ville
$dateembauche=$item.dateembauche
$secteur=$item.secteur
$codelabo=$item.codelabo
$login=$prenom.substring(0,1)+$nom
$init=$prenom.substring(0,1)+$nom.substring(0,1)
$server="\\SRV-AD1\"#Création de la variable contenant le nom NetBios du serveur de fichier
$HomeDirectory= $server + "home\" + $login# création d'une variable qui renvoie sur le chemin
du répertoir personnel d'un utilisateur
$profilePath=$server + "profils\" + $login# création d'une variable contenant le chemin d'accès à
l'utilisateur
# on test l'existence de l'OU visiteurs
Page 9 sur 10
GSB
Annuaire Active Directory
Version:
<1.0>
Date: <jj/mm/aaaa>
$domaine = "dc=gsb-pitchou,dc=local"
$myADSI=[ADSI]"LDAP://$domaine"
if(!([ADSI]::Exists("LDAP://OU=Visiteurs_GSB,OU=Services_GSB,$domaine")))
{
# Creation de l'OU "visiteurs" si elle n'existe pas
$myOU=$myADSI.Create("organizationalUnit","Visiteurs_GSB")
$myOU.SetInfo()
}
if((Get-ADOrganizationalUnit -Filter {Name -eq $secteurs})-eq $null)
{
New-ADOrganizationalUnit -Name $secteurs -Path "OU=Visiteurs_GSB,OU=Services_GSB,
$domaine"
Write-Host "L'unité d'organisation "+$secteurs+" a été créée"
}
else
{
Write-Host "L'unité d'organisation "+$secteurs+" est déjà présente dans l'arborescence"
}
if((Get-ADGroup -Filter {Name -eq $secteurs}) -eq $null)
{
New-ADGroup $secteurs -GroupScope Global # Créer un nouveau groupe avec comme nom la
variable
}
If((Get-ADUser -Filter {sAMAccountame -eq $nom +"."+ $prenom}) -eq $null)
{
New-ADUser -name $displayname -ChangePasswordAtLogon 1 -Path
"OU=secteurs,OU=Visiteurs_GSB,OU=Services_GSB,DC=gsb-pitchou,DC=local" -Description $secteur
-DisplayName $prenom" "$nom
-Enabled $true -GivenName $prenom -SamAccountName
$prenom"."$nom -Surname $nom
-UserPrincipalName $prenom"."$nom"@gsb-pitchou.local"
-AccountPassword (ConvertTo-SecureString "P@sww0rd" -AsPlainText -force)
# Créer un compte utilisateur dans le domaine active directory dans la sous-OU secteurs et
dans notre domaine gsb-pitchou
Write-Host "l'utilisateur "$prenom"."$nom " a été créé"
}
else #sinon faire..
{
Write-Host "l'utilisateur "$prenom"."$nom " est déjà créé"
} #fin du if
Add-ADGroupMember $secteur $prenom"."$nom
Add-ADGroupMember -Identity "G_$secteur" -Member $prenom"."$nom
Write-Host "intégration de "$prenom"."$nom" dans le groupe "$secteur""
}
#Note : il faut bien que le script ci-contre soit dans le même dossier que le fichier csv des visiteurs
Page 10 sur 10