21
Gestire Active Gestire Active Directory da Directory da linea di comando linea di comando PierGiorgio Malusardi PierGiorgio Malusardi IT Professional Evangelist IT Professional Evangelist – Microsoft – Microsoft

Gestire Active Directory da linea di comando PierGiorgio Malusardi IT Professional Evangelist – Microsoft

Embed Size (px)

Citation preview

Page 1: Gestire Active Directory da linea di comando PierGiorgio Malusardi IT Professional Evangelist – Microsoft

Gestire Active Directory da Gestire Active Directory da linea di comandolinea di comando

PierGiorgio MalusardiPierGiorgio MalusardiIT Professional Evangelist – IT Professional Evangelist – MicrosoftMicrosoft

Page 2: Gestire Active Directory da linea di comando PierGiorgio Malusardi IT Professional Evangelist – Microsoft

Strategia dei Tool di GestioneStrategia dei Tool di Gestione

Metodi di Gestione

Out of band Remote Console Remote GUI Automated/preset

• EMS (Remote Serial) •Cmd Line / Simple scripting•WMIC

•Para-programming/ Complex scripting

• Terminal Server• MMC• Web Admin

• Policy • RIS• Automated setup

Attenzione su gli Amministratori•Pre-built .exe•Pre-built .vbs•Batch files•Redirection / Piping •WMIC aggiunge estensibilità

• Programmatori o Amministrtori sofisticati• Costruzione di propri tool con script

• Win32 APIs• COM Objects • Interfaccie di scripting WMI e ADSI

Command Line Tools ProgramCommand Line Tools Program

Page 3: Gestire Active Directory da linea di comando PierGiorgio Malusardi IT Professional Evangelist – Microsoft

I tool DS*I tool DS* Tool pensati per eseguire operazioni anche Tool pensati per eseguire operazioni anche

complesse su AD da command line o da batchcomplesse su AD da command line o da batch Dsadd.exeDsadd.exe Aggiunge oggetti alla directory Aggiunge oggetti alla directory Dsget.exeDsget.exe Mostra le proprietà di oggetti nella Mostra le proprietà di oggetti nella

directorydirectory Dsmod.exeDsmod.exe Modifica gli attributi selezionati di un Modifica gli attributi selezionati di un

oggetto presente nella directoryoggetto presente nella directory Dsmove.exeDsmove.exe Muove un ogetto dal suo container Muove un ogetto dal suo container

attuale in un nuova posizione nella directoryattuale in un nuova posizione nella directory Dsrm.exeDsrm.exe Rimuove un ogetto o una completa Rimuove un ogetto o una completa

struttura dalla directorystruttura dalla directory Dsquery.exeDsquery.exe Interroga Active Directory alla ricerca Interroga Active Directory alla ricerca

di oggetti che corrispondono a specifici criteri di di oggetti che corrispondono a specifici criteri di ricercaricerca

Page 4: Gestire Active Directory da linea di comando PierGiorgio Malusardi IT Professional Evangelist – Microsoft

DSAdd – La sintassiDSAdd – La sintassiDSaddDSadd TypeType DNDN [DN][DN] [Attributi [Attributi valorevalore] ] [{-s [{-s Server Server |-d |-d

DomainDomain}] [-u }] [-u UserNameUserName][-p {][-p {Password Password |*}]|*}] TypeType: definisce il tipo di oggetto che si vuole : definisce il tipo di oggetto che si vuole

crearecreare UserUser OUOU ComputerComputer ……

Attributi: definiscono le diverse proprietà Attributi: definiscono le diverse proprietà dell’oggetto creatodell’oggetto creato

Differiscono a seconda dell’oggetto che si vuole Differiscono a seconda dell’oggetto che si vuole crearecreare

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

Page 5: Gestire Active Directory da linea di comando PierGiorgio Malusardi IT Professional Evangelist – Microsoft

DSadd – La sintassi per UserDSadd – La sintassi per User -samid -samid SAMNameSAMName -upn -upn UPNUPN -fn -fn NomeNome -mi -mi InizialeIniziale -ln -ln CognomeCognome -display -display DisplayNameDisplayName -empid -empid Codice DipendenteCodice Dipendente -pwd {-pwd {Password Password | *}, * | *}, *

