Untitled
# 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"
Leave a Comment