Gestire Active Directory da
linea di comando
PierGiorgio Malusardi
IT Professional Evangelist –
Microsoft
Strategia dei Tool di Gestione
Metodi di Gestione
Out of band
• EMS (Remote Serial)
Remote Console
•Cmd Line /
Simple scripting
•WMIC
Remote GUI
• Terminal Server
• MMC
• Web Admin
Automated/preset
• Policy
• RIS
• Automated setup
•Para-programming/
Complex scripting
Command Line Tools Program
• Programmatori o Amministrtori sofisticati
Attenzione su gli Amministratori
•Pre-built .exe
•Pre-built .vbs
•Batch files
•Redirection / Piping
•WMIC aggiunge estensibilità
• Costruzione di propri tool con script
• Win32 APIs
• COM Objects
• Interfaccie di scripting WMI e ADSI
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 [email protected] -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








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


-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
-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
changeType: add
CN: Finance
description: Finance
UsersobjectClass: group
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,us
erPrincipalName
"CN=Scott
Bishop,OU=Employees,DC=contoso,DC=com",
user,sbishop,Bishop,Scott,[email protected]
m
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:
Ntdsutil
authoritative restore
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
Scarica

DSAdd – La sintassi