Inst. e Amm. di Active Directory 2000 (da http://www.sysadmin.it)

Con Active Directory (AD) Microsoft rivoluziona completamente il concetto di dominio Netbios di Windows NT4 ; il nuovo dominio AD ora corrisponde al dominio DNS Internet ,ovvero puo’ condividere la stessa struttura gerarchica dei nomi (namespace) .
Ed è proprio sul DNS che AD basa tutto il suo funzionamento , infatti in ogni nuovo dominio AD deve esserci almeno un server DNS , magari quello fornito da Microsoft ,ma puo’ andar bene anche un qualsiasi DNS che supporti i record SRV , caratteristica che vedremo piu’ avanti .
Tutti i DNS con bind superiore alla 8 sono pienamente compatibili perchè supportano i record SRV. Active directory puo’ essere installato su sistemi operativi Windows 2000 Server , Windows 2000 Advanced Server e Windows 2000 DataCenter purche’ siano rispettati dei requisiti che vedremo piu’ avanti.
Ma ora analizziamo AD nei dettagli per capirne il funzionamento.

Il protocollo usato per effettuare query o update sul database di AD è LDAP (Lightweight Directory Access Protocol) e identifica gli oggetti tramite:
distinguished name (CN=Suzan Fine,OU=Sales,DC=contoso,DC=msft) e relative distinguished names (CN=Suzan Fine)

DC= Domain Component
OU=Organizational Unit
CN=Common name

Un esempio tipico di URL LDAP è il seguente :

LDAP://server1.contoso.msft/CN=Don Hall/CN=Users/DC=contoso/DC=msft

La struttura di AD si basa su uno schema , lo schema contiene oggetti e attributi.
Gli oggetti sono: computer, stampanti, account, etc.
Gli attributi: scadenza account, dipartimento , nome etc.

Lo schema è:
dinamicamente disponibile: qualsiasi applicazione puo’ leggere gli oggetti e gli attributi dello schema
dinamicamente aggiornabile: qualsiasi applicazione puo’ aggiornare lo schema con nuovi oggetti e attributi

Lo schema supporta la protezione degli oggetti e degli attributi: tramite DACLs (discretionary access control list) si puo’ permettere o meno la modifica di oggetti dello schema a determinati utenti.
Ci puo’ essere solo uno schema per tutta la foresta.
Lo schema puo’ essere anche esteso con nuovi oggetti o nuovi attributi.

La struttura logica di AD comprende:

Domini:
è un gruppo di computer definiti dall’ amministratore che condividono un unico directory database. Un dominio e’ un “Security Boundary” , confine di sicurezza entro cui l’amministratore del dominio ha pieno potere. I domini sono anche unità di replicazione nel senso che ogni Domain Controller (DC) riceve le modifiche fatte al directory database e le replica su tutti gli altri DC.

Organizational Units (OU):
sono dei contenitori per altri oggetti , altre OU , gruppi , account . Successivamente vedremo come si puo’ anche delegare il controllo amministrativo di una OU .

Alberi:
Gli alberi in Windows 2000 sono un sistema gerarchico che condivide un namespace contiguo : support.microsoft.com, download.microsoft.com.
Ogni dominio figlio (child domain) ha una relazione di fiducia con il suo parent domain, le relazioni di fiducia sono bidirezionali ,automatiche e transitive SOLO pero’ tra server windows 2000.

Foreste:
Le foreste sono uno o piu’ alberi che NON condividono un namespace contiguo ma solo lo schema e il global catalog.

Il primo DC che si crea è chiamato forest root domain ed il suo nome non puo’ piu’ essere cambiato. In Active Directory 2003 questa caratteristica è stata implementata.

Global Catalog:
Il global catalog contiene le informazione relative agli oggetti compreso le permission, ed e’ usato per ricercare oggetti nel database di AD e per permettere ad un account di loggarsi in rete. Per default il primo DC che si crea è anche un global catalog server. Si possono aggiungere altri global catalog per bilanciare il traffico .

Domain Controller:
Un domain controller è un computer dove gira Windows 2000 e che memorizza una replica della directory database. Si possono avere anche piu’ di un DC nella propria LAN per ovviare ai problemi di fault (fault tolerance)
Il nuovo modello di dominio Microsoft viene chiamato Multi Master Replication Model, perché ogni DC contiene una copia scrivibile del database di AD . Quando una modifica viene effettuata su un DC automaticamente viene replicata su tutti gli altri DC.
Il ruolo di Single Master Operation Role (S.M.O.R.) è affidato ad un solo server che puo’ compiere tutte o alcune S.M.O.R. , questo per evitare conflitti tra i vari DC (operazioni compiute simultaneamente su più DC) per operazioni critiche tipo : rimuovere un DC da una foresta.

Siti:
un sito è una o più subnet di IP che sono connesse tra di loro da un collegamento veloce, un raggruppamento di computer logico e non fisico.
I siti vengono creati per 2 ragioni:
• ottimizzare il traffico
• permettere ad un utente di collegarsi ad un DC utilizzando la connessione piu’ veloce.

Active Directory fornisce agli amministratori la possibilità di gestire centralmente le risorse per permettere di trovare facilmente gli oggetti , permette inoltre di accorpare piu’ oggetti in OU o impostare Group Policy per site, domain e OU.
Con le group policy è possibile gestire la configurazione dell’ambiente degli utenti o dei computer. (settaggi security, impostazioni desktop).

DNS in Active Directory:
Come già accennato in precedenza , in Windows 2000 c’è piena integrazione tra AD e il DNS, questo perchè condividono la stessa struttura gerarchica e quindi gli stessi nomi. Un esempio su tutti è che le modifiche ai record e alle zone del DNS possono essere replicate durante la fase di replicazione delle informazioni di AD , possibilità discussa più avanti in questo capitolo.

Ruoli del DNS in AD:
• Risoluzione dei nomi in IP e viceversa
• AD usa la risoluzione dei nomi dns anche per indicare domini Windows 2000 ,ad esempio support.microsoft.com è uno nome dns valido ma indica anche che esiste un dominio windows 2000 (support) figlio del dominio parent (microsoft.com)
• Il DNS è utilizzato anche per trovare componenti specifici di AD. Ad esempio se una client fa log-on in un dominio necessita prima di trovare il global catalog server e poi il DC . Tutte queste informazioni vengono (IP del Global Catalog, IP DC) recuperate effettuando delle query sul DNS per record particolari chiamati “record SRV”.

I record SRV “mappano” il server ad uno specifico servizio e hanno il seguente formato:

service._protocol.name ttl class SRV priority weight port target

_service = nome del servizio
_protocol = specifica il protocollo di traporto
name = specifica il nome di dominio
ttl = time to live
class = specifica il nome dns standard della risorsa . per sistemi intenet e’ IN
priorità = specifica la proprieta’ del server
weight = peso , usato per un meccanismo di load balancing
port = specifica la porta su cui il server e’ in ascolto
target = specifica il FQDN ( Full Qualify Domain Name) del computer che che fornisce quel servizio

esempio :

ldap.tcp.contoso.msft 600 IN SRV 0 100 389 london.contoso.msft

questo indica che il computer london nel dominio contoso.msft usando il protocollo TCP eroga il servizio ldap

i servizi possono essere :

_gc = global catalog
_kerberos = server KDC

Allo start-up di un DC il servizio Net Logon usa la funzione “dynamic update“ per registrare i record SRV relativi ai servizi installati.

Esempio di come un client contatta un DC per una query sul db o per il log-on - step by step :

1. Il servizio Net Logon sul client starta una API chiamata DSGetDcName
2. Il servizio raccoglie tutte le informazione circa il servizio richiesto dal client come ad es. nome computer , dominio, sito e spedisce una query al DNS Server
3. Il DNS interroga il proprio db e restituisce un elenco di indirizzi IP dei DC che erogano quel servizio in base al nome di dominio e sito specificati nella query fatta dal client.
4. Il servizio Net logon spedisce un datagramma (messaggio LDAP o UDP) a tutti i DC della lista restituita dal DNS per sapere se sono “running”
5. Ogni DC risponde al messaggio ritornando le informazione circa il suo stato alla API DSGetDcName
6. Il servizio net logon sul client riporta le informazioni del DC che ha risposto per primo
7. Il client esegue la query sul db di AD o fa log-on .

Queste informazioni rimangono in cache cosi’ che non è piu’ necessario ripetere il processo di cui sopra.

L’integrazione di AD con il DNS (Active Directory Integreted Zones) permette di replicare zone del DNS durante la normale replica di oggetti di AD tra i vari DC, anziche’ con uno classico zone transfer.

Inoltre :

1. i cambiamenti effettuati su qualsiasi server DNS vengono replicati sugli altri (c’è piena fault tollerance)
2. Il DNS di Microsoft supporta i “secure dynamic updates”; difatti siccome il DNS e’ un oggetto di AD si possono settare le permission sulle zone per controllare quali computer aggiornano i record nel DNS.
3. Si puo’ configurare il DNS anche per effettuare un classico “zone transfer” sui computer senza AD.


AD quindi ha bisogno di un DNS per funzionare, DNS che deve supportare :

• i record SRV
• “dynamic update protocol” , con cui i client windows2000 automaticamente registrano il proprio record nel DNS
• trasferimento incrementale delle zone

Creazione di un Dominio Windows 2000

Il primo DC creato in AD è anche chiamato “root domain”. Quando si promuove un server a DC si hanno due possibilità:

1) Un DC in una nuova foresta “root domain
2) Un DC aggiuntivo in un dominio windows 2000 già esistente

Requisiti AD:

