From 5a4fbc696ee7b13f43833bd278a4a09ef7682db7 Mon Sep 17 00:00:00 2001 From: 7ka1 <7ka1@noreply.localhost> Date: Thu, 15 Jan 2026 13:52:50 +0000 Subject: [PATCH] Ajouter update_expiration_date.ps1 --- update_expiration_date.ps1 | 41 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 update_expiration_date.ps1 diff --git a/update_expiration_date.ps1 b/update_expiration_date.ps1 new file mode 100644 index 0000000..ea7e269 --- /dev/null +++ b/update_expiration_date.ps1 @@ -0,0 +1,41 @@ +<# +.SYNOPSIS + Modifie la date d'expiration des comptes utilisateurs pour le département Production et le titre Assembler. + +.DESCRIPTION + Ce script récupère tous les utilisateurs ayant 'Production' comme département + et 'Assembler' comme titre, puis définit leur date d'expiration à la date d'hier. + +.NOTES + Nom du fichier : update_expiration_date.ps1 + Auteur : Gemini +#> + +# 1. Définir la date d'expiration (Date du jour - 1 jour) +$DateExpiration = (Get-Date).AddDays(-1) + +# 2. Définir les critères de recherche +$Departement = "Production" +$Titre = "Assembler" + +Write-Host "Recherche des utilisateurs du département '$Departement' avec le titre '$Titre'..." -ForegroundColor Cyan + +# 3. Récupérer les utilisateurs et appliquer la modification +# On utilise Try/Catch pour gérer les erreurs éventuelles +Try { + # La commande Get-ADUser filtre les utilisateurs + # La commande Set-ADAccountExpiration applique la nouvelle date + Get-ADUser -Filter {Department -eq $Departement -and Title -eq $Titre} -Properties Department, Title | ForEach-Object { + + # Affichage pour le suivi + Write-Host "Modification du compte : $($_.SamAccountName)" -ForegroundColor Yellow + + # Application de la date d'expiration + $_ | Set-ADAccountExpiration -DateTime $DateExpiration -ErrorAction Stop + } + + Write-Host "Opération terminée avec succès." -ForegroundColor Green +} +Catch { + Write-Host "Une erreur est survenue : $($_.Exception.Message)" -ForegroundColor Red +} \ No newline at end of file