Get-AdUser è un cmdlet, ossia un comando, di Powershell, che è utile nel caso si debba trovare gli utenti di Active Directory (AD) nel dominio. Ricordiamo che PowerShell è un interprete di comandi basato su riga di comando integrato in tutti i sistemi Windows più recenti, utile per la gestione della configurazione e dell’automazione delle attività multipiattaforma.
Pensata inizialmente come strumento al servizio degli amministratori di sistema, grazie anche alla sua potenza e versatilità, PowerShell si lega sempre più anche con le versioni consumer di Windows dopo essere stata ampiamente usata sui server e sul cloud (si pensi alla piattaforma Microsoft Azure); supporta tutti i comandi del tradizionale prompt dei comandi (cmd) e riconosce molti comandi Linux/Unix.
Grazie a PowerShell e alle cmdlet, il lavoro svolto in un’interfaccia grafica attraverso molte finestre e clic può essere sostituito con un unico semplice comando. Oltre a supportare comandi standard PowerShell supporta l’utilizzo di un linguaggio di scripting simile al C#, con molte funzionalità dedicate agli esperti.
Permette di eseguire ogni genere di operazione, anche quelle apparentemente più complesse: in questo caso ci viene in aiuto nella gestione degli utenti del nostro dominio. Gli account utente vengono assegnati a dipendenti, amministratori di sistema e ad altre risorse. Grazie a Get-ADUser saremo in grado di ricavare tutte le informazioni riguardanti gli utenti del nostro dominio.
Inoltre, attraverso filtri e pipeline potremo estenderne l’utilizzo a molte delle esigenze sistemistiche quotidiane. Nonostante sia possibile ricavare le informazioni di un utente anche attraverso l’utilizzo di strumenti disponibili anche con interfaccia grafica, l’utilizzo di tool da riga di comando come Powershell permette di estendere ad un gruppo di utenti l’analisi, come pure si dovesse basare sull’intero dominio: insomma permette una maggiore duttilità di utilizzo.
Iniziamo ad usare il cmdlet
Il comando Get-AdUser ha uno scopo: fornire quante più opzioni possibili per trovare gli utenti del dominio. Nel caso si conosca già il nome utente da cercare, è possibile usare il parametro identity in questa maniera:
Get-ADUser -identity nomeutente, dove nomeutente è il nome di login nel dominio
Il parametro -identity consente di fornire uno dei quattro diversi identificatori: distinguishedName, samAccountName, GUID, SID. e restituisce un set di attributi AD per ogni account utente.
Get-ADUser -Filter ‘Name -like “*”‘ in questo esempio il comando estrae tutti gli utenti presenti in Active Directory con le proprietà di default.
Come vedete, per ogni utente darà come risultato questi attributi:
- DistinguishedName
- Enabled
- GiveName
- Name
- ObjectClass
- ObjectGUID
- SamAccountName
- SID
- Surname
- UserPrincipalName
Get-ADUser Davide -Properties * In questo esempio il cmdlet restituisce tutte le informazioni disponibili per l’utente Davide
Filtriamo l’output
Come abbiamo detto prima, l’utilizzo di filtri e pipeline permette di ottenere risultati personalizzati nelle ricerche in base alle nostre specifiche esigenze.
Qui come esempio è la ricerca in Active Directory degli account non attivi.
Get-ADUser -Filter {Enabled -eq “False”}
Fornendo un filtro come input, PowerShell restituisce tutti gli utenti nel dominio che corrispondono al filtro selezionato:
occorre specificare una stringa di query che recuperi gli oggetti di nell’Active Directory. Questa stringa deve usare la sintassi del linguaggio di espressione di PowerShell, la quale fornisce un supporto avanzato per la conversione dei tipi per i tipi di valore ricevuti dal parametro Filter. La sintassi utilizza una rappresentazione in ordine, il che significa che l’operatore è posto tra l’operando e il valore.
Se vogliamo limitare la ricerca ad una specifica OU del dominio dovremo impostare un filtro, in questa maniera
Get-Aduser-SearchBase OU. L’utilizzo del parametro SearchBase consente di iniziare a cercare un account utente in un’unità organizzativa specifica. Il parametro SearchBase accetta il nome distinto (DN) di un’unità organizzativa.
Output
Utilizzando il seguente comando possiamo ottenere un elenco del set predefinito di proprietà di un oggetto ADUser
Get-ADUser<nomeutente>| Get-Member mentre per ottenere un elenco delle proprietà più comunemente utilizzate di un oggetto ADUser utilizzare il seguente comando: Get-ADUser<nomeutente>-Properties Extended | Get-Member
Come abbiamo visto, l’utilizzo di Get-ADUser e, più in generale, di Powershell, semplifica notevolmente l’aspetto gestionale di un dominio AD: con essi è possibile creare comandi che automaticamente elaborano per noi informazioni e che ci automatizzano molte procedure, evitandoci di utilizzare molte finestre di dialogo dell’interfaccia grafia.
Per impartire i comandi giusti, tuttavia, occorre conoscere bene il linguaggio di Powershell: per evitare possibili errori e di creare malfunzionamenti del sistema, occorre affidarsi ad esperti del settore. Nexsys, con la sua profonda conoscenza del mondo IT, sicuramente può fornirti consulenza in merito di gestione della infrastruttura; non solo durante la progettazione, Nexsys ti segue in tutte le fasi successive, con la gestione dell’hardware ed il controllo delle risorse disponibili.
Inoltre, propone corsi per amministratori IT con lo scopo di insegnare le competenze amministrative fondamentali necessarie per implementare e supportare Windows Server nella maggior parte delle organizzazioni, quindi è dedicato a coloro che saranno responsabili della gestione dell’identità, del networking e della sicurezza della infrastruttura.