chiederà la passwordchiederà la password -desc -desc DescrizioneDescrizione -memberof -memberof DN di GruppoDN di Gruppo -office -office UfficioUfficio -tel -tel TelefonoTelefono -email -email EmailEmail -hometel -hometel Telefono di CasaTelefono di Casa -pager -pager Numero di PagerNumero di Pager -mobile Numero di -mobile Numero di CellulareCellulare -fax -fax Numero di FaxNumero di Fax

-iptel -iptel Numero Telefono IPNumero Telefono IP -webpg -webpg Pagina WEBPagina WEB -title -title TitoloTitolo -dept -dept DipartimentoDipartimento -company -company SocietàSocietà -mgr -mgr DN del ManagerDN del Manager -hmdir -hmdir HomeDirectoryHomeDirectory -hmdrv Lettera -hmdrv Lettera Disco HomeDisco Home -profile -profile Percorso del ProfiloPercorso del Profilo -loscr -loscr Percorso degli ScriptPercorso degli Script -mustchpwd {yes | no}-mustchpwd {yes | no} -canchpwd {yes | no}-canchpwd {yes | no} -reversiblepwd {yes | no}-reversiblepwd {yes | no} -pwdneverexpires {yes | no}-pwdneverexpires {yes | no} -acctexpires -acctexpires Giorni alla Giorni alla

ScadenzaScadenza -disabled {yes | no}-disabled {yes | no}

Page 6: Gestire Active Directory da linea di comando PierGiorgio Malusardi IT Professional Evangelist – Microsoft

DSget – La sintassiDSget – La sintassi

DSgetDSget TypeType DNDN [Attributi] [Attributi] [{-s [{-s Server Server |-d |-d DomainDomain}] [-u }] [-u UserNameUserName][-p {][-p {Password Password |*}]|*}]

Usa la stessa sintassi di DSaddUsa la stessa sintassi di DSadd Attributi Attributi

non devono essere indicati dei valori non devono essere indicati dei valori Rappresentano i parametri che si vogliono Rappresentano i parametri che si vogliono

avere in rispostaavere in risposta

DSget User “CN=Giorgio Malusardi, OU=Milano, DC=contoso, DC=com” –SAMID -UPN -memberof

Page 7: Gestire Active Directory da linea di comando PierGiorgio Malusardi IT Professional Evangelist – Microsoft

DSmod – La sintassiDSmod – La sintassi

dsmoddsmod TypeType DNDN [DN][DN] [Attributi [Attributi valorevalore] ] [{-s [{-s Server Server |-d |-d DomainDomain}] [-u }] [-u UserNameUserName][-p {][-p {Password Password |*}] -c|*}] -c

Accetta la stessa sintassi di DSaddAccetta la stessa sintassi di DSadd -c-c (Continus mode) indica di proseguire (Continus mode) indica di proseguire

l’esecuzione del comando anche a fronte di erroril’esecuzione del comando anche a fronte di errori Modifica i parametri indicatiModifica i parametri indicati Per USER non sono modificabiliPer USER non sono modificabili

-SAMID-SAMID -MemberOF -MemberOF

(è modificabile con il comando dsmod GROUP)(è modificabile con il comando dsmod GROUP)

Page 8: Gestire Active Directory da linea di comando PierGiorgio Malusardi IT Professional Evangelist – Microsoft

DSmod – La sintassi per GROUPDSmod – La sintassi per GROUP

DSmod group DSmod group “CN=Marketing,OU=Milano,DC=Contoso,DC=Com” -secgrp “CN=Marketing,OU=Milano,DC=Contoso,DC=Com” -secgrp nono

DSmod group DSmod group “CN=Marketing,OU=Milano,DC=Contoso,DC=Com” -addmbr “CN=Marketing,OU=Milano,DC=Contoso,DC=Com” -addmbr “CN=giorgio malusardi,CN=Users,DC=Contoso,DC=Com”“CN=giorgio malusardi,CN=Users,DC=Contoso,DC=Com”

