41 lines
1.5 KiB
PowerShell
41 lines
1.5 KiB
PowerShell
<#
|
|
.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
|
|
} |