Le Multiple Local Group Policies di Windows Vista

Gerardo FranseckyMicrosoft MVP

L’utilizzo di policy per la configurazione del sistema operativo è sicuramente molto comoda e consente di personalizzare nel dettaglio l’aspetto e le funzionalità disponibili per l’utente. Finora ciò era possibile solo con GPO (Group Policy Object) applicate all’interno di un dominio Active Directory mentre, nel caso di sistemi stand-alone oppure in workgroup, l’intervento sulla policy locale era di scarsa utilità visto che le modifiche apportate avevano effetto indistintamente su tutti gli utenti che effettuavano il logon al sistema. Non era quindi possibile (se non con uno scomodo workaround suggerito nell’articolo 325351 della Knowledge Base - https://support.microsoft.com/kb/325351) differenziare l’applicazione della policy a seconda dell’utente o del relativo gruppo di appartenenza. Il motivo di tale limitazione era l’unicità della Local Policy all’interno del sistema: essendoci una sola Local Policy questa aveva effetto su tutti gli utenti.

Windows Vista introduce un nuovo concetto: i Multiple Local Group Policy Objects (MLGPO). Ciò permette di gestire all’interno del singolo sistema più policy locali in modo da poter differenziare le impostazioni in base all’utente o al relativo gruppo estendendo di molto la flessibilità e l’applicabilità anche in ambienti nei quali non è presente un dominio Active Directory. In Windows Vista vengono individuati tre diversi livelli di policy, applicati in ordine crescente:

  1. Local Group Policy: la “vecchia” policy che viene applicata sia a livello computer che a livello user e che influisce su tutti gli utenti che effettuano il logon alla macchina;

  2. Administrator e Non-Administrator Group Policy: nuova policy che viene applicata a livello user in base all’appartenenza dell’utente che effettua il logon al gruppo locale Administrators;

  3. User Group Policy: nuova policy applicata sempre a livello user che ha effetto al logon di uno specifico utente.

In questo caso analizzeremo la situazione più comune, cioé l’applicazione di impostazioni diverse a seconda dell’appartenenza dell’utente al gruppo Administrators o al gruppo Users (il classico utente limitato): immaginiamo di avere nel nostro sistema (Windows Vista Business) due diversi utenti: un utente “Amministratore” membro del gruppo Administrators ed un utente “Limitato” membro del gruppo Users.

Figura 1

L’obiettivo è quello di impostare le policy locali in modo che l’utente “Limitato” abbia una configurazione il più possibile “bloccata” (ad esempio eliminando l’accesso al prompt dei comandi, rendendo impossibile l’accesso alle unità disco rimovibili ecc.) senza intaccare le possibilità operative dell’utente Amministratore. Per raggiungere questo obiettivo lavorerò sulla Non-Administrators Group Policy in modo che la policy venga applicata a tutti gli utenti che non sono membri del gruppo Administrators e quindi anche all’utente“Limitato”.

Come primo passo, dopo aver fatto il logon con l’utente Amministratore, creiamo una nuova Management Console che ci permetterà di gestire la policy:

  • Lanciamo la Microsoft Management Console (ad esempio da WIN+R mmc.exe)

  • Dal menu File scegliamo la voce Add/Remove Snap-in

  • Dall’elenco degli snap-in disponibili sulla sinistra selezioniamo Group Policy Object e confermiamo con il pulsante Add

  • Nella finestra Select Group Policy Object, impostata di default sulla Local Group Policy, facciamo clic sul pulsante Browse in modo da poter selezionare una policy diversa

  • Nella finestra Browse for a Group Policy Object che si aprirà selezioniamo la scheda Users e dall’elenco scegliamo la policy Non-Administrators

  • Dal pulsante Finish confermiamo la selezione e, tornati alla finestra Add/Remove Snap-ins, confermiamo anche la configurazione della console

  • Salviamo sul Desktop (dal menu FileSave) la console appena configurata

Figura 2

Figura 3

A questo punto abbiamo a disposizione sul Desktop un collegamento alla Non-Administrators Policy che ci permette di modificare le impostazioni per gli utenti non appartenenti al gruppo Administrators. Come si può notare, la policy viene applicata solo a livello User, come tutte le policy di livello inferiore alla LocalGroup Policy.

Figura 4

Per comodità immaginiamo di voler cambiare solo due impostazioni della policy tramite la nostra MMC:

  • impedire l’accesso alla scheda Security all’interno delle opzioni di Internet Explorer: User Configuration - Administrative Templates - Windows Components - Internet Explorer - Internet Control Panel e impostiamo ad “Enabled” la voce “Disable the Security Page”

    Figura 5

  • impedire l’accesso al prompt dei comandi: User Configuration - Administrative Templates - System e abilitiamo la voce “Prevent Access to the command prompt

    Figura 6

Adesso possiamo provare le nostre impostazioni effettuando l’accesso con l’utente “Limitato”. Proviamo innanzitutto a aprire il prompt dei comandi: come previsto l’accesso risulta disabilitato.

Figura 7

Successivamente proviamo anche ad aprire Internet Explorer ed a visualizzare le opzioni Internet: la scheda Security non è più presente all’interno delle opzioni.

Figura 8

Come detto precedentemente, l’utente “Amministratore” non sarà invece influenzato dalle precedenti policy e sarà quindi in grado di accedere alle funzionalità impedite all’utente “Limitato”.

Potremmo anche andare oltre l’esempio appena fatto e prevedere un ulteriore livello di dettaglio. Ipotizziamo ad esempio che nel nostro sistema sia presente anche un terzo utente, “PromptUser” che, pur appartenendo al gruppo Users (facendo parte quindi di Non-Administrators), abbia la necessità di accedere al prompt dei comandi per svolgere alcune attività. In base a come è stato configurato il nostro sistema, il nuovo utente non ha la possibilità di accedere al prompt dei comandi in quanto la Local Policy Non-Administrators glielo impedisce. Possiamo però creare una policy apposita per l’utente in questione in modo da permettergli di svolgere le proprie attività tramite il prompt conservando comunque le restanti impostazioni derivanti dalla policy.

Per farlo creiamo una nuova console MMC con il Group Policy Object selezionando però uno specifico utente (“PromptUser”) invece di un gruppo.

Figura 9

Nella nuova policy configuriamo l’impostazione relativa alla disabilitazione del prompt in modo che risulti “Disabled”.

Figura 10

In questo modo l’utente PromptUser riuscirà ad utilizzare il prompt dei comandi pur continuando a subire l’applicazione di tutte le impostazioni derivanti dalla policy Non-Administrators. Inoltre tutti gli altri utenti limitati continueranno a subire l’applicazione delle policy relative al gruppo Non-Administrators compresa la disabilitazione del prompt dei comandi.

Anche l’eliminazione di una policy è un’operazione molto semplice. Infatti è sufficiente fare clic con il tasto destro sulla policy in questione dalla finestra “Browse for a Group Policy Object” e scegliere l’opzione “Remove Group Policy Object”. Le impostazioni relative alla policy verrano rimosse (in particolare tutte le impostazioni ritorneranno al valore di default, Not Configured) e sarà possibile crearne una nuova.