Page 9: Gestire Active Directory da linea di comando PierGiorgio Malusardi IT Professional Evangelist – Microsoft

DSmove – La sintassiDSmove – La sintassi

dsmovedsmove DNDN [-newname [-newname nuovonomenuovonome] [-] [-newparent nuovonewparent nuovoDNDN]] [{-s [{-s Server Server |-d |-d DomainDomain}] [-u }] [-u UserNameUserName][-p {][-p {Password Password |*}]|*}]

Sposta o rinomina un oggettoSposta 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"

Page 10: Gestire Active Directory da linea di comando PierGiorgio Malusardi IT Professional Evangelist – Microsoft

DSrm – La sintassiDSrm – La sintassi

dsrmdsrm DN [DN]DN [DN] [-subtree [-exclude]] [-[-subtree [-exclude]] [-noprompt] [-c] noprompt] [-c] [{-s [{-s Server Server |-d |-d DomainDomain}] [-u }] [-u UserNameUserName][-p {][-p {Password Password |*}] -c|*}] -c

-subtree-subtree indica di spostare anche i child indica di spostare anche i child se l’oggetto è un containerse l’oggetto è un container

L’aggiunta di L’aggiunta di –exclude–exclude a a –subtree–subtree determina lo spostamento dei soli oggetti determina lo spostamento dei soli oggetti child e non dell’oggetto stessochild e non dell’oggetto stesso

Page 11: Gestire Active Directory da linea di comando PierGiorgio Malusardi IT Professional Evangelist – Microsoft

DSQuery – La sintassiDSQuery – La sintassidsquerydsquery object_type object_type [{[{StartNode StartNode | forestroot | | forestroot | domainroot}] [-scope {subtree | onelevel | domainroot}] [-scope {subtree | onelevel | base}]base}] [-o {dn | rdn | samid}][-o {dn | rdn | samid}] [-name [-name NameName][-][-desc desc DescriptionDescription] [-upn ] [-upn UPNUPN] [-samid ] [-samid SAMNameSAMName] [-inactive ] [-inactive NumberOfWeeksNumberOfWeeks][-][-stalepwd stalepwd NumberOfDaysNumberOfDays] [-disabled]] [-disabled] [{-s [{-s Server Server |-d |-d DomainDomain}] [-u }] [-u UserNameUserName][-p ][-p {{Password Password |*}]|*}]

dsquery user “CN=Users, DC=Contoso,DC=Com” -stalepwd 7

Page 12: Gestire Active Directory da linea di comando PierGiorgio Malusardi IT Professional Evangelist – Microsoft

LDIFDELDIFDE

Consente di aggiungere/modificare Consente di aggiungere/modificare oggetti in Active Directory e di esportare oggetti in Active Directory e di esportare intere gerarchie di oggettiintere gerarchie di oggetti

Gli oggetti da aggiungere o modificare Gli oggetti da aggiungere o modificare sono passati al tool usando un file di sono passati al tool usando un file di testo testo i diversi attributi di un oggetto sono indicati i diversi attributi di un oggetto sono indicati

su righe diverse con copie Attributo: Valoresu righe diverse con copie Attributo: Valore i diversi oggetti sono indicati con blocchi di i diversi oggetti sono indicati con blocchi di

attributi separati da linee biancheattributi separati da linee bianche

Page 13: Gestire Active Directory da linea di comando PierGiorgio Malusardi IT Professional Evangelist – Microsoft

LDIFDE – La sintassiLDIFDE – La sintassi Parametri Generali Parametri Generali

-i import mode (il default è Export.)-i import mode (il default è Export.) -f -f filename filename file di input o output.file di input o output. -s -s servername servername server a cui collegarsiserver a cui collegarsi -v modalità verbosa-v modalità verbosa -j -j path path locazione del file di loglocazione del file di log -t -t port port Numero di porta per la connessione (default = 389).Numero di porta per la connessione (default = 389). -? Help-? Help

