Amministrazione di Windows

I nuovi modelli di Criteri di gruppo in Windows Vista

Darren Mar-Elia

 

Panoramica:

  • ADMX
  • Modifica dei file ADMX
  • Differenze tra i file ADM e ADMX
  • Creazione di un archivio centrale

Prima di Windows Vista, i valori del Registro di sistema che potevano essere impostati all'interno di Criteri di gruppo erano determinati dai file ADM, la cui sintassi era criptica e proprietaria. Se si volevano controllare altri valori del Registro di sistema oltre a quelli inclusi da Microsoft con i file ADM standard, era necessario imparare questa

sintassi e creare un file ADM personalizzato. Inoltre, questi file ADM erano memorizzati con ciascun oggetto Criteri di gruppo nell'ambiente Active Directory®, e ognuno di questi oggetti Criteri di gruppo con i relativi file ADM veniva replicato su tutti i controller del dominio nel dominio.

Con il rilascio di Windows Vista™, Microsoft fa un importante passo avanti nell'area dei modelli di Registro di sistema basati su Criteri di gruppo. Windows Vista introduce cambiamenti significativi sia nel formato del file ADM, ora chiamato ADMX, che nel modo in cui questi file vengono memorizzati. In questo articolo esaminerò il nuovo formato ADMX e tratterò il modo in cui questi file differiscono da ADM. Inoltre descriverò come viene gestita la memorizzazione di questi file in un ambiente Windows Vista.

Le differenze di ADMX

La differenza principale tra il nuovo formato di file ADMX e il vecchio formato ADM esistente fin da Windows NT® 4.0 è che ADMX ha adottato lo standard XML per descrivere le impostazioni dei criteri del Registro di sistema. Questo presenta diversi vantaggi. Il primo è che ci sono molti più strumenti per la modifica di XML che per la sintassi ADM. Il secondo è che, poiché XML è schematizzato, col tempo diventerà più facile creare strumenti per aiutare gli utenti a conoscere i tag giusti da mettere nei posti giusti per creare un file ADMX ben formattato. "Schematizzato" significa che per una data applicazione XML, come il formato ADMX, c'è uno schema documentato che descrive gli elementi e gli attributi possibili e come sono organizzati. Più avanti in questo articolo vedremo un esempio.

L'altra differenza importante tra ADMX e ADM è la separazione della sezione [strings] (stringhe) del file ADMX principale in un file ADML specifico per la lingua in uso. Chi conosce i file ADM saprà che alla fine di ogni file compariva una sezione delimitata da un tag "[strings]", in cui si potevano assegnare valori alle stringhe di testo che sarebbero state visualizzate durante l'uso dell'Editor criteri di gruppo e dei modelli amministrativi. Ad esempio, il testo che compariva facendo clic sulla scheda Descrizione di un dato criterio era memorizzato nella sezione [strings]. Il problema di questo sistema è che le stringhe venivano memorizzate nel file ADM, quindi se si voleva utilizzare quell'ADM in un sistema Windows® in una lingua diversa era necessario creare un nuovo file ADM con una sezione [strings] per la nuova lingua.

Le cose diventavano ancora più complicate se, per esempio, un utente con una versione francese di Windows voleva modificare un oggetto Criteri di gruppo esistente che utilizzava ADM inglesi. L'amministratore francese avrebbe visto solo testo inglese nell'Editor criteri di gruppo. Windows Vista risolve questo problema separando la sezione [strings] in un file ADM basato su XML (o ADM Language). Il file ADML può essere distribuito in qualsiasi lingua supportata e può essere facilmente cambiato per supportare qualsiasi nuova lingua senza dover toccare il file ADMX principale che contiene i criteri. Cosa ancora più importante, quando l'amministratore francese di prima modifica un oggetto Criteri di gruppo dalla sua workstation Windows Vista, l'Editor criteri di gruppo rileva che è in uso la versione francese di Windows e carica automaticamente i file ADML francesi per quell'oggetto Criterio di gruppo.

