Gestire Active Directory da linea di comando PierGiorgio Malusardi IT Professional Evangelist – Microsoft
Strategia dei Tool di Gestione Metodi di Gestione Out of band Remote Console Remote GUI Automated/preset Cmd Line / Simple scripting WMIC Para-programming/ Complex scripting EMS (Remote Serial) Terminal Server MMC Web Admin Policy RIS Automated setup Command Line Tools Program Programmatori o Amministrtori sofisticati Costruzione di propri tool con script Win32 APIs COM Objects Interfaccie di scripting WMI e ADSI Attenzione su gli Amministratori Pre-built .exe Pre-built .vbs Batch files Redirection / Piping WMIC aggiunge estensibilità
I tool DS* Tool pensati per eseguire operazioni anche complesse su AD da command line o da batch Dsadd.exe Aggiunge oggetti alla directory Dsget.exe Mostra le proprietà di oggetti nella directory Dsmod.exe Modifica gli attributi selezionati di un oggetto presente nella directory Dsmove.exe Muove un ogetto dal suo container attuale in un nuova posizione nella directory Dsrm.exe Rimuove un ogetto o una completa struttura dalla directory Dsquery.exe Interroga Active Directory alla ricerca di oggetti che corrispondono a specifici criteri di ricerca
DSAdd – La sintassi DSadd Type DN [DN] [Attributi valore] [{-s Server |-d Domain}] [-u UserName][-p {Password |*}] Type: definisce il tipo di oggetto che si vuole creare User OU Computer … Attributi: definiscono le diverse proprietà dell’oggetto creato Differiscono a seconda dell’oggetto che si vuole creare DSadd User “CN=Giorgio Malusardi, OU=Milano, DC=contoso, DC=com” –SAMID piergim -UPN piergim@microsoft.com -memberof “CN=Sales, OU=Milano, DC=Contoso, DC=com” –disabled Yes
DSadd – La sintassi per User -samid SAMName -upn UPN -fn Nome -mi Iniziale -ln Cognome -display DisplayName -empid Codice Dipendente -pwd {Password | *}, * chiederà la password -desc Descrizione -memberof DN di Gruppo -office Ufficio -tel Telefono -email Email -hometel Telefono di Casa -pager Numero di Pager -mobile Numero di Cellulare -fax Numero di Fax -iptel Numero Telefono IP -webpg Pagina WEB -title Titolo -dept Dipartimento -company Società -mgr DN del Manager -hmdir HomeDirectory -hmdrv Lettera Disco Home -profile Percorso del Profilo -loscr Percorso degli Script -mustchpwd {yes | no} -canchpwd {yes | no} -reversiblepwd {yes | no} -pwdneverexpires {yes | no} -acctexpires Giorni alla Scadenza -disabled {yes | no}
DSget – La sintassi DSget Type DN [Attributi] [{-s Server |-d Domain}] [-u UserName][-p {Password |*}] Usa la stessa sintassi di DSadd Attributi non devono essere indicati dei valori Rappresentano i parametri che si vogliono avere in risposta DSget User “CN=Giorgio Malusardi, OU=Milano, DC=contoso, DC=com” –SAMID -UPN -memberof
DSmod – La sintassi dsmod Type DN [DN] [Attributi valore] [{-s Server |-d Domain}] [-u UserName][-p {Password |*}] -c Accetta la stessa sintassi di DSadd -c (Continus mode) indica di proseguire l’esecuzione del comando anche a fronte di errori Modifica i parametri indicati Per USER non sono modificabili -SAMID -MemberOF (è modificabile con il comando dsmod GROUP)
DSmod – La sintassi per GROUP DSmod group “CN=Marketing,OU=Milano,DC=Contoso,DC=Com” -secgrp no DSmod group “CN=Marketing,OU=Milano,DC=Contoso,DC=Com” -addmbr “CN=giorgio malusardi,CN=Users,DC=Contoso,DC=Com”
DSmove – La sintassi dsmove DN [-newname nuovonome] [-newparent nuovoDN] [{-s Server |-d Domain}] [-u UserName][-p {Password |*}] Sposta o rinomina un oggetto DSmove "CN=Sales, OU=Milano, DC=Contoso, DC=com" -newname "CN=Vendite, OU=Milano, DC=Contoso, DC=com“ DSmove "CN=Vendite, OU=Milano, DC=Contoso, DC=com" -newparent "CN=Sales, CN=Users, DC=Contoso, DC=com"
DSrm – La sintassi dsrm DN [DN] [-subtree [-exclude]] [-noprompt] [-c] [{-s Server |-d Domain}] [-u UserName][-p {Password |*}] -c -subtree indica di spostare anche i child se l’oggetto è un container L’aggiunta di –exclude a –subtree determina lo spostamento dei soli oggetti child e non dell’oggetto stesso
DSQuery – La sintassi dsquery object_type [{StartNode | forestroot | domainroot}] [-scope {subtree | onelevel | base}] [-o {dn | rdn | samid}] [-name Name][-desc Description] [-upn UPN] [-samid SAMName] [-inactive NumberOfWeeks][-stalepwd NumberOfDays] [-disabled] [{-s Server |-d Domain}] [-u UserName][-p {Password |*}] dsquery user “CN=Users, DC=Contoso,DC=Com” -stalepwd 7
LDIFDE Consente di aggiungere/modificare oggetti in Active Directory e di esportare intere gerarchie di oggetti Gli oggetti da aggiungere o modificare sono passati al tool usando un file di testo i diversi attributi di un oggetto sono indicati su righe diverse con copie Attributo: Valore i diversi oggetti sono indicati con blocchi di attributi separati da linee bianche
LDIFDE – La sintassi Parametri Generali -i import mode (il default è Export.) -f filename file di input o output. -s servername server a cui collegarsi -v modalità verbosa -j path locazione del file di log -t port Numero di porta per la connessione (default = 389). -? Help Parametri specifici per l’Export -d RootDN La radice della ricerca LDAP search (defaults = Naming Context) -r Filter filtro di ricerca LDAP (defaults = “(objectClass=*)”) -p SearchScope Scope della ricerca (Base/OneLevel/Subtree) -l list Lista di attributi desiderati (separati da virgola) nell’output -n Non attributi binari Parametri specifici per l’Import -k ignora gli errori “Constraint Violation” e “Object Already Exists” Credentials parameters -a UserDN credenziali in formato DN usate per eseguire il comando. es: “cn=administrator,dc=contoso,dc=com password.” -b UserName Domain Credenziali usate per eseguirce il comando. Il defualt sono le credenziali dell’utente loggato
LDIFDE – file di import DN: CN=ITsupp,CN=Users,DC=Contoso,DC=Com changeType: add CN: ITsupp description: Gruppo di supporto IT UsersobjectClass: group sAMAccountName: ITsupp DN: CN=Finance,CN=Users,DC=Contoso,DC=Com CN: Finance description: Finance sAMAccountName: Finance
CSVDE Tool da linea di comando che consente l’import e l’export di oggetti da Active Directory Usa file delimitati da virgole Una riga per ogni oggetto da importare La prima riga costituisce l’intestazione e indica quali sono gli attributi presenti nelle righe successive Non consente la modifica di oggetti già presenti in Active Directory csvde [-i] [-f file csv] [-k]
CSVDE – i parametri -i: Imposta la modalità di import (export è il default). -f FileName: indica il file da usare per l’input -k: Ignora gli errori, inclusi “object already exists,” “constraint violation,” e “attribute or value already exists” durante l’importazione
CSVDE – file di import DN,objectClass,sAMAccountName,sn,givenName,userPrincipalName "CN=Scott Bishop,OU=Employees,DC=contoso,DC=com", user,sbishop,Bishop,Scott,scott.bishop@contoso.com
NTDSUTIL Tool principe per la gestione di Active Directory Consente di eseguire operazioni difficilmente effettuabili da interfaccia grafica: Creazione di Application Partition Gestione delle partizioni Precreazione di Domini e DC per effettuare la delega di creazione dei domini Spostamento di ruoli FSMO Restore del DB di Active Directory Spostamento, verifica, compressione del DB di Active Directory (NTDS.DIT) e dei relativi Log
NTDSUTIL – ripristino autoritativo Avviare il DC in modalità Active Directory Restore Mode Effettuare un normale restore, ma non riavviare il server a termine operazione Avviare un Command Prompt e lanciare ntdsutil Al prompt di ntdsutil, digitare authoritative restore e ENTER Per ripristinare l’intero DB digitare restore database e ENTER Per ripristinare una porzione dell’albero della directory, per esempio una OU, digitare restore subtree subtreeDN e ENTER. Es. per ripristinare la OU Marketing nel dominio contoso.com: Ntdsutil authoritative restore restore subtree OU=Marketing,DC=Contoso,DC=Com Es. per ripristinare uno user account nello user container: restore subtree CN=Mark,CN=Users,DC=Contoso,DC=Com
Per Ulteriori Informazioni Help Online A-Z cmd reference - ntcmds.chm Support tool help - suptools.chm Usare c:\>HH “helpfilename.chm” per avviare da cmd WSH, VBScript & JScript - http://msdn.microsoft.com/scripting Windows Resource Kit http://www.reskit.com Management Infrastructure http://www.microsoft.com/management