Parametri specifici per l’ExportParametri specifici per l’Export -d -d RootDN RootDN La radice della ricerca LDAP search (defaults = Naming La radice della ricerca LDAP search (defaults = Naming

Context)Context) -r -r Filter Filter filtro di ricerca LDAP (defaults = “(objectClass=*)”)filtro di ricerca LDAP (defaults = “(objectClass=*)”) -p -p SearchScope SearchScope Scope della ricerca (Base/OneLevel/Subtree)Scope della ricerca (Base/OneLevel/Subtree) -l -l list list Lista di attributi desiderati (separati da virgola) nell’outputLista di attributi desiderati (separati da virgola) nell’output -n Non attributi binari-n Non attributi binari

Parametri specifici per l’ImportParametri specifici per l’Import -k ignora gli errori “Constraint Violation” e “Object Already Exists”-k ignora gli errori “Constraint Violation” e “Object Already Exists”

Credentials parametersCredentials parameters -a -a UserDNUserDN credenziali in formato DN usate per eseguire il comando. credenziali in formato DN usate per eseguire il comando.

es: “cn=administrator,dc=contoso,dc=com es: “cn=administrator,dc=contoso,dc=com passwordpassword.” .” -b -b UserName Domain UserName Domain Credenziali usate per eseguirce il comando. Credenziali usate per eseguirce il comando.

Il defualt sono le credenziali dell’utente loggato Il defualt sono le credenziali dell’utente loggato

Page 14: Gestire Active Directory da linea di comando PierGiorgio Malusardi IT Professional Evangelist – Microsoft

LDIFDE – file di importLDIFDE – file di importDN: CN=ITsupp,CN=Users,DC=Contoso,DC=ComDN: CN=ITsupp,CN=Users,DC=Contoso,DC=ComchangeType: addchangeType: addCN: ITsuppCN: ITsuppdescription: Gruppo di supporto ITdescription: Gruppo di supporto ITUsersobjectClass: groupUsersobjectClass: groupsAMAccountName: ITsuppsAMAccountName: ITsupp

DN: CN=Finance,CN=Users,DC=Contoso,DC=ComDN: CN=Finance,CN=Users,DC=Contoso,DC=ComchangeType: addchangeType: addCN: FinanceCN: Financedescription: Finance description: Finance UsersobjectClass: groupUsersobjectClass: groupsAMAccountName: FinancesAMAccountName: Finance

Page 15: Gestire Active Directory da linea di comando PierGiorgio Malusardi IT Professional Evangelist – Microsoft

CSVDECSVDE Tool da linea di comando che consente Tool da linea di comando che consente

l’import e l’export di oggetti da Active l’import e l’export di oggetti da Active DirectoryDirectory

Usa file delimitati da virgoleUsa file delimitati da virgole Una riga per ogni oggetto da importareUna riga per ogni oggetto da importare La prima riga costituisce l’intestazione e La prima riga costituisce l’intestazione e

indica quali sono gli attributi presenti nelle indica quali sono gli attributi presenti nelle righe successiverighe successive

Non consente la modifica di oggetti già Non consente la modifica di oggetti già presenti in Active Directorypresenti in Active Directory

csvde [-i] [-f file csv] [-k]

Page 16: Gestire Active Directory da linea di comando PierGiorgio Malusardi IT Professional Evangelist – Microsoft

CSVDE – i parametriCSVDE – i parametri

-i: Imposta la modalità di import (export è il -i: Imposta la modalità di import (export è il default). default).

-f -f FileNameFileName: indica il file da usare per : indica il file da usare per l’inputl’input

-k: Ignora gli errori, inclusi “object already -k: Ignora gli errori, inclusi “object already exists,” “constraint violation,” e “attribute or exists,” “constraint violation,” e “attribute or value already exists” durante value already exists” durante l’importazionel’importazione

Page 17: Gestire Active Directory da linea di comando PierGiorgio Malusardi IT Professional Evangelist – Microsoft

CSVDE – file di importCSVDE – file di import

DN,objectClass,sAMAccountName,sn,givenName,usDN,objectClass,sAMAccountName,sn,givenName,userPrincipalNameerPrincipalName