• Sistema Operativo Windows 2000 Server , ADV Server , Datacenter Server
• spazio su disco >200 MB per il database di AD e altri 50 MB per il transaction logs , altro spazio ancora se il DC è anche un global catalog server.
• la partizione che deve ospitare la directory SYSVOL deve essere formattata NTFS
• il protocollo TCP/IP deve essere installato e funzionante
• per avviare l’installazione bisogna essere loggati con un account che abbia i diritti di administrator

Quando si crea un nuovo DC viene chiesto oltre al nome DNS anche il nome netbios, questo per mantenere una certa compatibilità con i client con windows NT 4.0

Alla fine si ottiene una struttura simile :

ROOT
|
| ______ WINNT __
|
| ___NTDS - qui c’è il db ntds.dit il transaction log (*.edb) e i resource log (*.log)
|
|
|
| ___SYSVOL
- richiede NTFS e contiene script logon/logoff , start-up,shutdown e group policy information. Questa directory e’ condivisa everyone FC


Per fault-tollerance bisogna avere minimo 2 DC in un singolo dominio, questo si puo’ ottenere con il wizard di dcpromo.exe scegliendo l’opzione “Additional domain controller for existing
domain”



Per installare AD con un answer file:

dcpromo.exe /answer:nomefile.txt
Dcpromo.exe prima di installare AD verifica che :

1. l’utente collegato abbia i diritti di administrator
2. sul computer ci sia Windows 2000 Server , ADV o DataCenter
3. non si sia riavviato il server dopo una precedente installazione o disinstallazione di AD
4. non ci siano rimozioni di AD in atto
5. il nome del server non esista già
6. il protocollo TCP/IP sia installato correttamente
7. il nome del dominio sia univoco nella foresta
8. la locazione scelta per i files sia corretta (NTFS e spazio libero)

Quando si promuove un server a DC il server viene associato al relativo oggetto subnet in “AD Site e Services”. Se non ci sono oggetti subnet definiti il server viene inserito automaticamente nel “Default-First-Site-Name”

Dopo installato AD crea :

• Schema directory partition
• Configuration directory partition
• Domain directory partition

e inoltre starta il servizio di autenticazione “Kerberos V5”

in dettaglio :

schema partition, contiene la definizione dello schema : classi e attributi di tutti gli oggetti e viene replicata su tutti i DC nella foresta
configuration partition, contiene la configurazione di tutti gli oggetti AD della foresta ed e’ replicata su tutti i DC della foresta
domain partition, contiene tutti gli utenti, gruppi computers e altri oggetti specifici del dominio windows 2000 . E’ replicata da tutti i DC all’interno del singolo dominio.

Sono anche configurati in automatic e startati alcuni servizi tra cui :

RPC, Net Logon , KDC, Windows Time etc….

A questo punto dalla MMC del DNS si puo’ abilitare la funzione “Active Directory Integrated Zone” che permette di trasferire zone del DNS durante la normale replicazione di AD.
Altra funzione che si puo’ abilitare è la “Security Update” delle zone, con cui i computer con Windows 2000 possono fare l’aggiornamento del DNS in automatico , senza il bisogno dell’intervento dell’amministratore.

Modalità di installazione di AD

AD puo’ essere installato in due modalità differenti:

Mixed mode (default): in questa modalità sono supportati anche PDC NT 4.0

Native mode: in questa modalità possono esistre solo DC Windows 2000
In questa modalita’ nascono gli Universal security group e si ha la possibilita’ di nidificare i gruppi.

Gestione degli account in un dominio Windows 2000

Ogni account ha 2 userid: la UPN (User Principal Name) e la User-id Pre-Windows 2000
Esempio :

UPN= Gianluca@miodominio.com
Pre-Windows 2000= Gianluca

I vantaggi del UPN sono che il nome non cambia anche se si sposta l’account in un altro dominio e che l’ UPN puo’ corrispondere all’indirizzo e-mail .

Si possono aggiungere altri UPN da AD Domains e Trust , bisogna pero’ essere membri de gruppo Enterprise Admin.

Si possono importare account anche da un file di testo i metodi sono due :

CSVDE = Comma Separated Value Directory Exchange
LDIFDE = Lightweight Directory Access Protocol Data Interchange Format Directory Exchange

In questi files di possono includere tutti i valori relativi agli attributi degli account ma NON la password, la sintassi deve essere LDAP. Queste utilità da riga di comando sono già comprese in AD.

Esempio di file CSVDE:
(come separatore delle virgole)
DN,ObjectClass,sAMAccountName,userPrincipalName,displayName,userAccountControl

“cn=Suzan Fine,ou=Human resource,dc,asia,dc=contoso,dc=msft”,user,suzanf,suzanf@contoso.msft,Suzan Fine,512“

DN (Distinguished name) = cn,ou,dc,dc,dc…..
Full-Name = cn+ou
ObjectClass = User
SAMAccountName = suzanf
UserPrincipalName = suzanf@contoso.msft
DisplayName = Suzan Fine
UserAccountControl = 512 abilitato , 514 disabilitato.

Sintassi: csvde –i –f filename

Esempio di file LDIFDE:
(come separatore delle linee)

# File LDIFDE
DN : CN=Suzan Fine,OU=Human resource,DC,asia,DC=contoso,DC=msft”
ObjectClass : User
sAMAccountName : suzanf
userPrincipalName: suzanf@contoso.msft
displayname : Suzan Fine
userAccontControl : 512

Sintassi: ldifde –i –f filename

I Gruppi in Windows 2000:
I gruppi :

• semplificano l’assegnazione delle permission agli utenti , questo perche’ si possono semplicemente assegnare le permission ad un gruppo.
• un utente puo’ essere membro di piu’ gruppi
• si possono nidificare, inglobare l’uno nell’altro. Un gruppo eredita le permission del gruppo di cui e’ membro (solo in modalità nativa).

Un gruppo puo’ avere max 5000 utenti, superata questa soglia si puo’ aggiungere in un altro per sommare gli account e superare questo limite

Esitono 2 tipi di gruppi in AD:

Security Group
Distribution Group

In entrambi i gruppi esistono altri 3 sotto-gruppi:

Glogal Group:
In mixed mode: possono contenere account dello stesso dominio ed essere membri di domain local group.
In native mode: possono contenere account e global group dello stesso dominio ed essere membri di global group dello stesso dominio e universal e domain local di qualsiasi dominio.

Domain Local Group:
In mixed mode: possono contenere account e global group di qualsiasi dominio e non possono essere membri di nessun gruppo di nessun dominio.
In native mode: possono contenere account , global group e universal group di qualsiasi dominio e domain local group dello stesso dominio. Possono essere membri di domain local group dello stesso dominio

Universal Group:
In mixed mode: Esistono solo in native mode .
In native mode: possono contenere account, global group e universal group di qualsiasi dominio ed essere membri di domain local e universal group sempre di qualsiasi dominio.

La strategia che Microsoft consiglia di adottare e:
A. G. DL. P.
Account in gruppi globali, gruppi globali in domain local e assegnazione delle permission.

Pubblicazione delle risorse in AD:
Con AD tutti gli oggetti possono essere pubblicati per rendere disponibili a tutti le informazione in esso contenute.

Pubblicazione di una stampante:
Per default in AD le stampanti sono pubblicate . C’e’ infatti un check box “List into Directory” che viene abilitato quando si condivide la risorsa.
Esiste un processo su tutti i DC chiamato “orphan pruner” che si occupa di rimuovere dal db una stampante che sia stata rimossa fisicamente da un computer . Questo processo fa un check 3 volte al con intervalli do 8 ore, dopodiché se la stampante non ha risposto la cancella.

Per pubblicare una stampante si puo’ fare da AD User and Computer tasto dx sulla OU New >Printer

Le stampanti che sono fisicamente attaccate su macchine NON windows 2000 devono essere pubblicate manualmente con l’ utility :

c:\winnt\system32\pubprn.vbs e sintassi LDAP
Esempio :

pubprn.vbs \\server\nomestampante “ldap://OU:nomeou,DC=microsoft,DC=com”

La location delle stampanti si basa sulle subnet di IP identificate nel database dall’ oggetto subnet di AD, quindi quando si progetta un dominio e’ molto importante il piano di
indirizzamento IP , questo per far corrispondere quanto più possibile la vicinanza delle stampanti con gli IP / Subnet assegnate.


Pubblicazione di una Directory:
Per pubblicare una directory si deve prima condividerla e poi pubblicarla in AD.
Si possono aggiungere anche delle chiavi di ricerca che possono essere utili per la ricerca nel db di AD.
Per pubblicarle si fa sa AD User and Computer , New > Shared Folder e poi si inserisce il percorso UNC.
In questo modo esistono 2 oggetti separati che sono : l’oggetto pubblicato da AD e la risorsa condivisa e quindi anche esistono anche 2 DACL diverse , le DACLs sulla risorsa condivisa indicano chi puo’ accedere alla risorsa , le altre chi puo’ vedere , modificare , cambiare le proprietà dell’ oggetto. Quando un utente accede alla risorsa pubblicata , windows 2000 redirige tutto verso la risorsa condivisa.


Active Directory Security Component:

Security Principals:
E’ un account che puo’ assegnare permissions, ogni Security Principals è identificato da un Security Identifier (SID)

Security Identifier (SID’s):
E’ un valore che identifica in maniera univoca un account , un gruppo, un computer. Windows 2000 identifica un oggetto ( user, group …) dal SID anziché dal nome , perché il SID è l’unico modo per identificarlo in maniera univoca. Ogni volta che viene creato un account viene generato un SID che all’atto della cancellazione dell’account viene rimosso e quello stesso SID non viene piu’ emesso. Questo assicura che il SID sia univoco.