Tutti i file ADMX e ADML forniti con l'installazione di Windows Vista sono contenuti nella cartella c:\windows\policydefinitions (vedere Figura 1).

Figura 1 File ADMX in Windows Vista

Figura 1** File ADMX in Windows Vista **(Fare clic sull'immagine per ingrandirla)

Si noti che all'inizio dell'elenco dei file nella Figura 1 compare una cartella chiamata en-us. Questa è la cartella specifica per la lingua che contiene i file ADML per i file ADMX contenuti in questa cartella PolicyDefinitions, in questo caso per l'inglese americano. È disponibile un file ADML per ogni ADMX. Al momento della pubblicazione di questo articolo, Windows Vista contiene, per impostazione predefinita, 132 file ADMX/ADML. Questa è un'altra grande differenza tra Windows Vista e le versioni precedenti: Gli oggetti Criteri di gruppo creati in Windows XP contenevano normalmente cinque file ADM, di cui il più grande era System.adm, che conteneva le voci dei criteri per la maggior parte dei componenti di Windows controllati dai criteri. In Windows Vista, Microsoft ha deciso di suddividere i file ADMX per funzione: per questo i file ADMX sono molto più numerosi. Ogni ADMX normalmente si riferisce a un singolo componente di Windows, come Pannello di controllo, client DNS, Esplora risorse e così via.

ADMX

Il fatto che i file ADMX siano scritti in XML è un notevole miglioramento, come ho accennato sopra. Tuttavia, molti amministratori non sanno scrivere XML, tantomeno comprendono lo schema utilizzato da ADMX per creare estensioni dei criteri. Un'esercitazione sulla creazione di file ADMX personalizzati va al di là dell'ambito di questo articolo; possiamo tuttavia esaminare la composizione dei file ADMX.

Un file ADMX o ADML può essere aperto in qualsiasi editor di testo, anche il Blocco note, ma se l'editor non riconosce la sintassi XML il risultato potrebbe non essere molto comprensibile. Io utilizzo Visual Studio® perché la relativa funzionalità IntelliSense® aiuta a completare determinati elementi. La Figura 2 mostra le prime righe di uno dei file ADMX forniti con Windows Vista.

Figure 2 XML in un file ADMX

<?xml version="1.0" encoding="utf-8"?>
<policyDefinitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" revision="0.9" schemaVersion="0.9"
  xmlns="https://www.microsoft.com/GroupPolicy/PolicyDefinitions">
  <policyNamespaces>
    <target prefix="AxInstSv" namespace="Microsoft.Policies.ActiveXInstallService" />
    <using prefix="windows" namespace="Microsoft.Policies.Windows" />
  </policyNamespaces>

L'aspetto di questo file può sembrare strano se non si è abituati a XML, ma molti di questi elementi XML compaiono in qualsiasi file ADMX. L'elemento policyNamespaces, ad esempio, identifica in modo univoco questo file ADMX nell'universo di tutti i file ADMX.

Chi ha creato file ADM personalizzati in versioni precedenti di Windows saprà che c'era una serie di tag, come Category, Policy, ListBox e ActionList, utilizzati per definire le impostazioni dei criteri che sarebbero comparse nell'Editor criteri di gruppo. Molti di questi tag sono rimasti invariati, o sono cambiati solo leggermente nel formato ADMX, ma hanno un aspetto molto diverso perché sono rappresentati in formato XML. Ad esempio, io avevo scritto un file ADM personalizzato che consentiva vari tipi di registrazione di eventi in Windows per la risoluzione dei problemi in Criteri di gruppo. Una sezione di tale ADM personalizzato è illustrata nella Figura 3. Ho trasferito questo file nel nuovo formato ADMX, come illustrato nella Figura 4.

Figure 4 File ADM convertito in un file ADMX

<policy name="Folder Redirection Logging" class="Machine" displayName="$(string.FolderRedirLogging)" explainText="$(string.FolderRedirLogging_Help)" key="Software\Microsoft\Windows NT\CurrentVersion\Diagnostics" valueName="FDeployDebugLevel">
      <parentCategory ref="PolicyLogging" />
      <supportedOn ref="windows:SUPPORTED_Win2K"/>
      <enabledValue>
        <decimal value="15"/>
      </enabledValue>
      <disabledValue>
        <decimal value="0" />
      </disabledValue>
    </policy>

Figure 3 Un file ADM personalizzato

CLASS MACHINE
  CATEGORY !!System
    CATEGORY !!GroupPolicy
    CATEGORY !!Logging
POLICY !!FolderRedir
EXPLAIN !!FolderRedir_HELP
KEYNAME "Software\Microsoft\Windows NT\CurrentVersion\Diagnostics"
VALUENAME "FDeployDebugLevel"
VALUEON NUMERIC 15
VALUEOFF NUMERIC 0
END POLICY ;FolderRedir
      END CATEGORY ;Logging
   END CATEGORY ;GroupPolicy
 END CATEGORY ;SYSTEM

Sotto molti aspetti, questo frammento di ADMX è molto più facile da comprendere del suo parente ADM, dato che è più conciso. L'elemento criterio specifica la funzione di questo criterio (registrazione reindirizzamento cartelle). Gli attributi preceduti da $(string. sono riferimenti all'elemento stringa del file ADML corrispondente. Gli attributi chiave e nome del valore specificano, naturalmente, la chiave e il valore del Registro di sistema a cui si applica questo criterio. L'elemento parentCategory controlla la posizione in cui compare questo criterio nella gerarchia dei modelli amministrativi dell'Editor criteri di gruppo. L'elemento supportedOn indica quale versione del sistema operativo rispetta questo criterio; infine, gli elementi enabledvalue e disabledvalue specificano i valori inseriti nel Registro di sistema quando questo criterio è impostato rispettivamente su attivato e su disattivato.

Questo è un criterio piuttosto semplice, che può essere solo attivato o disattivato. Come nella sintassi ADM, è possibile creare elementi di interfaccia utente più complessi nell'Editor criteri di gruppo. In ADMX, questa operazione rende la sintassi un po' più complicata e comprende un attributo di presentazione che fa riferimento a una parte del file ADML in cui sono riportate le etichette di testo dell'elemento dell'interfaccia utente. Ma al di là di questo, la sintassi ADMX in realtà non è molto più complessa. È da tenere presente che alcuni nomi dei tag sono cambiati da ADM ad ADMX. Ad esempio, in ADM c'erano i tag "edittext" e "listbox". In ADMX, questi tag sono chiamati "text" e "list" all'interno del file ADMX. A tali elementi corrisponderanno voci nel file ADML che specificano il testo ad essi associato.

Come forse si saprà già, un amministratore può caricare un file ADM personalizzato nell'Editor oggetti Criteri di gruppo di Windows Vista. Spesso mi viene chiesto se Microsoft fornirà un'utilità per convertire i file ADM personalizzati in sintassi ADMX. La risposta è che Microsoft ha collaborato con FullArmor Corp. per rilasciare uno strumento gratuito chiamato ADMX Migrator. Questo strumento fa due cose. Innanzitutto converte i vecchi file ADM personalizzati in formato ADMX (vedere la Figura 5 per un esempio dell'uso dello strumento per la conversione del mio file personalizzato gpolog.adm).

Figura 5 ADMX Migrator

Figura 5** ADMX Migrator **(Fare clic sull'immagine per ingrandirla)

In secondo luogo fornisce un editor ADMX che consente di creare nuovi file ADMX da zero. Questo strumento può essere scaricato da go.microsoft.com/fwlink/?LinkID=77409.

Memorizzazione di ADMX

L'altro notevole cambiamento di cui voglio parlare è il modo in cui i file ADMX e ADML vengono memorizzati per l'uso. Nelle versioni di Windows precedenti a Windows Vista, quando si modificava un nuovo oggetto Criteri di gruppo, i file ADM venivano copiati automaticamente dalla workstation locale in cui si effettuavano le modifiche alla parte SYSVOL dell'oggetto Criteri di gruppo su un controller di dominio nel dominio Active Directory dell'utente. Questi ADM venivano poi replicati su ogni controller di dominio, per ogni oggetto Criteri di gruppo creato. In questo modo veniva utilizzata molta larghezza di banda e spazio su disco, specialmente nei grandi ambienti con dozzine o centinaia di oggetti Criteri di gruppo. Windows Vista capovolge questo processo. Per impostazione predefinita, quando si crea un oggetto Criteri di gruppo basato su Active Directory da una workstation Windows Vista, i criteri dei modelli amministrativi che vengono visualizzati nell'Editor criteri di gruppo vengono caricati dalla cartella c:\windows\policydefinitions nel computer da cui si sta modificando l'oggetto Criteri di gruppo.

I file ADMX e ADML non vengono copiati su SYSVOL, vi viene solo fatto riferimento localmente. Si elimina così il carico di memoria e di rete creato dai file ADM nell'ambiente dei Criteri di gruppo. Ma il meglio deve ancora arrivare. Windows Vista supporta anche un archivio centrale, un contenitore per i modelli amministrativi. Questo risolve il problema di controllare in modo efficace i file ADMX utilizzati per modificare gli oggetti Criteri di gruppo, indipendentemente da chi li modifica. Per fare ciò è necessario copiare tutti i file ADMX e ADML ufficiali, insieme agli eventuali file personalizzati, in un percorso di rete; dopodiché tutte le modifiche successive a Criteri di gruppo da workstation Windows Vista faranno riferimento a queste versioni in rete invece che a ognuna delle proprie versioni locali separate. Impostare un archivio centrale è un compito facile e da eseguire una sola volta per ogni dominio. Sarà sufficiente seguire le istruzioni in "Creazione di un archivio centrale".

Riepilogo

Il nuovo formato ADMX in Windows Vista è un netto miglioramento rispetto ai file ADM utilizzati nelle versioni precedenti del sistema operativo. L'uso di XML fornisce una struttura più chiara per la modifica e la ricerca in questi file. Lo spostamento delle stringhe specifiche per una lingua in file separati rende trasparente la modifica dei Criteri di gruppo in più lingue, mentre l'archivio centrale elimina la necessità di memorizzare e aggiornare tutti gli oggetti Criteri di gruppo con le copie dei file ADM. Per tutti questi motivi, informarsi su ADMX è un'ottima idea.

Creazione di un archivio centrale

Creare un archivio centrale è abbastanza semplice. Seguire questa procedura per crearne uno nel dominio Active Directory in uso:

Passaggio 1: Aprire Esplora risorse e passare alla condivisione SYSVOL sul controller di dominio emulatore PDC nell'ambiente in uso (si può usare qualsiasi controller di dominio, ma normalmente le modifiche ai Criteri di gruppo sono concentrate sul proprietario del ruolo PDC).

Passaggio 2: Spostarsi nella cartella Criteri sotto SYSVOL e creare una nuova cartella chiamata PolicyDefinitions.

Passaggio 3: Copiare il contenuto della cartella C:\windows\policydefinitions della workstation Windows Vista in uso nella nuova cartella PolicyDefinitions, che include la cartella ADML per la lingua in uso (ad esempio en-us nei computer che usano l'inglese americano).

Una volta copiati i file ADMX e ADML nella cartella dell'archivio centrale, l'Editor oggetti Criteri di gruppo di Windows Vista inizierà a fare riferimento ai file presenti in questa cartella, ignorando quelli memorizzati localmente.

Darren Mar-Elia è un MVP per i Criteri di gruppo Microsoft, creatore del sito Criteri di gruppo (www.gpoguy.com, in inglese) e coautore di Microsoft Windows Group Policy Guide (Microsoft Press, 2005). È anche direttore tecnico e fondatore di SDM Software, Inc. Può essere contattato all'indirizzo Darren@gpoguy.com.

© 2008 Microsoft Corporation e CMP Media, LLC. Tutti i diritti riservati. È vietata la riproduzione completa o parziale senza autorizzazione.