Accorder en masses des Droits de lecture sur des dossiers
barnabe0057 Messages postés 14455 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
j'essaye de configurer des droits en lecture seule sur des dossiers d'utilisateurs dans un AD. Le but est de trouver tous les dossiers documents, images, vidéos.. des profils users et leurs attribuer un droits spécifique (à savoir les 3 options : "lecture et execution", "affichage du contenu" et "lecture"). cela pour permettre au groupe "PROF" de lire et copier/coller les fichiers des eleves sans pour autant pouvoir les supprimer ou modifier.
Mon script ne fonctionne pas je ne sais pas ce qui bloque. Une idée?
FOR /F "tokens=1 skip=1 delims= " %%a in ('wmic UserAccount get Name') DO SET user=%%a FOR /F "tokens=1 skip=1 delims= " %%b in ('wmic Group get Name') DO SET classe=%%b REM Droits en lecture et execution pour les profeseurs sur les dossiers des users eleves SET user=%user% SET classe=%classe% IF EXIST \\srv-dc1\d$\KoXoDATA\ELEVES\%classe%\%user%\documents icacls "\\srv-dc1\d$\KoXoDATA\ELEVES\%classe%\%user%\documents" /inheritance:r /grant:r professeurs:R /T pause
Windows / Firefox 123.0
- Accorder en masses des Droits de lecture sur des dossiers
- Renommer des fichiers en masse - Guide
- Vous devez disposer des droits d'administrateur pour supprimer ce dossier - Guide
- Lecture epub sur pc - Guide
- Confirmation de lecture whatsapp - Guide
- Télécharger livre de lecture ce2 gratuit pdf - Télécharger - Éducatifs
2 réponses
Bonjour,
Tu fais 2 boucles pour récupérer plusieurs valeurs je suppose, mais tu fais la modification des permissions sur une seule valeur ???
De plus, je ne sais pas si la commande IF EXIST supporte les chemins UNC.
Moi j'aurais fait plutôt comme ça :
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION FOR /F "tokens=1 skip=1 delims= " %%a in ('wmic UserAccount get Name') DO SET "user=%%a" FOR /F "tokens=1 skip=1 delims= " %%b in ('wmic Group get Name') DO SET "classe=%%b" REM Droits en lecture et execution pour les professeurs sur les dossiers des users eleves SET "profil=\\srv-dc1\d$\KoXoDATA\ELEVES\!classe!\!user!\documents" PUSHD !profil! && icacls !profil! /inheritance:r /grant:r professeurs:R /T
En supposant que les variables user et classe récupèrent bien la bonne valeur
merci pour cette astuce je vais la tester. J'ai Bobot l'IA qui m'a aussi répondu ça
@echo off SETLOCAL EnableDelayedExpansion FOR /F "tokens=1 skip=1 delims= " %%a in ('wmic UserAccount get Name') DO ( SET user=%%a FOR /F "tokens=1 skip=1 delims= " %%b in ('wmic Group get Name') DO ( SET classe=%%b REM Droits en lecture et execution pour les professeurs sur les dossiers des users eleves IF EXIST "\\srv-dc1\d$\KoXoDATA\ELEVES\!classe!\!user!\documents" ( icacls "\\srv-dc1\d$\KoXoDATA\ELEVES\!classe!\!user!\documents" /inheritance:r /grant:r professeurs:R /T ) ) ) pause
Le probleme c'est que dans ce cas je supprimes touts les droits préexistants et je les remplace par le nouveau (professeurs). Mon idée et juste d'ajouter un nouveau groupe de sécurité parmis ceux deja existant.