Security Descriptors:
E’ una struttura contente informazioni circa la security di un oggetto. Il Security Descriptors identifica un oggetto in base al proprio SID.
Se ci sono permission configurate per l’oggetto allora conterra’ le Discretionary Access Control List (DACL) con il SID dell’utente e del gruppo a cui sono applicate.
Se c’e’ l’auditing configurato su un oggetto allora conterra’ le System Access Control List (SACL) le quali controllano (fanno l’auditing) l’accesso all’oggetto.

L’ Header contiene il numero di revisione.
Owner contiene il SID del proprietario dell’oggetto
Primary Group contiene il SID dei proprietari del gruppo primario.
DACL & SACL contengono le rispettive ACE ( Access Control Entry )

Una Access Control Entry (ACE) in una DACL contiene :

• SID che specifica un account o un security group
• Un Header che specifica se è negato o permesso l’accesso all’oggetto
• Un Access mask con la lista delle operazione permesse o negate
• Un set di bit flag che indica se l’oggetto puo’ ereditare un ACE
• Un flag che indica il tipo di ACE.

Ci sono 6 tipi di ACE divisi in 2 gruppi , le ACE applicabili a tutti gli oggetti ai quali puo’ essere applicata la security (anche gli oggetti file system) e le ACE applicabili solo agli oggetti AD, i due tipi di ACE sono comunque molto simili

Lista delle ACE’s:
Access denied : DACL
Access Allowed : DACL
System audit : SACL
Access denied , object specific : DACL
Access allowed , object specific : DACL
System audit, object specific : SACL

Ereditarietà:
E’ un processo per cui un oggetto parent passa le ACE’s all’ oggetto child.

Il processo di Logon:
Windows 2000 controlla l’accesso alle risorse richiedendo che l’ utente faccia log on al computer.

Le fasi sono le seguenti :

1) raccolta delle credenziali , user, password , dominio
2) il local security subsystem (LSA) usa il dns per trovare un domain controller nel dominio specificato dall’utente . Il security subsystem contatta il servizio Kerberos sul DC chiamando il Key Distribution Center (KDC) che gira sul DC e richiedendo un ticket per far si che l' utente comunichi con il servizio Kerberos. Un ticket è un record che permette al computer client di autenticare se stesso sul server. Il servizio Kerberos chiede ad AD di autenticare l’utente e di contattare un Global Catalog Server per ottenere l’appartenenza di gruppo dell’ utente. Una volta ottenute tutte queste informazioni il servizio Kerberos ritorna un “ticket” al computer client contenente il SID dell’utente, il gruppo di appartenenza e il dominio; questo ticket verra’ usato per tutte le future transazioni con il servizio Kerberos
In questo modo il local security subsystem ottiene un ticket per l’utente.
3) il LSA contatta di nuovo il servizio Kerberos sul DC richiedendo un altro ticket per autorizzare l’utente ad avere accesso ai servizi Workstation sul computer client per completare così il processo di log-on. Questa richiesta include una copia del ticket precedente che il servizio Kerberos usa per identificare l’utente.
4) Il servizio Kerberos autentica l’utente richiedendo ad AD e il Global Catalog di verificare le informazioni contenute nel ticket dell’utente e costruisce un ticket workstation per l’utente , contenente le informazione validate del ticket originario e restituisce un session ticket al computer client.
In questo modo l’ LSA ottiene un ticket per il computer dal servizio Kerberos.
5) L’ LSA che gira sul computer client estrae dal ticket appena spedito le informazioni ( SID, gruppo …) e costruisce il token d’accesso aggiungendo il SID per il gruppo locale a cui appartiene l’utente ed i diritti assegnati.
6) Il token d’accesso servira’ per accedere alle risorse e seguirà sempre l’utente.

Token di accesso
Contiene: SID, gruppi di appartenenza , e diritti dell’utente e viene usato ogni volta che l’utente tenta di accedere a duna risorsa.

Accesso alle risorse di Windows 2000
Un utente ottiene l’accesso ad una risorsa solo quando Windows 2000 ha verificato le DACL dell’oggetto a cui si tenta di accedere e il tipo di accesso richiesto dall’utente.
Ad esempio se un utente tenta di accedere ad un oggetto anche in sola lettura si scatena un processo per cui AD genera una richiesta per validare il tipo di accesso che l’utente sta facendo all’oggetto tramite il local security subsystem che non fa altro che leggere le DACL dell’oggetto cercando il SID dell’utente o del gruppo di appartenenza. Se trovato verifica le ACE’s per sapere il tipo di accesso che gli è permesso ( Read , Write…) . Se c’e’ una ACE di denied è sempre in cima alle ACE’s.

Ownership
Ogni oggetto in AD ha un proprietario che ne controlla le permission impostate.

• Quando una permission di compiere una determinata azione su di un oggetto non’ è esplicitamente assegnata è implicitamente negata.
• Le permission possono essere anche implicitamente negate.

Se si e’ membri del gruppo administrators si puo’ usare la funzione Take Ownership per cambiare il proprietario.
Per default tutte le permission si propagano sugli oggetti che contengono ; questo vuol dire che sempre per default gli oggetti child ereditano permission dall’oggetto parent.
Questa caratteristica puo’ essere disabilitata tramite il check box “Allow inheritable permission from parent to propagate to this object”.

Delega dei controlli amministrativi su un oggetto
E’ utile per evitare che piu’ amministratori abbiano pieno potere sull’intero dominio.
Si puo’ usare il Wizard Delegate Control.

Creazione di una Microsoft Management Console (MMC):
Una MMC permette di creare tool a “misura di responsabilità”e puo’ essere salvata in 2 modi :

Author Mode: se si vuole che altri amministratori possano modificare la MMC
User Mode: se si vuole limitare la possibilità di modificare la MMC ad altri amministratori.

Creazione di un Task Pad
Facilita la possibilità di compiere una attività amministrativa anche ad utenti non esperti, perche’ l interfaccia grafica è piu’ facile da usare , ci sono inoltre pulsanti che sono linkati a task della MMC per rendere il tutto piu’ immediato.
Una Task Pad si può creare partendo da una MMC dal menù Action con il wizard New task pad view.

Applicazione delle Group Policy in AD

Le Group Policy si applicano a:
Siti (sconsigliato)
Domini
OU

Le Group Policy vengono usate per:

• Centralizzare le politiche di sicurezza o impostazione del desktop applicando le GP all’intero dominio o decentralizzarle configurando policy per le singole OU
• Assicurare che gli utenti abbiano lo stesso desktop per lavorare
• Abbassare i costi di gestione gestendo in maniera centralizzata l’ ambiente (desktop e software installati ) degli altri computer
• Impostare policy di sicurezza in maniera centralizzata, assicurando cosi’ che tutti i computer del dominio abbiano la stesse policy.

Le GP possono essere applicate solo a computer con Windows 2000 e possono essere di 3 tipi:

• Group Policy Objects
• Group Policy Setting for Computers and Users
• Group Policy Objects and Active Directory Containers

ed esistono Group Policy di tipo :

Administrative Templates: per la configurazione del desktop degli utenti, per negare o permettere l’accesso a determinate componenti de sistema operativo.
Security: per la configurazione delle policy di sicurezza (password, auditing)
Software Installation: per l’installazione e la rimozione o l’aggiornamento automatico degli applicativi sui computer client
Scripts: configurazione di particolari script in fase di start-up o shutdown di Windows 2000
Remote Installation Services: per la configurazione delle opzione consentite agli utenti che eseguono il client installation wizard usato da RIS
Internet Explorer Maintenance: per la configurazione di Internet Explorer su computer client
Folder Redirection: per la configurazione del redirect di una directory su un network server

Group Policy Objects:

Le GP sono memorizzate in 2 differenti locazioni

The Group Policy container (GPC): è un oggetto di AD che contiene gli attributi della GP e la versione. Un DC verifica la versione della GP per assicurasi che sia la piu’ recente , nel caso contrario avvia una replica con un DC che ha la GP piu’ recente. Per vedere l’ oggetto GPC da AD User and Computers > System > Policies.
The Group Policy Template (GPT): è una sotto-directory in SYSVOL (%systemroot%\SYSVOL\SYSVOL\DOMINIO\POLICIES\”GUID”) che contiene informazioni tipo : administrative templates ,security ,installazioni software , scripts , redirect di directory. I computer client si connettono alla directory condivisa SYSVOL e ottengono la configurazione. Il nome della directory è un identificatore univoco (GUID) ed e’ identico al GUID che identifica le GPC

Group Policy Settings for Computer:
Le GP Computer specificano i comportamenti del Sistema Operativo , desktop , scripts allo start-up o shutdown del computer , configurazione delle applicazioni , configurazioni relative alla sicurezza e vengono applicate durante l’inizializzazione del computer o in fase di refresh automatici. Le GP for computer hanno la precedenza in caso di conflitti di GP.


Group Policy Setting for Users:
Le GP per gli utenti specificano i comportamenti del Sistema Operativo , desktop , assegnazione o pubblicazione di applicazioni , redirect di directory , scripts di Log-on e Log-off. e vengono applicate nel momento in cui l’utente fa Log-on o Log-off , o durante refresh automatici.

Group Policy Objects for Active Directory Containers:
I GPOs possono essere “linkati” a siti , domini , OU con link del tipo :
• Un GPOs a piu’ siti , domini o OU
• Piu’ GPOs a un sito , dominio o OU

Non si possono “linkare” i GPOs a componenti presenti di default in AD ( Users , Builtin , Computers NON sono OU).

Creazione di una GPOs Linked:
Tasto dx su OU , Dominio o Sito > Tab Group Policy > New

