PowerShell est un shell en ligne de commande et un langage de script développé par Microsoft, conçu pour l’automatisation des tâches système et la gestion de la configuration. Il permet d’interagir efficacement avec les composants Windows tels que l’Active Directory, les services, les fichiers, et bien plus encore. Grâce à sa syntaxe puissante et orientée objet, PowerShell est un outil essentiel pour les administrateurs systèmes qui souhaitent automatiser les tâches répétitives, améliorer la cohérence et gagner du temps au quotidien.
Un fichier CSV (Comma-Separated Values ou « valeurs séparées par des virgules ») est quant à lui un format texte simple utilisé pour stocker des données tabulaires, comme celles d’un tableur. Chaque ligne représente un enregistrement, et chaque valeur est séparée par un caractère (souvent une virgule ou un point-virgule). Les fichiers CSV sont largement utilisés pour l’import/export de données entre systèmes, notamment dans les scripts PowerShell pour automatiser l’ajout ou la gestion d’utilisateurs, car ils sont faciles à lire, modifier et intégrer dans des scripts.
Contenu du Fichier users.csv
Le fichier CSV doit être encodé en UTF-8 avec les colonnes suivantes :
Prenom;Nom;Login;Service
Jean;Dupont;jdupont;Vente
Marie;Lemoine;mlemoine;RH
Emplacement du fichier : C:\import\users.csv
Script PowerShell : import_users.ps1
Emplacement du script : C:\import\import_users.ps1
# Chargement du fichier CSV
$users = Import-Csv -Delimiter ";" -Path "C:\import\users.csv"
foreach ($user in $users) {
$sam = $user.Login
# Vérification si l'utilisateur existe déjà
if (-not (Get-ADUser -Filter {SamAccountName -eq $sam} -ErrorAction SilentlyContinue)) {
$fullname = "$($user.Prenom) $($user.Nom)"
# Création de l'utilisateur AD
New-ADUser -Name $fullname `
-SamAccountName $sam `
-UserPrincipalName "$sam@boxtobed.local" `
-GivenName $user.Prenom `
-Surname $user.Nom `
-Department $user.Service `
-AccountPassword (ConvertTo-SecureString "Password123!" -AsPlainText -Force) `
-Enabled $true `
-Path "OU=Utilisateurs,DC=boxtobed,DC=local"
Write-Host "✅ Utilisateur $sam créé."
} else {
Write-Host "ℹ️ Utilisateur $sam existe déjà."
}
}
Création de la Tâche Planifiée (tous les jours à 06h10)
Étapes :
- Ouvrir le Planificateur de tâches Windows (
taskschd.msc
).
- Cliquer sur Créer une tâche (pas « Créer une tâche de base »).
- Onglet Général :
- Nom :
Import utilisateurs AD
- Cocher Exécuter avec les autorisations maximales
- Cocher Exécuter si l’utilisateur est connecté ou non
- Onglet Déclencheurs :
- Nouveau → Début : Tous les jours à 06h10
- Onglet Actions :
- Action : Démarrer un programme
- Programme/script :
powershell.exe
- Onglet Conditions :
- Décocher toutes les restrictions inutiles pour un environnement serveur (si applicable).
- Onglet Paramètres :
- Cocher « Redémarrer la tâche si elle échoue », et « Exécuter la tâche dès que possible après un démarrage planifié manqué ».
Similaire