Autorisation powershell
arek
-
Arek -
Arek -
Bonjour,
bonjour a tous Jai besoin d'aide vue mes compétence en informatique je ne suis pas encore expert encore mais bon voila je dois crée un script qui permet au prof de changer les autorisation sur un dossier ainsi qu'aux sous-dossier a son groupe d'élève. pour l'instant Jai un script qui fonctionne a moitie car elle réussi a changer les autorisation pour un dossier mais pas les sous dossier merci d'avance
bonjour a tous Jai besoin d'aide vue mes compétence en informatique je ne suis pas encore expert encore mais bon voila je dois crée un script qui permet au prof de changer les autorisation sur un dossier ainsi qu'aux sous-dossier a son groupe d'élève. pour l'instant Jai un script qui fonctionne a moitie car elle réussi a changer les autorisation pour un dossier mais pas les sous dossier merci d'avance
Configuration: Windows / Chrome 91.0.4472.77
A voir également:
- Les paramètres d’autorisation propres à l’application n’accordent pas l’autorisation local activation pour l’application serveur com avec le clsid
- Vous devez disposer d'une autorisation pour effectuer cette action - Guide
- Gestion autorisation application android - Guide
- Clé d'activation windows 10 - Guide
- Desinstaller application windows - Guide
- Appdata local - Guide
4 réponses
Import-Module ActiveDirectory
$Groupe = Read-Host -Prompt 'Entrez le groupe à mettre en read only'
$OUpath = "OU=$Groupe,OU=PISC,OU=Eleves,DC=cfplocal,DC=com"
# boucle d'affichage des code d'étudiants
# question continuer oui ou non
# si reponse=oui fait la job
$users = Get-ADUser -Filter * -SearchBase $OUpath | Select-Object -Property SamAccountName|
Foreach-Object {
$etudiant= $_.SamAccountName
Write-Host $etudiant
$acl = Get-Acl \\172.16.5.11\Usagers\Élèves\$etudiant
$AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule("CFPLOCAL\$etudiant","read","Allow","InheritOnly")
$inheritanceFlag = [System.Security.AccessControl.InheritanceFlags]"ContainerInherit, ObjectInherit"
$propagationFlag = [System.Security.AccessControl.PropagationFlags]
$acl.SetAccessRule($AccessRule)
$acl | Set-Acl \\172.16.5.11\Usagers\Élèves\$etudiant
}
# message merci au revoir
$reponse = Read-Host -Prompt 'La procedure a bien fonctionner veuiller appuyer sur enter pour fermer'
# si reponse = non
# ferme le programme
$Groupe = Read-Host -Prompt 'Entrez le groupe à mettre en read only'
$OUpath = "OU=$Groupe,OU=PISC,OU=Eleves,DC=cfplocal,DC=com"
# boucle d'affichage des code d'étudiants
# question continuer oui ou non
# si reponse=oui fait la job
$users = Get-ADUser -Filter * -SearchBase $OUpath | Select-Object -Property SamAccountName|
Foreach-Object {
$etudiant= $_.SamAccountName
Write-Host $etudiant
$acl = Get-Acl \\172.16.5.11\Usagers\Élèves\$etudiant
$AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule("CFPLOCAL\$etudiant","read","Allow","InheritOnly")
$inheritanceFlag = [System.Security.AccessControl.InheritanceFlags]"ContainerInherit, ObjectInherit"
$propagationFlag = [System.Security.AccessControl.PropagationFlags]
$acl.SetAccessRule($AccessRule)
$acl | Set-Acl \\172.16.5.11\Usagers\Élèves\$etudiant
}
# message merci au revoir
$reponse = Read-Host -Prompt 'La procedure a bien fonctionner veuiller appuyer sur enter pour fermer'
# si reponse = non
# ferme le programme
et je dois aussi rajouter dans ce script une commande qui fera une boucle d'affichage des id des étudiants
Merci d'utiliser les balises de code quand tu postes du code.
Vérifie si ce script modifie bien les sous-dossiers également.
Import-Module ActiveDirectory $Groupe = Read-Host -Prompt 'Entrez le groupe à mettre en read only' $OUpath = "OU=$Groupe,OU=PISC,OU=Eleves,DC=cfplocal,DC=com" # boucle d'affichage des codes d'étudiants # question continuer oui ou non # si reponse=oui fait le job $users = Get-ADUser -Filter * -SearchBase $OUpath | Select-Object -Property SamAccountName | Foreach-Object { $etudiant= $_.SamAccountName Write-Host $etudiant $acl = Get-Acl \\172.16.5.11\Usagers\Élèves\$etudiant $rule = New-Object System.Security.AccessControl.FileSystemAccessRule("CFPLOCAL\$etudiant","ReadAndExecute", "ContainerInherit, ObjectInherit", "InheritOnly", "Allow") $acl.addAccessRule($rule) $acl | Set-Acl \\172.16.5.11\Usagers\Élèves\$etudiant } # message merci au revoir $reponse = Read-Host -Prompt 'La procédure a bien fonctionné veuillez appuyer sur enter pour fermer' # si reponse = non # ferme le programme
Vérifie si ce script modifie bien les sous-dossiers également.