"CN=Scott "CN=Scott Bishop,OU=Employees,DC=contoso,DC=com", Bishop,OU=Employees,DC=contoso,DC=com", user,sbishop,Bishop,Scott,[email protected],sbishop,Bishop,Scott,[email protected]

Page 18: Gestire Active Directory da linea di comando PierGiorgio Malusardi IT Professional Evangelist – Microsoft

NTDSUTILNTDSUTIL Tool principe per la gestione di Active Tool principe per la gestione di Active

DirectoryDirectory Consente di eseguire operazioni difficilmente Consente di eseguire operazioni difficilmente

effettuabili da interfaccia grafica:effettuabili da interfaccia grafica: Creazione di Application PartitionCreazione di Application Partition Gestione delle partizioniGestione delle partizioni Precreazione di Domini e DC per effettuare la Precreazione di Domini e DC per effettuare la

delega di creazione dei dominidelega di creazione dei domini Spostamento di ruoli FSMOSpostamento di ruoli FSMO Restore del DB di Active DirectoryRestore del DB di Active Directory Spostamento, verifica, compressione del DB di Spostamento, verifica, compressione del DB di

Active Directory (NTDS.DIT) e dei relativi LogActive Directory (NTDS.DIT) e dei relativi Log

Page 19: Gestire Active Directory da linea di comando PierGiorgio Malusardi IT Professional Evangelist – Microsoft

NTDSUTIL – ripristino autoritativoNTDSUTIL – ripristino autoritativo

Avviare il DC in modalità Active Directory Restore ModeAvviare il DC in modalità Active Directory Restore Mode Effettuare un normale restore, ma non riavviare il server a termine Effettuare un normale restore, ma non riavviare il server a termine

operazioneoperazione Avviare un Command Prompt e lanciare Avviare un Command Prompt e lanciare ntdsutilntdsutil Al prompt di ntdsutil, digitare Al prompt di ntdsutil, digitare authoritative restoreauthoritative restore e ENTER e ENTER Per ripristinare l’intero DB digitare Per ripristinare l’intero DB digitare restore database restore database e ENTER e ENTER Per ripristinare una porzione dell’albero della directory, per esempio Per ripristinare una porzione dell’albero della directory, per esempio

una OU, digitare una OU, digitare restore subtree restore subtree subtreeDN subtreeDN e ENTER. e ENTER. Es. per ripristinare la OU Marketing nel dominio contoso.com: Es. per ripristinare la OU Marketing nel dominio contoso.com:

Ntdsutil Ntdsutil authoritative restore authoritative restore restore subtree OU=Marketing,DC=Contoso,DC=Comrestore subtree OU=Marketing,DC=Contoso,DC=Com

Es. per ripristinare uno user account nello user container: Es. per ripristinare uno user account nello user container: NtdsutilNtdsutilauthoritative restoreauthoritative restorerestore subtree CN=Mark,CN=Users,DC=Contoso,DC=Comrestore subtree CN=Mark,CN=Users,DC=Contoso,DC=Com

Page 20: Gestire Active Directory da linea di comando PierGiorgio Malusardi IT Professional Evangelist – Microsoft

Per Ulteriori InformazioniPer Ulteriori Informazioni

Help OnlineHelp Online A-Z cmd reference - ntcmds.chmA-Z cmd reference - ntcmds.chm Support tool help - suptools.chm Support tool help - suptools.chm Usare c:\>HH “helpfilename.chm” per Usare c:\>HH “helpfilename.chm” per

avviare da cmd avviare da cmd WSH, VBScript & JScript -WSH, VBScript & JScript -

http://msdn.microsoft.com/scriptinghttp://msdn.microsoft.com/scripting Windows Resource KitWindows Resource Kit

http://www.reskit.comhttp://www.reskit.com Management InfrastructureManagement Infrastructure

httphttp://www.microsoft.com/://www.microsoft.com/managementmanagement

Page 21: Gestire Active Directory da linea di comando PierGiorgio Malusardi IT Professional Evangelist – Microsoft