Con una creazione di una GPOs Linked si compiono in realta’ 2 operazioni : creazione di una GPO e link della GPO appena creata ad un oggetto di AD,
Solo un account del del gruppo Domain Admins o Enterprise Admins puo compiere questa operazione.

Creazione di una GPOs NON Linked:
Tasto dx su OU , Dominio o Sito > Tab Group Policy > Add

L’ordine di applicazione delle GPOs è:
Sito > Dominio > OU
che è anche l’ordine con cui vengono ereditate le GP . Quindi un OU child puo’ erditare delle GP da una OU parent anche se non ha nessuna GP linkata direttamente. Le GP applicate ai siti hanno efficacia su tutti i computer che sono in quel sito indipendentemente dal dominio a cui appartengono.
Quando si creano o si modificano GPO per default l’operazione e’ compiuto solo su un DC ed esattamente il DC che detiene il ruolo di PDC Emulator. Questa opzione puo’ comunque essere cambiata da View di GP Editor.

Ordine di applicazione di GP:
Quando un computer “starta” vengono applicate in successione GP computer ( script start-up ecc..) e GP account ( script start-up ecc..).
Per determinare quale GP applicare esiste una funzione di windows chiamata GetGPOList , tutto il processo viene eseguito sul client (client -side).

Controllo delle GP:
Il processo di applicazione delle GP puo’ essere sincrono o asincrono.
Asincrono partono piu’ processi contemporaneamente per applicare le GP
Sincrono ogni GP parte solo dopo che e’ stata eseguita la GP precedente.

Per default il processo delle GP è sincrono.

Le GP vengono aggiornate a determinati intervalli di tempo anche se l’utente non ha fatto log-off o non si e’ restartato il computer.

I tempi sono i seguenti :
• I computer con Windows 2000 Professional membri di un dominio ogni 90 minuti con un off-set di 30 min. in modo che tutti i client non contattino il DC tutto nello stesso momento.
I domain controller ogni 5 minuti

I tempi di refresh possono essere anche modificati ma il refresh delle GP non puo’ essere schedulato.
Per default i client processano solo le GP che sono cambiate in modo da limitare il traffico di rete, questa opzione puo’ comunque essere modificata.
Le GP hanno la capacità in base ad un algoritmo di stabilire se un link è piu’ lento rispetto ad un altro. Se una connessione non supera i 500 Kbps viene considerata lenta, questo valore puo’ essere cambiato.

Tutte le GP vengono applicate salvo casi di conflitto:

In caso di conflitto tra GP parent e child, vincono quelle child
In caso di conflitto tra GP vince quella che ha priorità maggiore, ovvero quella piu in alto nel Group Policy Tab , l’ordine logicamente puo’ essere invertito con i tasti UP e Down.
In caso di conflitto tra GP User e GP Computer vengono applicate quest’ ultime.
L’ereditarietà di una GP da parte di una OU puo’ essere bloccata con l’opzione Block Policy Inheritance.
L’opzione No Override assicura che la GP sia applicata anche in caso di conflitto o nel caso ci sia impostata l’opzione Block Policy Inheritance.

Filtraggio delle GPO:
Nel caso in cui si voglia che un a GPO applicata ad una OU venga applicata a tutta la OU tranne che ad un account o gruppo si deve operare sulle proprietà della GPO > Security , aggiungendo l’account o il gruppo o selezionando il check box Apply GPO Deny.

Gestione e collegamento di una GPO:
Il controllo di una GPO su una OU puo’ essere delegato , ed in particolare si possono delegare :

• La gestione ed il collegamento delle GPO ai siti , domini ,ou
• La creazione di GPO
• La modifica di GPO

Gli attributi GPLink e GPOptions memorizzano il tipo di GPO e il collegamento all’oggetto AD. Impostando Read e Write su questi due attributi per un utente, gli si delegavil controllo delle GPO.
Un modo piu’ veloce per delegare il controllo delle GPO di una OU ad un utente e’ quello di usare il Wizard Delegation Control (tasto dx sulla OU).

Creazione di una GPO:
In Windows 2000 per default solo i membri dei seguenti gruppi possono creare GPO :
• System Account
• Domains Admins
• Enterprise Admins
• Group policy creator Owners

Se si vuol dare ad un utente non appartenete al gruppo Domains Admins la possibilità di creare GPO bisogna aggiungerlo al gruppo Group policy creator Owners e bisogna anche delegargli il controllo sulla OU da amministrare.

Modifica di una GPO:
Per modificare una GPO deve essere vera una delle seguenti condizioni :

• L’utente deve essere membro del gruppo Domain Asmins o Enterprise Admins
• Un utente deve essere Create Owner
• Un utente con accesso alla GPO

Monitoraggio e risoluzione dei problemi della GPO
Abilitazione Logging nell’Event Log / Application :

Va modificato la chiave di registro :
HKEY_LOCAL_MACHINE\software\Microsoft\WindowsNT\CurrentVersion

e aggiunta la chiave Diagnostic e all’interno della stessa un nuovo DWORD Value chiamato: RunDiagnosticLoggingGlobal con valore 1

Abilitazione Verbose Logging
Traccia tutti i cambiamenti fatti alle GPO in un file nella:
systemroot\Debug\UserMode\Userenv.log

Per abilitare il tracking aggiungere una nuova chiave DWORD chiamata UserEnvDebugLevel con valore 30002 nel ramo:
HKEY_LOCAL_MACHINE\software\Microsoft\WindowsNT\CurrentVersion\WinLogon

Risoluzione dei problemi legati alle GPO

Dai Support Tools di Windows 2000:
Netdiag.exe controllo problemi di rete.
Replmon.exe per forzare la replica di GPO

Dal Resource Kit di Windows 2000 :
Gpotool.exe per un check sulle GPO del dominio
Gpresult.exe per vedere tutte le GPO applicate all’utente che si e’ autenticato.

Group Policy per gestire l’ambiente utente
Le Group Policy (GP) si usano per:

• Limitare l’accesso solo a parti del sistema operativo
• Impostare un desktop uguale per tutti
• Impostare policy di sicurezza

Group Policy - Administrative Templates
Sono una serie di GP che modificano chiavi di registro, e vengono usate per configurare l’ambiente utente come ad esempio componenti del sistema operativo , opzioni dell’interfaccia , desktop ecc…
Le group policy di tipo Administrative Template modificano le seguenti chiavi di registro:

HKEY_LOCAL_MACHINE per le GP Machine

HKEY_CURRENT_USER per le GP Utente

Le GP vengono scritte in \SOFTWARE\Policies oppure
\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies

La configurazione delle GP è memorizzata in un file chiamato Registry.pol presente in:

systemroot\SYSVOL\sysvol\nome_dominio\Policies\GPO_GUID\ Machine o User

La sequenza con cui vengono applicate le GP è la seguente:

• Quando il client “start” recupera la lista e la sequenza delle GPO da applicare
• Il client si connette al DC recupera il file Regitry.pol
• Il client scrive nelle chiavi di registro la configurazione delle GP scritte nel file Registry.pol
• Quando le chiavi del registro relative alle GP Machine sono state scritte appare la maschera di Logon

La sequenza si ripete anche per le GP Utente.

Tipi di Administrative Template:
GPO Utenti e Machine:

• Windows Components: Parti de sistema operativo, tools incluso la MMC
• System: Procedure di Logon e Logoff, disk quota
• Network: proprietà delle network connections e dial-up connections

GPO Machine:
• Printers: forzare la pubblicazione di una stampante su AD

GPO Utenti:
• Start Menu & Task bar: personalizzazione della barra delle applicazioni
• Desktop: tutto quello che riguarda il desktop ( anche nascondere icone)
• Control Panel: restrizioni su Add/Remove Programs, Printers, display

Importante: In caso di conflitto tra GPO Utente e GPO Machine , vincono quest’ultime.

Loopback processing:
Nel caso in cui un utente appartenga ad una OU e l’oggetto computer sia in un altro contenitore e su entrambi siano applicate GP differenti, per default vengono applicate prima le GP Utente e poi le GP computer.
Questo comportamento potrebbe non essere appropriato per certi computer (Server) ; ci sono a questo punto 2 possibilità :

Replace Mode: vengono processate solo le GP Computer
Merge Mode: vengono applicate prima le GP Utente e poi le GP Machine.
In caso di conflitto vincono quest’utime perche’ applicate dopo.

Per modificarne il comportamento:
Aprire GP, andare in Computer Configuration\Administrative Templates\System click su Group Policy , doppio click su UserGroup Policy loopback processing mode.

Group Policy Script
Servono per far eseguire script al logon e logoff di un account o alla partenza del computer.
Quando il computer “starta” gli Start-up Script girano in modalità sincrona e nascosta.
Quando l’utente fa logon i Logon Script girano in modalità asincrona e nascosta.

Il valore di time-out di un script (prima che venga eseguito lo script successivo) è di 10 minuti, ma puo’ essere cambiato.

Group Policy Folder Redirect (simili a rooming profiles di Windows NT)
Vantaggi:
• I dati sono sempre disponibli indipendentemente dalla computer su cui l’utente fa logon
• I dati sono in una posizione centrale (Server) e possono essere facilmente “backuppabili”
• Pochissimo traffico di rete , solo quando l’utente accede fisicamente ai files.

Da Group Policy > User Configuration >Windows Setting > Folder Redirect , impostare il percorso UNC verificando che l’account ha I diritti per accedere alla directory “sharata”
Si possono impostare piu’ redirect della stessa cartella per i diversi gruppi / Utenti (Modalità Advacend) oppure un unico redirect (Modalità Basic) per tutti gli utenti della OU.

