ecco l'elenco degli articoli di questa mini-serie:
Prima parte
Seconda parte
Terza parte
Quarta parte
Oggi parliamo di DSGET
Dsget è uno strumento utilissimo per ottenere dettagli circa un oggetto active directory.Ha diverse "flavour":
dsget user
dsget OU
dsget group
dsget contact
dsget ....
In sintesi, per ogni "gusto" di dsget si possono ottenere diverse informazioni circa uno o più oggetti di una determinata tipologia.
Per un elenco delle proprietà che possono essere recuperate, per ciascun tipo di oggetto, potete lanciare il comando seguito da /? o -? .Come ad esempio:
dsget group -?
Chiaramente non andremo a sviscerare tutte le possibilità offerte da dsget, ma prenderemo ad esempio una situazione in cui è necessario ottenere delle informazioni in modo automatico circa un oggetto di AD di tipo user.
Monitorare un utente o un set di utenti
Mettiamo il caso di dover periodicamente controllare una o più proprietà di un utente o di un set di utenti, ottenendo un elenco di questi utenti e le corrispondenti proprietà che deve finire in un report.Per fare questo possiamo utilizzare il comando dsget user, passando come parametro il domain name dell'utente (il suo DN. Per sapere cosa è il DN e come cercarlo con dsquery in base al filtro desiderato, rimando al primo articolo di questa mini-serie).
Ecco un esempio:
dsget user "CN=Castelli Diego,OU=Personale,OU=Utenti,OU=VERONA,DC=Miodominio,DC=local" -fn -ln -mobile -hmdrv -mustchpwd
in questo esempio recuperiamo alcune proprietà dell'oggetto utente :
- fn : First Name
- ln : Last Name
- mobile: numero di cellulare
- hmdrv: Home Drive
- mustchpwd: se l'utente è tenuto a modificare la password all'accesso successivo.
Bene, adesso facciamo finta di dover monitorare tutti gli utenti che sono sotto una determinata OU, su base periodica, con il nostro script.
Siccome con dsget user SENZA specificare il DN utente è possibile ottenere TUTTI gli utenti di AD, ma a noi interessano SOLO quelli di una specifica OU, facciamo "parlare" i comandi dsquery e dsget, utilizzando la pipe, come segue:
dsquery user "OU=Personale,OU=Utenti,OU=VERONA,DC=Miodominio,DC=local" | dsget user -fn -ln -mobile -hmdrv -mustchpwd
ed ecco che otteniamo un bell'elenco:
Questo è solo un esempio sciocco di quello che è possibile fare con dsget... il limite è, come al solito, la fantasia....
Happy Scripting.
P.S.
Le proprietà che si possono ottenere sono davvero tante. Incollo qui l'output del comando dsget user -?, per completezza.C:\Windows\system32>dsget user -?
Descrizione: visualizza le varie proprietà di un utente nella directory.
Esistono due varianti del comando. La prima variante
consente di visualizzare le proprietà di più utenti. La
seconda variante consente di visualizzare le informazioni
sull'appartenenza al gruppo di un singolo utente.
Sintassi: dsget user
[-ln] [-display] [-fnp] [-lnp] [-displayp] [-effectivepso]
[-empid] [-desc] [-office] [-tel] [-email]
[-hometel] [-pager] [-mobile] [-fax] [-iptel] [-webpg]
[-title] [-dept] [-company] [-mgr] [-hmdir] [-hmdrv]
[-profile] [-loscr] [-mustchpwd] [-canchpwd]
[-pwdneverexpires] [-disabled] [-acctexpires]
[-reversiblepwd] [-part
[{-s
[-p {
dsget user
[{-s
[-p {
[{-uc | -uco | -uci}]
Parametri:
Valore Descrizione
o più utenti da visualizzare. Se omessi, gli oggetti
di destinazione verranno recuperati dall'input standard
(stdin) per supportare il piping dell'output di un altro
comando come input di questo comando. Confrontare con il
-dn Mostra il DN dell'utente.
-samid Mostra il nome account SAM dell'utente.
-sid Mostra l'ID di sicurezza (SID) dell'utente.
-upn Mostra il nome dell'entità dell'utente.
-fn Mostra il nome dell'utente.
-mi Mostra le iniziali dell'utente.
-ln Mostra il cognome dell'utente.
-display Mostra il nome visualizzato dell'utente.
-fnp Mostra il nome fonetico dell'utente.
-lnp Mostra il cognome fonetico dell'utente.
-displayp Mostra il nome visualizzato fonetico dell'utente.
-effectivepso Mostra l'oggetto impostazioni password effettive
dell'utente.
-empid Mostra l'ID dipendente dell'utente.
-desc Mostra la descrizione dell'utente.
-office Mostra l'ubicazione dell'ufficio dell'utente.
-tel Mostra il numero di telefono dell'utente.
-email Mostra l'indirizzo di posta elettronica dell'utente.
-hometel Mostra il numero di telefono dell'abitazione dell'utente.
-pager Mostra il numero del cercapersone dell'utente.
-mobile Mostra il numero del telefono cellulare dell'utente.
-fax Mostra il numero di fax dell'utente.
-iptel Mostra il numero di telefono IP dell'utente.
-webpg Mostra l'indirizzo URL della pagina Web dell'utente.
-title Mostra la posizione dell'utente.
-dept Mostra il reparto dell'utente.
-company Mostra le informazioni sulla società dell'utente.
-mgr Mostra il manager dell'utente.
-hmdir Mostra la home directory dell'utente.
Visualizza la lettera di unità alla quale è associata
la home directory dell'utente se il percorso
di tale directory è un percorso UNC.
-hmdrv Mostra la lettera dell'unità home
dell'utente se la home directory è un percorso UNC.
-profile Mostra il percorso del profilo dell'utente.
-loscr Mostra il percorso dello script di accesso dell'utente.
-mustchpwd Indica se l'utente deve cambiare la password
all'accesso successivo. Visualizza Yes o No.
-canchpwd Indica se l'utente può cambiare la password.
Visualizza Yes o No.
-pwdneverexpires Indica se la password utente non ha scadenza.
Visualizza Yes o No.
-disabled Indica se l'account utente è disabilitato per
l'accesso o meno. Visualizza Yes o No.
-acctexpires Mostra la data di scadenza dell'account utente.
Valori visualizzati: una data se è stata impostata una
scadenza per l'account o la stringa "never"
se l'account non ha scadenza.
-reversiblepwd Indica se è consentita l'archiviazione della password
utente tramite crittografia reversibile (yes o no).
-memberof Visualizza i gruppi di cui l'utente è membro.
-expand Visualizza un elenco di gruppi espanso in
modo ricorsivo di cui l'utente è membro.
{-s
-s
controller di dominio Active Directory o di AD LDS
con il nome
-d
di dominio Active Directory nel dominio
Impostazione predefinita: un controller di dominio
Active Directory nel dominio di accesso.
-u
Impostazione predefinita: l'utente connesso.
Il nome utente può essere specificato come nome utente,
dominio\nome utente o nome dell'entità utente (UPN).
-p {
verrà richiesta una password.
-c Modalità operativa continua: segnala gli errori ma
continua con l'oggetto successivo nell'elenco degli
argomenti quando vengono specificati più oggetti di
destinazione. Senza questa opzione, il comando termina
al primo errore.
-q Modalità non interattiva: elimina tutto l'output
diretto all'output standard.
-L Visualizza le voci del set dei risultati della ricerca
in formato elenco.
Impostazione predefinita: formato tabella.
{-uc | -uco | -uci} -uc Specifica che l'input da o l'output verso una pipe
è in formato Unicode.
-uco Specifica che l'output verso una pipe o un file
è in formato Unicode.
-uci Specifica che l'input da una pipe o un file
è in formato Unicode.
-part
Esegue la connessione a una partizione di directory
il cui nome distinto è
-qlimit Visualizza la quota effettiva dell'utente all'interno
della partizione di directory specificata.
-qused Visualizza la quantità di quota utilizzata dall'utente
all'interno della partizione di directory specificata.
Nessun commento:
Posta un commento
I commenti sono soggetti a moderazione, prima di essere pubblicati.
Qualsiasi contenuto illecito, immorale o che io ritenga (arbitrariamente) offensivo od inappropriato, verrà cancellato.