Skip to content

Chapitre 9.0: Powershell AD - Introduction

🏠 Retour au Syllabus | ⏭️ Chapitre Suivant: Powershell AD - Concepts base


📚 Dans ce chapitre

Découvrez PowerShell pour Active Directory : un outil puissant pour automatiser et simplifier la gestion de votre domaine.


1. 🔹 Qu'est-ce que PowerShell pour AD ?

PowerShell est un outil d'administration puissant qui permet d'automatiser et de simplifier la gestion d'Active Directory. Contrairement à l'interface graphique, PowerShell offre:

Avantages de PowerShell pour AD

  • Automatisation des tâches répétitives
  • Traitement par lots pour gérer plusieurs objets simultanément
  • Scripting pour créer des solutions personnalisées
  • Reporting avancé et extraction de données

2. 🔹 Modules PowerShell pour Active Directory

Module disponible

Sur un contrôleur de domaine avec le rôle AD DS installé, ce module est généralement déjà disponible et chargé automatiquement dans PowerShell ISE.

# Vérifier si le module AD est chargé
Get-Module -Name ActiveDirectory

# Si le module n'est pas chargé (rare sur un DC), vous pouvez l'importer
# Import-Module ActiveDirectory

Sur un poste de travail

Sur un poste de travail (non-DC), l'installation des outils RSAT (Remote Server Administration Tools) est nécessaire pour obtenir ce module, et l'importation explicite peut être requise.

Test pratique

Ouvrez PowerShell sur votre contrôleur de domaine et exécutez ces commandes pour vérifier que le module AD est bien installé et disponible.

3. 🔹 Commandes de base et structure

Structure cohérente

Les commandes PowerShell pour AD suivent une structure cohérente avec des verbes d'action et des noms d'objets :

Verbe Action Exemples
Get Obtenir des informations Get-ADUser, Get-ADGroup
New Créer de nouveaux objets New-ADUser, New-ADGroup
Set Modifier des objets existants Set-ADUser, Set-ADAccountPassword
Remove Supprimer des objets Remove-ADUser, Remove-ADGroup
Add Ajouter à une collection Add-ADGroupMember
Move Déplacer des objets Move-ADObject

Exemple pratique: Explorer votre domaine

Commandes de découverte

Exécutez ces commandes sur votre contrôleur de domaine dns1.maxtec.be et observez les résultats.

# Obtenir des informations sur le domaine
Get-ADDomain

# Lister les contrôleurs de domaine
Get-ADDomainController -Filter *

# Afficher tous les utilisateurs du domaine
Get-ADUser -Filter *



# Afficher les utilisateurs du domaine, mais sélectionner des attributs spécifiques et les afficher de manière structurée
# Le Format-Table permet d'afficher les résultats dans un format tabulaire
# Les propriétés Name, Enabled et SamAccountName sont sélectionnées pour être affichées
Get-ADUser -Filter * -Properties Name, Enabled, SamAccountName | 
    Format-Table Name, Enabled, SamAccountName

# Obtenir d'autres types d'objets AD

# Afficher tous les groupes du domaine
Get-ADGroup -Filter *

# Afficher tous les ordinateurs du domaine
Get-ADComputer -Filter *

# Afficher toutes les unités d'organisation (OUs)
Get-ADComputer -Filter *

Filtres avancés

(On verra les filtres plus tard)

Comparaison GUI vs PowerShell

Voici quelques exemples concrets des avantages de PowerShell :

Tâche Interface graphique PowerShell Avantage PowerShell
Créer 10 utilisateurs 10 opérations manuelles Une seule commande avec une boucle Gain de temps, cohérence
Trouver tous les comptes désactivés Filtres complexes dans l'interface Get-ADUser -Filter {Enabled -eq $false} Rapidité, possibilité d'export
Modifier un attribut pour tous les utilisateurs d'un département Impossible en masse Une ligne de commande Automatisation de tâches impossibles en GUI
Audit des groupes Navigation manuelle Rapport automatisé Exhaustivité, reproductibilité

Exemple pratique: Tâche impossible en GUI

Recherche complexe

Trouvez tous les utilisateurs qui n'ont pas changé leur mot de passe depuis plus de 4 jours :

$date = (Get-Date).AddDays(-4)
Get-ADUser -Filter {PasswordLastSet -lt $date -and Enabled -eq $true} -Properties PasswordLastSet |
    Select-Object Name, PasswordLastSet |
    Sort-Object PasswordLastSet

Réflexion

Exécutez cette commande et discutez de la façon dont vous pourriez accomplir la même tâche avec l'interface graphique (spoiler: c'est très difficile).

5. 🔹 Configuration de l'environnement PowerShell

Configuration recommandée

Pour travailler efficacement avec PowerShell, quelques configurations sont recommandées :

# Définir l'exécution des scripts (sur votre station de travail d'administration)
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

# Créer un dossier pour vos scripts (vous pourriez le faire à la main aussi)
New-Item -Path "C:\Scripts" -ItemType Directory -Force

6. 🔹 Aide et documentation

Aide intégrée

PowerShell dispose d'un système d'aide intégré complet mais très technique pour débuter :

# Afficher l'aide dans une fenêtre séparée
Get-Help Get-ADUser -ShowWindow

Exercice d'exploration

Utilisez l'internet, IA ou le système d'aide pour explorer la commande New-ADUser. Identifiez les paramètres obligatoires et facultatifs pour créer un nouvel utilisateur.


🏠 Retour au Syllabus | ⏭️ Chapitre Suivant: Powershell AD - Concepts base


📚 Cours Active Directory - PowerShell | 👨‍💻 Pour débutants