Group Policy per la distribuzione del software
Sfruttando le potenzialità delle GP si può:
• Installare software sui client
• Upgradare le versioni dei software sui client
• Rimuovere i software precedentemente installati sui client

Windows 2000 usa il servizio Windows Installer per la distribuzione e la gestione di software tramite GP. Il servizio consta di 2 componenti:

Windows Installer Service
Questo servizio è client-side e si occupa di installare / modificare e riparare il software sui client.
Windows Installer package
Contiene tutte le informazioni che servono per l’installazione del software sulla macchina e consiste in un file .Msi con tutte le informazioni sul software.

I benefici sono che:

• L’installazione è Resilent, cioè e capace di auto-ripararsi nel caso venga cancella un file critico per il funzionamento dell’ applicazione senza intervento manuale
Clean Removed: L’applicazione si disintalla senza lasciare alcun file sulla macchina e senza cancellare file condivisi da altre applicazioni

Passi da eseguire per la distribuzione del software:
Distribuzione del software:
• Acquisire il software da distribuire in formato .Msi e copiare il file msi in un punto di distribuzione .Il punto di distribuzione puo’ essere una directory shared con permessi di Read
• Creare un punto di distribuzione , una shared folder magari anche nascosta con $ , oppure meglio un DFS per questione di carico e di Fault Tollerance

Il software si può:

Assegnare
L’utente quando farà logon troverà sul desktop o nel menu START l’icona del software.
I vantaggi sono che il software e’ sempre disponibile per l’utente e che il software e’ resilent (si autoripara); l’assegnazione puo’ essere fatta o all’utente o al computer.Se è fatta all’utente dopo il log-on l’utente si trovera’ sul desktop l’icona del programma,
se invece è fatta al computer il software si installerà qundo il computer starta.

Pubblicare
Si puo’ pubblicare software e renderlo disponibile all’utente anche se non c’è nessun collegamento sul desktop dell’utente o nel menu’ START, l’installazione del software da parte dell’utente puo’ avvenire in 2 modi :

• Da Add/Remove Programs, cliccando sull’ applicazione da installare
• Per Document Activation, l’utente clicca su un file con estensione sconosciuta, viene interrogato a questo punto AD per verificare se a quella estensione c’e’ una distribuzione software associata, in casto affermativo parte l’installazione del software.

L’ estensione che fa si che il software si installi puo’ essere cambiata.
Per far questo basta andare su GPO cliccare su User Configuration oppure Computer Configuration , espandere il ramo Software Setting/Software configurare la GPO per la distribuzione del software creare o editare una GPO cliccare su User Configuration oppure Computer Configuration , espandere il ramo Software Setting/Software Installation e creare la nuova distribuzione .
Impostare le opzioni per la distribuzione del software.

Aggiornamento del software:
L'aggiornamento puo’ essere di due tipi:

Mandatory upgrade (Obbligatorio): automaticamente viene rimossa la versione precedente del software e installata quella nuova. Dal tab upgrade cliccare il check box Required upgrade for existing packages
Optional upgrades: viene richiesto all’utente se vuole effettuare l’upgrade
Dal tab upgrade lasciare non selezionato il check box Required upgrade for existing packages

Disinstallazione del software:
Da Group Policy Editor cliccare con il tasto dx sul nome della distribuzione poi all task > remove
A questo punto si hanno 2 possibilità :

• Rimuovi subito il software
• Permetti all’utente di continuare ad usare il software ma previeni altre installazioni

Ridistribuzione di un pacchetto software:
Per effettuare uan ridistribuzione di un software andare su Group Policy Editor cliccare con il tasto dx sul nome della distribuzione poi all task > redeploy.

Definizione di Alberi e Foreste
Un albero è una gerarchia di domini Windows 2000 che condividono lo stesso namespace. Quando si aggiunge un nuovo domino ad un albero , il nuovo dominio viene chiamato child domain.
La combinazione di nomi del child domain + del parent domain forma il nome DNS.

Il TOP Level Domain e’ chiamato Root Domain

Esempio: support.microsoft.com

Support = Child domain
Microsoft = Parent domain
.com = Top Level Domain

Una foresta è un insieme di piu’ alberi che NON condividono lo stesso namespace ma solo il global catalog e lo schema.

Esempio: nwtraders.microsoft.com
contoso.msft.com

Un Forest Root Domain è sempre il primo DC che viene creato, ed ogni dominio è legato in modo diretto o indiretto al forest root domain quindi il suo nome NON puo’ essere cambiato. (In Active Directory 2003 è possibile).

Il forest root domain contiene anche le informazioni relative al Global Catalog Server e lo Schema.

Quando Active Directory è in modalità nativa (native mode) viene creato un nuovo gruppo “Universal Group”.


In dettaglio la trasformazione dei gruppi:

• Da Enterprise Admins diventano in native mode Universal Group: questo gruppo è autorizzato a fare qualsiasi
cambiamenti agli oggetti dell’intera foresta come aggiungere altri child domain.
• Da Schema Admins diventano in native mode Universal Group: questo gruppo puo’ effettuare cambiamenti allo schema
di AD

I vantaggi di una suddivisione in domini multipli sono:

• Riduzione del traffico di replicazione perche’ in una struttura multipla solo i cambiamenti al global catalog server sono replicati
• Vengono separare i controlli amministrativi
• Implementare politiche di sicurezza distinte per i differenti domini

Per promuovere uno server a DC bisogna usare il tool Dcpromo.exe con cui si puo’:

• Creare un Forest Root Domain (nuova foresta)
• Creare un child domain
• Creare un nuovo albero
• Aggiungere un DC ad un dominio esistente

Ogni volta che viene creato un nuovo dominio viene creata automaticamente una relazione di fiducia (trust) tra il forest root domain e il nuovo dominio creato. La relazione di fiducia creata è transitiva e bidirezionale.


Il procollo Kerberos ver. 5
:
Questo protocollo è il protocollo di autenticazione in Windows 2000 , esso verifica utente e integrità dei servizi di rete. Kerberos ha una parte Server ,una parte Client e una terza parte che fa da tramite e conosciuto anche con il nome di KDC protocol (Key Distribution Center).

KDC gira su ogni DC e memorizza tutte le informazioni relative agli account comprese le password.

Kerberos Server gira su ogni DC e Kerberos Client gira’ su ogni Client.

In realtà il protocollo Kerberos implementato da Microsoft è un evoluzione del protocollo standard MIT Kerberos 5, ovvero MIT Kerberos 5 leggermente modificato con l'aggiunta delle GSSAPI.

Esempio:

Scenario: Ci sono 2 foreste contoso.msft e nwtraders.msft. Ognuna di queste ha 1 child domain sales.nwtraders.msft e marketing.contoso.msft .

Visto che si è detto che ogni DC ha un KDC, se un utente del dominio sales.nwtradres deve accedere ad una risorsa posta nel dominio marketing.contoso.msft chiede al suo KDC Server di ottenere un “session ticket” per accedere alla risorsa posta nel dominio marketing.costoso.msft.

Il suo KDC gli restituisce un ticket per accedere al livello (nwtraders.msft) superiore. Il KDC di nwtraders.msft a sua volta gli rilascia un ticket per accedere contoso.msft che a sua volta gli rilascia un ticket per accedere a marketing.contoso.msft. . Il KDC di marketing.contoso.msft gli rilascia l’ultimo ticket per accedere alla risorsa (server, stampante….)

I percorsi per ottenere i permessi da ogni KDC Server al fine di potersi collegare alla risorsa desiderata possono essere ottimizzati mediante la creazione manuale di “shortcut trust” che hanno la caratteristica di essere “monodirezionale e transitive”. Se si creano 2 shortcuts in direzioni opposte la relazione di trust tra i 2 domini diventa bidirezionale e transitiva.

Esiste anche la possibilità di creare delle “shortcuts trust non transitive” ma solo in uno dei seguenti casi:

• Tra due foreste di Windows 2000
• Tra un dominio Windows 2000 e un dominio Windows NT 4.0
• Tra Windows 2000 e qualsiasi altri sistema operativo che usa kerberos v5

La shortcut si puo’ creare modificare o rimuovere da: AD Domains and Trust , tasto dx su dominio , proprietà .
La verifica di una trust si puo’ anche effettuare con l’utility NETDOM:

Netdom trust trusting_domain_name / Domain:trusted_domain_name /Verify o /Remove


Global Catalog Server
Il primo DC che si installa è un global catolog. Un global catolog server contiene le informazioni necessarie per identificare tutti gli oggetti nel DB di AD.
Il global catalog permette all’utente di loggarsi alla rete fornendo le informazioni relative all’ universal group membership e user principal name domain.
Quando si fa logon ad un dominio configurato in modalità nativa il global catalog server fornisce le informazioni per l’universal group membership al DC . Quando il global catalog non’ è contattabile l’utente fa logon con le informazioni precedenti che ha in cache, in alternativa se non ci sono informazioni in cache circa il precedente logon dell’utente, si avra’ solo accesso locale.
In una rete con un singolo dominio un global catalog server non è necessario perche’ ogni DC contiene le informazioni necessarie per far loggare l’utente.

Se un utente appartiene al gruppo “Domain Admins” puo’ effettuare logon anche se il Global Catalog Server non è contattabile.

Per creare un global catalog server : da AD sites and services tasto dx sul server > NTDS Settings > abilitare o disabilitare il check box Global Catalog Server.

Windows 2000 permette di organizzare utenti o oggetti di dominio in security group e assegnare al gruppo determinate permissions. Associare le permissions ad un gruppo invece cha ad un utente velocizza le operazioni e assicura che tutti gli utenti di quel gruppo abbiano le stesse permissions. I security group si possono anche nidificare.

