Principale utente con più risposte
Script x modificare la protezione delle cartelle

Domanda
-
Mi trovo nella necessità di modificare le protezioni di un migliaio di cartelle in un Windows Server 2012-R2.
Ho pochi e ben chiari punti di riferimento.
Credo che lo strumento adatto sia uno script in PowerShell, a meno che voi non conosciate un tool con questa capacità...
PUNTI FERMI:
> Conosco il PATH che ospita tutte le cartelle
> Devo rimuovere l'ereditarietà dei permessi di tutte le cartelle (eliminandoli tutti)
> Devo aggiungere l'amministratore con accesso completo nei permessi a tutte le cartelle
> Devo aggiungere un utente in lettura/scrittura in ogni cartella che coriisponde ESATTAMENTE al nome della cartella stessa
P.S.
Per me il punto critico è l'ultimo (il quarto), perchè gli altri punti credo di riuscirci anche col mouse e le solite finestre di proprietà delle cartelle: modificando i permessi (uguali per tutte) della cartella 'padre' e copiandoli nelle sotto-cartelle...
Potete aiutarmi?
Fjodor Roberti
Risposte
-
Per la gestione delle folder permission da prompt dei comandi puoi usare il tool icalcs (https://technet.microsoft.com/en-us/library/cc753525(v=ws.11).aspx).
In powershell invece puoi usare Get-Acl e Set-Acl (https://blogs.msdn.microsoft.com/johan/2008/10/01/powershell-editing-permissions-on-a-file-or-folder/).
Leggi anche questo: https://blogs.msdn.microsoft.com/johan/2008/10/01/powershell-editing-permissions-on-a-file-or-folder/
Andrea Sistarelli
Blog
Datacen srl - Consulenza informatica- Proposto come risposta Nikola KochmalarskiMicrosoft contingent staff, Moderator lunedì 9 gennaio 2017 10:25
- Contrassegnato come risposta Edoardo BenussiMVP, Moderator giovedì 12 gennaio 2017 15:29
Tutte le risposte
-
Per la gestione delle folder permission da prompt dei comandi puoi usare il tool icalcs (https://technet.microsoft.com/en-us/library/cc753525(v=ws.11).aspx).
In powershell invece puoi usare Get-Acl e Set-Acl (https://blogs.msdn.microsoft.com/johan/2008/10/01/powershell-editing-permissions-on-a-file-or-folder/).
Leggi anche questo: https://blogs.msdn.microsoft.com/johan/2008/10/01/powershell-editing-permissions-on-a-file-or-folder/
Andrea Sistarelli
Blog
Datacen srl - Consulenza informatica- Proposto come risposta Nikola KochmalarskiMicrosoft contingent staff, Moderator lunedì 9 gennaio 2017 10:25
- Contrassegnato come risposta Edoardo BenussiMVP, Moderator giovedì 12 gennaio 2017 15:29
-
Grazie della risposta...
Ma io non sono pratico di script di Powershell e vi chiedo un aiutino:
> Quale comando toglie l'ereditarietà dei permessi di tutte le cartelle in un determinato PATH ?
> Quale comando toglie un utente e/o gruppo dai permessi di tutte le cartelle in un determinato PATH ?
> Come posso assegnare il nome della cartella corrente oppure l'intero PATH ad una variabile da utilizzare nello script. Oppure esiste una variabile di sistema predefinita che indica il path corrente ?
Mille mille grazie per la pazienza...
Buon lavoro
Fjodor Roberti -
- Proposto come risposta Edoardo BenussiMVP, Moderator martedì 17 gennaio 2017 08:26
-
Grazie della link molto interessante, ma non ho risolto il mio problema, ossia:
> aggiungere un utente in lettura/scrittura a una cartella che coriisponde ESATTAMENTE al nome della cartella stessa
sono sul punto di rinunciare...
avete un'idea oppure vi è gia capitata una cosa simile?
non è poi così assurdo...Grazie
Fjodor Roberti -
non capisco la difficoltà che dici di incontrare.
tu hai le cartelle con nomi già assegnati oppure le devi creare ?
supponiamo di trovarci nel primo caso (certelle già create): va letto il file system cartella dopo cartella, scritto il nome della cartella in una variabile, creato un utente col nome scritto nella variabile assegnato il permesso alla cartella il cui none è nella variabile all'utente il cui nome è nella variabile.
se la tua situazione è diversa da questa descrivila con precisione.
Edoardo Benussi
Microsoft MVP - Cloud and Datacenter Management
edo[at]mvps[dot]org -
detto da te è semplice.. comunque è come dici tu... le cartelle sono già presenti
come assegno il nome della cartelle ad una variabile
non ho trovato una variabile di sistema con SET che indica la cartella corrente
poi dovrei fare un ciclo tipo FOR .. NEXT per passare alla cartella successiva fino alla fine della listasono arruginito... non faccio script seri dal tempo del DOS
paradossalmente la parte più semplice è il comando ICACLS:icacls * /inheritance:r
(rimuove ereditarietà e tutti gli utenti)
icacls * /setowner utente /T
(imposta l'utente proprietario delle cartelle incluse quelle nidificate)
icacls * /grant administrators:F utente:M
(aggiunge gruppi ed utenti alle cartelle/files)Ci vorrebbe un programmatore di script
eheheh- Modificato PcNoProblem lunedì 6 febbraio 2017 14:49
-
magari, se cominci a mettere giù uno script, trovi qualcuno che ti aiuta ma non puoi pretendere di trovare, gratis, qualcuno che faccia il lavoro al posto tuo ;-)
Edoardo Benussi
Microsoft MVP - Cloud and Datacenter Management
edo[at]mvps[dot]org -