Untitled
unknown
plain_text
9 months ago
1.6 kB
5
Indexable
# Supprime les restrictions de connexion pour tous les utilisateurs d'un groupe ou d'une OU spécifique
Function Remove-LogonHours {
[CmdletBinding()]
Param(
[Parameter(Mandatory=$True)]
[string]$OUPath # Chemin OU ou DN du groupe cible
)
Process {
# Récupère tous les utilisateurs dans l'OU spécifiée
try {
$Users = Get-ADUser -Filter * -SearchBase $OUPath -Properties logonHours
} catch {
Write-Host "Erreur : Impossible de récupérer les utilisateurs dans l'OU $OUPath. $_" -ForegroundColor Red
return
}
if (-not $Users) {
Write-Host "Aucun utilisateur trouvé dans l'OU $OUPath." -ForegroundColor Yellow
return
}
# Supprime les restrictions pour chaque utilisateur
foreach ($User in $Users) {
try {
Set-ADUser -Identity $User.SamAccountName -Clear logonHours
Write-Host "Restrictions supprimées pour l'utilisateur : $($User.SamAccountName)" -ForegroundColor Green
} catch {
Write-Host "Erreur : Impossible de supprimer les restrictions pour l'utilisateur $($User.SamAccountName). $_" -ForegroundColor Red
}
}
Write-Host "Toutes les restrictions d'horaires de connexion ont été supprimées pour l'OU $OUPath." -ForegroundColor Cyan
}
}
# Exemples d'utilisation :
# Supprime les restrictions pour tous les utilisateurs dans l'OU SIEGE (et ses sous-OUs)
Remove-LogonHours -OUPath "OU=SIEGE,DC=HORIZON,DC=LOCAL"
Editor is loading...
Leave a Comment