Ogni informazione che va a modificare gli universal group , anche l’aggiunta di un utente , fa si che l’intero gruppo sia replicato su tutti i Global Catalog Server generando un traffico di rete che puo’ anche essere di grossa entità. Per ridurre il traffico di rete dovuto alle modifiche apportate ai gruppi si puo’ usare la seguente strategia:

Account in gruppi globali > gruppi globali > gruppi globali (opzionale) > gruppi universali > gruppi di dominio locale > permission associate al gruppo

In breve: A G U DL P


Gestione della replicazione di Active Directory
Il servizio di replicazione di AD si occupa di replicare le informazioni tra i DC del dominio secondo il modello Multi-Master.

La replicazione è un processo di aggiornamento che aggiorna/sincronizza i dati del database da un DC ad un altro di modo che i dati siano sempre aggiornati e disponibili per i client.

AD si basa sul modello Multi-Master che ha 2 vantaggi:

1 - Con poche eccezioni, non ci sono DC che, se non disponibili, devono essere sostituiti per far continuare la replica tra i DC. (Vedi NT 4)
2 - DC possono essere distribuiti nella rete e ubicati in locazioni strategiche di modo da avere un dominio fault-tollerance attraverso raggruppamenti logici chiamati siti.

AD usa i siti per identificare connessioni di rete convenienti. Per AD una replicazione tra 2 DC nello stesso site sono considerate connessione veloci e affidabili. Al contrario la replicazione tre 2 DC in due site diversi sono considerate lente.

La replicazione avviene nel momento in cui un oggetto viene aggiunto, modificato, aggiornato.

Una modifica effettuata su un oggetto di AD, ad esempio la modifica di una password di un account su uno specifico domain controller viene chiamata originating update, la stessa modifica replicata su di un altro domain controller viene chiamata replicated update.

I tempi di latenza per la replicazione di una modifica ad un oggetto di AD sono il tempo necessario affinche’ una modifca fatta su un domain controller sia ricevuta da un altro domain controller.

La replicazione all’interno di siti avviene tramite un processo che è chiamato change notification; questo significa che ad ogni modifica di un oggetto di AD il motore di replicazione sul DC che ha effettauto l’originating update attende 5 minuti + o - 30 sec. ed invia una notifica informando il suo replication pathner del cambiamento.
Anche se non sono stati effettuati cambiamenti al db di AD dopo 1 ora per sicurezza i DC iniziano il processo di replicazione.

Le modifiche ad attributi del DB di AD ( lockout di di un account ) sono considerate modifiche urgenti (urgent replication) e per questo sono immediatamente replicate senza attendere i 5 min. di default.

Siccome AD si basa su multi-master model possono verificarsi dei conflitti durante la replicazione che lo stesso AD risolve.

I tipi di conflitto che si possono avere sono tre:

Attribute value: quando un attributo è settato su un valore alla prima replica, e su un altro valore dopo la seconda replica.
Add/Move under deleted container object: questo tipo di conflitto avviene quando una prima replica cancella un contenitore , ad es. un OU , ed una seconda replica tenta di spostare un oggetto all’interno de contenitore cancellato.
Sibling name: avviene quando una replica tenta di muovere un oggetto all’interno di un contenitore dove c’e’ un altro oggetto con lo stesso nome (nome gemello)

Per minimizzare la possibilità di conflitti, i DC registrano i cambiamenti agli oggetti del DB al livello di attributi e non di oggetti stessi. Questo significa che una modifica a piu’ attributi di uno stesso oggetto non genera conflitti; es. la modifica di una password ed del codice postale per un o stesso account.

Per favorire la risoluzione dei conflitti AD mantiene uno Globally Unique Stamp (GUI) della modifica effettuata.

Il Globally Unique Stamp viaggia insieme alla modifica ingloba tre valori:

Version number: il numero di versione parte da 1 ed è incrementato ad ogni modifica.
Timestamp: il timestamp è la data e l’ora prese dal DC che ha generato l’ originating update.
Server GUID: è il Directory System Agent (DSA) che identifica il DC su cui è stata generata l’originating update.

A questo punto tutti i conflitti sono risolti assegnando ad ogni operazione un Globally Unique Stamp:

Attribute value. La modifica che ha il numero il valore di stamp piu’ alto sovrascrive l’altra
Add/Move under deleted container object. Dopo che tutte le repliche sono state effettuate
l’oggetto viene inserito nel contenitore LostAndFound. Lo stamp non è coinvolto in questa fase.
Sibling name. L’oggetto con il numero piu’ alto di Stamp mantiene il relative distinguished name.
All’altro oggetto viene assegnato un nome del tipo : RDN+”CNF:”+”caratteri riservati”+”*”+GUID.

Per amministrare i dati che devono essere replicati ogni DC mantiene un array di vettori che a sua volta contiene un GUID+USN. L’USN (update sequence number) viene usato dal DC per capire l’attributo legato all’ USN o l’oggetto deve essere aggiornato perche’ ha un USN piu’ basso.

Il database di AD è logicamente diviso in:
Domain Partition: La Domain Partition memorizza tutti gli oggetti di dominio specifici creati in AD incluso utenti, gruppi , OU …. Le informazioni circa la domain partition sono replicate su tutti i dc del dominio. Ci possono essere piu’ Domain Partition per foresta.

Schema Partition: Lo Schema Partition contiene le definizioni di tutti gli oggetti e attributi che possono essere creati e le regole che definiscono come gestirli. Le informazioni circa lo schema sono replicate su tutti i domain controller della foresta. Ci puo ‘ essere solo 1 schema partition per foresta.

Configuration Partition: La Configuration Partition contiene informazioni circa la struttura di AD , incluso domini e siti esistenti, DC e servizi disponibili. Le informazioni circa la configuration partition sono replicate su tutti i DC della foresta. Ci puo’ essere solo 1 configuration partition per foresta.


I link che collegano i replication partners sono chiamati connection objects. I replication partners possono essere diretti o transitivi. Un replication partners diretto è collegato direttamente al DC sorgente per la replicazione dei dati. Un replication partners transitivo non è collegato direttamente al DC sorgente per la replicazione dei dati.

Quando un nuovo DC viene aggiunto al sito c’e’ un metodo per stabilire la replicazione da e verso il DC. Per compiere questo AD si avvale di un processo chiamato Knowledge Consistency Checker (KCC). Il KCC gira su ogno DC e genera la topologia di replicazione per tutta la foresta.
KCC gira ad intervalli regolari e disegna la topologia di replicazione , stabilendo rotte tra i DC in base al link , al costo , alla velocità prendendo questa informazioni dai site e subnets create.

I relativi connection objects vengono creati in automatico dal KCC ma possono essere creati anche manualmente da AD Sites and Serrvice > Site > Default First Site Name > Servers > NTDS Setting tasto dx del mouse.
Sempre da qui puo’ essere forzata la replicazione verso un DC.


I Siti
I Sites sono un raggruppamento logico di PC o Server in base al loro indirizzo IP e alla Subnet.
Quando si installa AD viene creato il primo site e la prima subnet . Una subnet puo’ contenere anche server di altre foreste. I siti sono utilizzati per 2 motivi:

Replication Traffic: gestire il traffico di replicazione tra DC di siti differenti
Logon Traffic: Quando un utente fa logon su windows 2000 cerchera’ un DC nella sua stessa subnet quindi molto probabilmente piu’ vicino a lui fisicamente.

Nella replicazione tra 2 DC all’interno dello stesso sito il traffico dati non e’ compresso perchè si suppone che all’interno dello stesso sito ci siano collegamenti veloci (Reti Lan 10 o 100 Mbit).
La replicazione all’interno di siti avviene tramite il processo di change notification.

Nella replicazione tra siti diversi si assume che ci siano collegamenti lenti ovvero modem sincocrini o asincroni 33.6 max 56 k. Il traffico dati viene quindi compresso del 10, 15%.

Il processo di replicazione puo’ anche essere schedulato.

Nella replicazione tra siti diversi viene scelto un server per sito che fa da BridgeServer ovvero collega all’ altro server dell’ altro sito . Il protocollo che si occupa di designare i BridgeServer si chiama Intersite Topology Generetor ISTG.

I protocolli usati per la replicazione sono 2:

Remote Procedure Call (RPC): puo’ essere scelto come protocollo per la replicazione all’interno di siti perche’ molto veloce (RPC over IP), ma può essere usato anche per la replicazione tra siti diversi.

SMTP: puo’ essere usato per la replicazione tra siti diversi . Supporta della replicazione dello Schema Configuration e Global Catalog Replication ma NON puo’ essere usato per replicare Domain Partition dello stesso dominio.

Per creare un sito bisogna essere membri del gruppo Enterprise Admins o Domain Admins e si fa’ da : AD Sites and Services > tasto dx su site > New Site

Per creare una subnet si fa’ da : AD Sites and Services > tasto dx su subnet > New Subnet

Un Site Link unisce un DC di un sito ad un altro sito . Un Site Link è definito da diverse componenti:

Protocollo di Trasporto
I costi stabiliscono la priorità nell’ uso di un collegamento rispetto ad un altro

Per creare un link si fa da : AD Sites and Services > Inter Site Trasport > tasto dx > New Site Link

Un Site Link Bridge consiste in un o piu’ siti collegati.

Esempio:

il sito A è collegato con il sito B e con il sito C . I siti B e C sono collegati da un Link Bridge di modo da fornite anche la Fault Tollerance . I costi massimi di una replicazione equivalgono ai costi di A + B + C.

Per creare un link bridge si fà da : AD Sites and Services > Inter Site Trasport > tasto dx > New Site Link Bridge.

