Untitled
unknown
plain_text
a month ago
2.7 kB
2
Indexable
Import-Module ActiveDirectory # Définir les restrictions pour les utilisateurs standards (Lundi-Vendredi, 8h-18h) $timeRestrictionsStandard = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, # Dimanche 0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0, # Lundi 0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0, # Mardi 0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0, # Mercredi 0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0, # Jeudi 0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0, # Vendredi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # Samedi # Définir les restrictions pour l'équipe IT (Lundi 7h au Samedi 23h) $timeRestrictionsIT = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, # Dimanche 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, # Lundi 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, # Mardi 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, # Mercredi 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, # Jeudi 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, # Vendredi 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0 # Samedi # Fonction pour appliquer les restrictions en fonction des groupes Function Set-LogonHours { param ( [string]$groupName, # Nom du groupe (ex: GG-DIRECTION) [array]$logonHours # Restrictions d'horaires à appliquer ) Write-Host "Application des restrictions pour le groupe $groupName..." -ForegroundColor Cyan # Récupère les utilisateurs du groupe Get-ADGroupMember -Identity $groupName -Recursive | Where-Object { $_.objectClass -eq "user" } | ForEach-Object { Write-Host " Appliquer pour l'utilisateur : $($_.SamAccountName)" -ForegroundColor Yellow # Convertir les heures en tableau binaire (format compatible) $hours = New-Object byte[] 21 [array]::Copy($logonHours, $hours, 21) # Appliquer les restrictions de connexion Set-ADUser -Identity $_.SamAccountName -Replace @{logonHours=$hours} } } # Appliquer les restrictions pour chaque groupe # Utilisateurs standards Set-LogonHours -groupName "GG-DIRECTION" -logonHours $timeRestrictionsStandard Set-LogonHours -groupName "GG-RH" -logonHours $timeRestrictionsStandard Set-LogonHours -groupName "GG-COMPTA" -logonHours $timeRestrictionsStandard Set-LogonHours -groupName "GG-COMMERCIAUX" -logonHours $timeRestrictionsStandard Set-LogonHours -groupName "GG-R&D" -logonHours $timeRestrictionsStandard # Équipe IT Set-LogonHours -groupName "GG-IT" -logonHours $timeRestrictionsIT Write-Host "Toutes les restrictions d'horaires ont été appliquées avec succès !" -ForegroundColor Green
Editor is loading...
Leave a Comment