Dans cet article nous allons voir comment installer et configurer un serveur Active Directory en powershell.
Pré requis
Nous travaillerons ici sur un serveur Windows 2016 fraîchement installé et mis à jour. Il disposera d’une IP fixe et d’un accès internet. Le serveur aura été configuré via la commande SCONFIG, comme expliqué dans l’article: Installation et préparation d’un serveur Core 2016.
Installation des rôles
Nous commencerons par installer le rôle AD-DS (Active Directory Domain Server) qui permettra la gestion des objets AD (utilisateurs, groupes, OU…)
Install-WindowsFeature Ad-Domain-Services
Puis nous installerons les modules de management:
Install-WindowsFeature -name AD-Domain-Services -IncludeManagementTools
Ensuite nous installerons notre forêt et notre nouveau domaine Active Directory avec la commande:
Install-ADDSForest -CreateDnsDelegation:$false -DatabasePath "C:\Windows\NTDS" -DomainMode 7 -DomainName "domtest.lan" -DomainNetbiosName "DOMTEST" -ForestMode 7 -InstallDNS:$true -LogPath "C:\Windows\NTDS" -NoRebootOnCompletion:$false -SysvolPath "C:\Windows\SYSVOL"
Décomposons la commande Install-ADDSForest:
- -CreateDnsDelegation:$false: Ne pas créer de délégation de zone dans la zone parente (ex: dans domtest.lan, la zone parente est .lan)
- -DatabasePath « C:\Windows\NTDS »: Dossier de la base de données ntds.dit qui contient les données AD.
- -DomainMode 7: Niveau fonctionnel du domaine, la valeur « 7 » indique un niveau Windows 2016. Voir l’article sur ms-sec.fr.
- -DomainName « domtest.lan »: Nom du domaine AD
- -DomainNetbiosName « DOMTEST »: Nom NETBIOS du domaine AD
- -ForestMode 7: Niveau fonctionnel de la forêt, la valeur « 7 » indique un niveau Windows 2016. Voir l’article sur ms-sec.fr.
- -InstallDNS:$true: Installation du service DNS nécessaire à l’AD
- -LogPath « C:\Windows\NTDS »: Dossier contenant les logs AD
- -NoRebootOnCompletion:$false: Activation du redémarrage du serveur à la fin de l’installation
- -SysvolPath « C:\Windows\SYSVOL »: Emplacement du dossier SYSVOL contenant les données à répliquer entre les serveurs AD (Script, GPO, définitions de zones etc…)
Une fois installé le serveur redémarrera automatiquement. Nous pourrons empêcher cela en changeant le paramètre NoRebootOnCompletion:$false pour NoRebootOnCompletion:$true.
Le serveur de nouveau disponible, nous proposera de nous identifier avec le compte administrateur du domaine.
Nous pourrons vérifier l’état de l’installation par 3 commandes:
- Get-ADDomaineController: pour afficher les informations relatives au role contrôleur de domaine.
- netdom query FSMO /Domain domtest: pour afficher les rôles FSMO que peut avoir le serveur.
- Get-ADForest: pour afficher les informations relatives à la forêt.
Notre domaine AD est maintenant installé et configuré. Nous allons pouvoir effectuer des taches d’administrations courantes via Powershell.
Administration du serveur Active Directory
Pour les exemples suivants nous allons voir comment:
- Gérer une OU appelée Comptabilité
- Gérer un groupe appelé Service Comptable
- Gérer un utilisateur s’appelant Jean Durand
Création et suppression d’une OU
Nous pourrons maintenant créer de nouvelles Unités d’Organisation (OU). Pour cela nous utiliserons la commande:
New-ADOrganizationalUnit -Name "Comptabilité"
Nous pourrons lister les OU. Pour cela, nous utiliserons la commande:
Get-ADOrganizationalUnit -Filter 'Name -like "*"' | FT Name, DistinguishedName -A
Pour supprimer des OU vous procéderez en 2 étapes. D’abord nous déprotégerons l’OU des suppression accidentelles:
Set-ADOrganizationalUnit -Identity "OU=Comptabilité,DC=domtest,DC=lan" -ProtectedFromAccidentalDeletion $false
Puis nous supprimerons l’OU:
Remove-ADOrganizationalUnit -Identity "OU=Comptabilité,DC=domtest,dc=lan"
Dans le cas ou l’OU contient elle même d’autres OU nous utiliserons l’option -Recursive:
Remove-ADOrganizationalUnit -Identity "OU=Comptabilité,DC=domtest,dc=lan" -Recursive
Création et suppression d’un groupe
Nous pourrons créer de nouveaux groupes d’utilisateurs. Pour cela nous utiliserons la commande:
New-ADGroup -name "Service Comptable" -GroupCategory Security -GroupScope Global -DisplayName "Service Comptable" -Path "CN=Users,DC=domtest,DC=lan" -Description "Groupe des comptables de l'entreprise"
Nous pourrons lister les groupes. Pour cela nous utiliserons la commande:
Get-ADGroup -Filter 'Name -like "*"' | FT Name, DistinguishedName -A
Pour supprimer des groupes nous utiliserons la commande:
Remove-ADGroup
L’invite de commande nous demandera de saisir le groupe à supprimer.
Gestion des utilisateurs
Pour créer de nouveaux utilisateurs nous utiliserons la commande:
New-ADUser -Name "Jean Durand" -GivenName Jean -SurName Durand -SamAccountName jdurand -UserPrincipalName jdurand -DisplayName 'Jean Durand' -AccountPassword (Read-Host -AsSecureString "AccountPassword") -PassThru|Enable-ADAccount
Explication de la commande:
- -Name: Nom et prénom de l’utilisateur
- -GivenName: Prénom
- -SurName: Nom
- -SamAccountName: Spécifie le nom du compte utilisateur
- -UserPrincipalName: Spécifie le nom de l’utilisateur avec lequel il se connectera.
- -DysplayName: Nom à afficher
- -AccountPassword: Spécifie un mot de passe. (Read-Host -AsSecureString « AccountPassword ») permettra d’entrer le mot de passe.
- -PassThru | Enable-ADAccount: Activation du compte
Nous pourrons lister les utilisateurs. Pour cela nous utiliserons la commande:
Get-ADUser -Filter 'Name -like "*"' | FT Name, DistinguishedName -A
Pour supprimer des utilisateurs nous utiliserons la commande:
Remove-ADUser
L’invite de commande nous demandera de saisir le nom de l’utilisateur à supprimer.
Pour placer de nouveaux utilisateurs dans une OU nous utiliserons la commande:
Move-ADObject "CN=Jean Durand,CN=Users,DC=domtest,DC=lan" -TargetPath "OU=Comptabilité,DC=domtest,DC=lan"
Pour placer de nouveaux utilisateurs dans un groupe nous utiliserons la commande:
Add-ADGroupMember -Identity "Service Comptable" -Members "CN=Jean Durand,OU=Comptabilité,DC=domtest,DC=lan"
Nous pourrons lister les utilisateurs d’un groupe. Pour cela nous utiliserons la commande:
Get-ADGroupMember -Identity "Service Comptable" | FT Name, DistinguishedName -A
Pour supprimer des utilisateurs d’un groupe nous utiliserons la commande:
Remove-ADGroupMember -Identity "Service Comptable" -Members "CN=Jean Durand,OU=Comptabilité,DC=domtest,DC=lan"
Comments are closed