Per monitorare il traffico di replicazione si puo’ usare il Replication Monitor oppure l’utility da riga di comando repadmin entrambi inclusi nei Support Tools di Windows 2000.

Operation Master Role
Un operation master è un DC che ricopre uno specifico ruolo in AD.
In AD ci sono 5 operation master roles e sono:

Schema Master
Domain Naming Master
PDC Emulator
Relative Identifier (RID) Master
Infrastructure Master

Il ruolo di schema master e Domain naming Master sono al livello di foresta e ci puo’ essere solo uno schema master e un domain naming master in una foresta.

I ruoli di PDC Emulator , RID Master e Infrastructure Master sono al livello di dominio , questo significa che ogni dominio in una foresta puo’ avere il proprio PDC Emulator , RID o Infrastructure Master.

Per default il primo DC in una nuova foresta possiede tutti e 5 i ruoli , il primo domain controller per ogni nuovo dominio aggiunto possiederà gli altri 3 ruoli che sono per appunto al livello di dominio ovvero : PDC Emulator, RID e Infrastructure Master.

Nel dettaglio:

Schema Master (al livello di foresta)
Lo schema master contiene la lista di tutte le classi degli oggetti usati per creare tutti gli oggetti di AD come computer, user, OU ecc…
In una foresta il DC che ricopre il ruolo di schema master è solo uno , questo per evitare modifiche allo schema che possano generare conflitti:Le modifiche allo schema sono poi replicate su ogni DC della foresta.

Domain naming master (al livello di foresta)
Il Domain naming master controlla l’aggiunta o la rimozione di domini in una foresta. Il DC che ricopre il ruolo di Domain naming master evita cosi’ che si tenti di creare piu’ domini con lo stesso nome. Il DC in oggetto deve essere anche global catalog server perche’ deve necessariamente controllare sul Global Catalog se esiste già un oggetto con lo stesso nome.
Quando si usa il Wizard per aggiungere un nuovo dominio all foresta già esistente il DC su cui si sta
lavorando contatta il domain naming master per richiedere le opportune verifiche.

PDC Emulator (al livello di dominio)
Il PDC Emulator ha i seguenti ruoli:

• Funziona da PDC per i vecchi BDC con NT 4. Se un dominio contiene workstation o BDC NT 4 fa da PDC per loro. Inoltre replica i cambiamenti al database di AD verso qualsiasi BDC NT 4.
• Gestisce i cambiamenti di password per pc con NT 4, Windows 95 o 98 che devono essere scritti nel database di AD
• Minimizza i tempi di latenza per i cambiamenti di password. Se la password di un utente su un DC cambia, il DC avvisa immediatamente il PDC Emulator, questo perche’ quando un utente fa logon se l’autenticazione fallisce ad esempio per la password sbagliata il DC su cui si sta autenticando verifica se il PDC Emulator abbia la nuova password per l’utente.
• Sincronizza l’orario per tutti i DC del dominio
• Previene la possibilità di sovrascrittura delle Group Policy Object.

Relative IDentifier master (RID)
Il RID alloca blocchi di RID per ogni DC del dominio. Ogni volta che si crea un account o un gruppo gli viene assegnato un SID che è uguale per tutti gli oggetti creati nel dominio , e un RID che è univoco per ogni oggetto creato.

Il RID Master supporta della creazione di oggetti ( user, gruppi … )
Siccome AD si basa su un modello che è chiamato Multi Master un account puo’ essere creato ad esempio su un DC che non è un RID Master , quindi il DC in questione contatta il RID Master per avere il RID da assegnare all’oggetto. Se il RID Master ha esaurito RID dal pool di RID allocato allora l’oggetto non puo’ essere creato . Per verificare la dimensione del pool allocato dal RID Master si puo’ usare l’utility dcdiag.

Quando si sposta un oggetto da un dominio ad un altro l’operazione viene iniziata dal RID Master che contiene l’oggetto , questo per evitare possibili duplicazioni dell’oggetto.

Infrastracture Master
L’ Infrastructure Master è usato per aggiornare oggetti del proprio dominio che puntano ad oggetti di un altro dominio. L’Infrastructure Master NON deve mai essere lo stesso DC che ricopre il ruolo di Global Catalog altrimenti NON funziona.

Per determinare quale DC ricopre il ruolo di RID Master , PDC Emulator o Infrastructure Master si fà da:
AD User and Computers > tasto dx > Operation Master >cliccare il relativo tab

Per determinare quale DC ricopre il ruolo di Domain Naming Master si fa da:
AD Domain and Trust > tasto dx >Operation Master

Per determinare quale DC ricopre il ruolo di Schema Master:
• Registrare l’AD snap-in con il comando regsvr32.exe systemroot%\system32\schmmgmt.dll
• Creare una nuova MMC e aggiungere lo snap-in Active direcotory schema
• Il nome del DC che ricopre il ruolo di Schema Master appare facendo tasto dx su AD Schema > Operation Master nella finestra Change Schema Master

Trasferimento di un Operation Master Role:
I membri del gruppo Schema Admins possono trasferire il ruolo di Schema Master
I membri del gruppo Enterprise Admins possono trasferire il ruolo di Domain Naming Master
I membri del gruppo Domain Admins possono trasferire i ruoli di: PDC Emulator, RID e Infrastructure Master

Per trasferire il ruolo di Schema Master si fa da:
AD Schema > tasto dx > Change Domain Controller > Operation Master >change

Per trasferire il ruolo di Domain Naming Master si fa da:
AD Domains and Trusts > connect to another DC > tasto dx > Operation Master > change

Per trasferire il ruoli di PDC Emulator , RID o Infrastracture Master si fà da:
AD User and Computers > connect to another DC > tasto dx > Operation Master > selezionare il tab desiderato > change

Seizing di un Operation Master Role
Per seizing un operation master role si intende uno spostare con forza un master operation role da un DC ad un altro. Questo caso va considerato solo in presenza di un malfunzionamento Hardware come : problemi di rete , problemi hardware sul DC e nel caso si e’ sicuri che quel DC non ricopra mai piu’ quel ruolo. Per far questo si puo usare la relativa interfaccia grafica di AD oppure l’ utility da riga di comando ntdsutil.exe

La cosa importante e’ determinare quale DC ricopre o ricopriva il master operation role che si vuole spostare e prima di effettuare lo spostamente isolare dalla rete o meglio spegnere il DC che non ricoprirà piu’ quel ruolo.

La cosa piu’ grave che puo’ succedere è che si rompa il DC che ricopre il ruolo di PDC Emulator perché si perde il supporto per i computer che girano con una versione di windows precedente , si perde la gestione del tempo di latenza per l’aggiornamento delle password , si perde la sincronizzazione dell’orario tra i DC di tutto il dominio.


Gestione del database di AD
Ogni richiesta fatta ad Active Directory di aggiunta o modifca di un oggetto è considerata una singola transazione . AD ha un proprio motore chiamato Extensible Storage Engine (ESE).
Questo motore si basa sul file di log delle transazioni per assicurare l’integrità del database.

AD include i seguenti files:
Ntds.dit è il database di AD ed è presente nella directory %systemroot%NTDS. Ogni transazione è registrata nel file di log delle transazioni associatio al DB
Edb*.log è il transaction log file, il nome di default è edb.log. Ogni transaction log file è grande 10 Mbyte ed ogni volta che si riempre è rinominato in Edbnnnn.log.
Edb.chk è il check point file usato dal motore del DB di AD per tracciare i dati non ancora scritti nel database
Re1.log e Res2.log sono spazio riservato ai transaction log files è sono grandi 10 Mbyte.


Il processo di Garbage Collection
Il Garbage Collection è un processo che gira ogni 12 ore su ogni DC cancellando oggetti scaduti , “zombi” e deframmenta il database. L’intervallo di tempo è comunque modificabile.

C’e’ infatti un apposito ritardo tra il momento in cui un oggetto è marcato come cancellabile e il momento in cui viene definitivamente cancellato.Questo ritardo viene chiamato Tombstone lifetime.

Le operazioni di mantenimento del DB di AD possono essere le seguenti:

Backup del database
Restore del database
Moving del database
Deframmentazione del database

Backup del database
Il Backup del database di AD si effettua con l’utility NT Backup compresa in Windows 2000 . backuppando il system state si backuppa tutto il DB di AD ovvero:

Active Directory
La direcotory SYSVOL
Il registry
I files di start-up di Windows
Le Class registration database
Il database del server dei certificati


Restore del database di Active Directory
Ci sono diverse possibilità per il restore di AD. Una è quella di reinstallare il DC e attendere il normale processo di replicazione , l’altro è un restore di un backup fatto precedentemente.

Il restore di un backup fatto precedentemente su una cassetta puo’ essere di 2 tipi:

Non Autoritativo in caso di hardware failure
Autoritativo nel caso in cui si voglia recuperare un oggetto cancellato recentemente

In dettaglio:

Un Restore non Autoritativo ripristina la situazione fino ad un attimo prima del backup e viene usato in genere in caso di fault di un hard disk primario. In questo caso si formatta il disco nuovo si reinstalla Windows 2000 con le stesse dimensioni delle partizioni precedenti e si effettua il restore.

Un restore non autoritativo se ci sono piu’ DC nel dominio puo’ essere effettuato solo se il backup e minore del Tombstone lifetime ovvero 60 giorni.

Un Restore non Autoritativo si effettua così:

1. Si restarta il server
2. Al restart del server si entra nella modalità Directory Service Restore Mode
3. Si fa logon con l’ account per la modalità Restore Mode
4. Si usa l’utility di Backup per il restore
5. Si restarta il server

Dopo il restart AD effettua una serie di check compreso quello della consistenza del database.

Un Restore Autoritativo permette di ripristinare singoli oggetti di AD.
Usando un restore autoritativo si possono marcare specifici oggetti del db per evitare che durante la fase di replicazione da parte di un altro DC vengano sovrascritti.Un restore autoritativo avviene di solito dopo aver fatto un restore non autoritativo.

Quando si marca un oggetto li si aumenta di 100.000 unità per ogni giorno trascorso tra il backup ed il restore il Version Number di modo che durante una replicazione da parte di un altro DC avendo un numero di versione elevatissimo non venga sovrascritto.

Un restore Autoritativo si effettua così:

1. Si restarta il sever
2. Al restart del server si entra nella modalità Directory Service Restore Mode
3. Si fa logon con l’ account per la modalità Restore Mode
4. Si usa l’utility di Backup per il restore
5. Si va al prompt di dos
6. Si utilizza l’utility ntdsutil con gli appositi comandi
7. Si restarta il server


Il Moving del database di AD serve a spostare fisicamente il database in un'altra locazione perche’ ad esempio lo spazio su disco sta finendo.

Per effettuare il moving del database di AD si fa così:

1. Si restarta il sever
2. Al restart del server si entra nella modalità Directory Service Restore Mode
3. Si fa logon con l’ account per la modalità Restore Mode
4. Si va al prompt di dos
5. Si utilizza l’utility ntdsutil con gli appositi comandi
6. Si restarta il server


Deframmentazione del database di AD
Serve ad ottimizzare il database di AD. Puo’ essere effettuata sia on-line che off-line .

On-Line ottimizza le pagine all’interno del database di AD ma non riduce lo spazio occupato dal db stesso. Fa comunque parte del processo di Garbage Collection effettuare una deframmentazione ogni 12 ore
Off-Line ottimizza le pagine all’interno del database e crea una nuova copia compatta del database di AD che occupa meno spazio. Si effettua nel seguente modo:

1. Si restarta il server
2. Al restart del server si entra nella modalità Directory Service Restore Mode
3. Si fa logon con l’ account per la modalità Restore Mode
4. Si va al prompt di dos
5. Si utilizza l’utility ntdsutil con gli appositi comandi
6. Si restarta il server


Inserimento massivo di utenti in Active Directory con CSVDE

Con l'inizio dell'anno scolastico gli Amministratori di rete scolastica si trovano a dover inserire i nuovi utenti nella rete locale dell'Istituto. Tali utenti possono essere nuovi docenti o gli alunni delle classi prime. Ugualmente si dovrà procedere all'eliminazione degli utenti uscenti e alle modifiche di appartenenza.

Tale attività può comportare un impegno non indifferente, per cui è consigliabile cancellare tutti gli utenti e ricreare ex-novo le Unità organizzative, i gruppi ed i loro appartenenti.

Questa attività se fatta a mano, utilizzando il tool di Windows 2008 (o 2003) server "Utenti e Computer di Active Directory" può portare via molto tempo, per cui è necessario automatizzare le cose, utilizzando un tool che Microsoft mette a disposizione: CSVDE.

CSVDE (Comma Separated Value Data Exchange) si trova in Windows 2008 o 2003 Server ed è un programma da linea di comando. La sua funzione è quella di leggere da un file CSV gli attributi LDAP relativi agli utenti che si vogliono inserire.

Gli attributi LDAP sono, ad esempio, il nome, il cognome, il nome completo, l'account, il percorso del profilo, l'Unità organizzativa ed il dominio di appartenenza..

Quindi, disponendo di un file con i principali attributi dei nostri utenti, in pochi secondi si potrebebro inserire nel dominio centinaia, migliaia di utenti. Tutto semplice ? Non esageriamo; la cosa è un po' complicata, ma seguendo passo a passo quanto sotto, qualsiasi amministratore dei rete locale sarà in grado di farlo.

Procediamo

Per prima cosa definiamo quali attributi LDAP siano da utilizzare. La mia scelta è stata su:

CSVDE vuole che il file CSV sia impostato nel seguente formato:

ObjectClass,GivenName,SN,DN,DisplayName,SAMAccountName,UserPrincipalName,ProfilePath

con gli attributi separati da una virgola.

Quindi la prima e più corposa operazione è quelal di creare il file CSV adeguato. Ci viene in aiuto Microsoft Excel, oppure il foglio elettronico di OpenOffice.

Dando per scontato che l'Amministrazione di rete possa disporre di una tabella di Excel contenente l'elenco degli alunni con i soli tre campi: classe, nome e cognome. La classe dovrà essere inserita nella colonna A, il nome nella colonna C e il cognome nella colonna D, avendo accortezza di lasciare la prima riga vuota per l'inserimento delle etichette.

Nella riga 1, appunto, si scriveranno le seguenti etichette:

La colonna B, con etichetta Object deve essere riempita del valore "User", con le consuete procedure di riempimento di Excel, per tutti gli utenti esistenti.

A questo punto si devono costruire gli altri campi. Dando per scontato che nessuno vuol farlo a mano, ci si può aiutare con la funzione CONCATENA di Excel, con la quale creare il DN, il SAMAccountName, lo UserPrincipalName.

Il ProfilePath potrà essere composto per il primo record e copiato per tutti quelli che devono utilizzare il profilo comune.

Il DN ha una forma composta dal CN, ovvero nome e cognome, dalle Unità organizzative di appartenenza (nel caso in esame l'UO "Rete locale" contiene l'UO "OUStudenti" che contiene a sua volta le UO di ciascuna classe,nell'esempio la 1AA, quindi il nome completo del dominio, nel caso: dominio.local:

"CN=Elena Neri,OU=1AA,OU=OUStudenti,OU=Rete locale,DC=dominio,DC=local"

In questo campo le variabili sono il nome e cognome e la classe, le parti immutabili le restanti. Per questo è possibile estrapolare il valore della classe dalla cella corrispondente (colonna), il nome dalla colonna C ed il cognome dalla colonna D, concatenandoli ai valori fissi. La formula potrebbe essere questa:

=CONCATENA("""";"CN=";C2;" ";D2;",";"OU=";A2;",OU=OUStudenti,OU=Rete locale,DC=dominio,DC=local";"""")

Le quattro virgolette iniziali e finali sono indispensabili, in quanto, il campo DN deve essere racchiuso da una coppia di esse, mentre la seconda coppia è necessaria, in quanto il campo deve essere considerato un unicum.

Il DisplayName può essere costruito concatenando nome, uno spazio e cognome, con la formula:

=CONCATENA("""";C2;" ";D2;"""")

Vale lo stesso discorso per le virgolette in quanto deve essere racchiuso tra le stesse.

Identica procedura per il SAMAccountName, ma qui non servono le virgolette, trattandosi di un nome unico,pur col punto. Il minuscolo è solo una scelta personale:

=MINUSC((CONCATENA(C2;".";D2)))

Lo UserPrincipalName sarà definito concatenando il SAMAccountNAme con il dominio e la @:

=CONCATENA(G2;"@dominio.local")

Il ProfilePath dovrà essere scritto, con doppia razione di slash, in quanto nella trasformazione in CSV una serie di slash sparisce per motivi ignoti.

\\\\nomeserver\\profili\\studente 

A questo punto si può procedere alla copia delle formule su tutte le righe dei record.

Quasi siamo alla fine. Ma bisogna operare un controllo: che non esistano due nomi utente uguali e che i SAMAccountName non superino i 20 caratteri. Se non si fa questo, in fase di elaborazione da parte di CSVDE verrà un messaggio di errore e la procedura si bloccherà.

 e, quindi, è possibile creare il file CSV. Questo deve essere, però, non sotto forma di tabella, ma di righe con i campi separati da virgole:

User,Elena,Neri,"CN=Elena Neri,OU=1AA,OU=OUStudenti,OU=Rete locale,DC=dominio,DC=local","Elena Neri",elena.neri, elena.neri@dominio.local,\\\\nomeserver\\profili\\studente,512

Il sistema più semplice è quello di raccogliere tutti i campi,divisi da virgole, in un'unica cella, sempre con la funzione CONCATENA, copiare tutti i record e, successivamente copiare tutta la colonna risultante su un nuovo foglio.

  =CONCATENA(B1;",";C1;",";D1;",";E1;",";F1;",";G1;",";H1;",";I1;",";J1)

Il foglio nuovo potrà essere quindi salvato nel formato CSV con separatore di elenco.

Finito ? Ancora no. Excel, per un motivo che ignoro e che, per ora, non intendo approfondire, aggiunge nel file CSV delle virgolette inutili. Per eliminarle, ho utilizzato l'editor PSPad, oppure Wordpad o il blocco note, e con la funzione di sostituzione ho facilmente eliminato l'inutile.

A questo punto il file CSV è  pronto, può essere trasferito nel server e fatto elaborare da CSVDE.

Per fare questo, è necessario lanciare il prompt dei comandi (in Windows 2008 Server con privilegi di amministratore), e dare il comando CSVDE -i -f nomefile.csv

ove nomefile.csv è il file creato in precedenza. Se tutto sarà stato fatto per bene, tutti gli utenti verranno creati.

Una volta fatta la procedura, sarà possibile, dalla console di gestioni utenti del server,  inserirli in gruppi locali, assegnare ad essi un homefolder, modificare la password di primo accesso, attualmente vuota.

Per quanto riguarda l' homefolder e la mappatura dello stesso, è possibile utilizzare gli attributi HomeDrive (es: Z:), e HomeDirectory (es: \\\\server\\studenti\\classe\%USERNAME%), ma se la directory dove si deve creare l' homefolder, non ha permessi di scrittura per Everyone,  la creazione non avrà luogo.