Se hai bisogno di trovare gli utenti di Active Directory (AD) nel tuo dominio, ecco il comando Get-AdUser di Powershell. Gli account utente vengono assegnati a dipendenti, account di servizio e altre risorse. Prima che tu te ne accorga, diventa difficile gestire gli account utente di AD.
Utilizzando il cmdlet Get-AdUser di PowerShell, puoi ottenere gli utenti di AD in molti modi diversi. In questo articolo, imparerai alcuni di questi modi e come utilizzare questo comodo cmdlet.
Gestisci e genera report su Active Directory, Exchange e Microsoft 365 con ManageEngine ADManager Plus. Scarica la versione di prova gratuita!
Prerequisiti
Per utilizzare gli esempi del cmdlet Get-AdUser trattati in questo articolo, assicurati di avere quanto segue:
- Su un PC Windows connesso a un dominio AD
- Accesso come utente di un account AD
- Installato il modulo di Active Directory di PowerShell
Trovare un account utente con l’opzione Identity
Il cmdlet Get-AdUser
ha un solo scopo e uno scopo soltanto. Esiste per fornire il maggior numero possibile di opzioni per trovare gli utenti del dominio. Se conosci già il nome utente da cercare, puoi utilizzare il parametro Identity
.
Il parametro Identity
ti consente di fornire uno dei quattro identificatori diversi.
- distinguishedName (DN)
- samAccountName
- GUID
- SID
Di seguito puoi vedere alcuni esempi di ricerca di un account utente utilizzando diversi identificatori. Nota che restituisce un insieme di attributi AD per ciascun account utente.
L’attributo più comune da utilizzare per il parametro
Identity
sarà l’attributosamAccountName
.
Il filtro Get-ADUser
Se hai bisogno di trovare più di un utente del dominio o non conosci un identificatore, utilizza un filtro. Per farlo, hai a disposizione un paio di parametri chiamati Filter
e LDAPFilter
.
Ciascun parametro di filtro consente all’utente di fornire un’istruzione condizionale. Quando questa condizione viene soddisfatta, Get-AdUser
restituirà gli account utente corrispondenti a quella condizione.
Il parametro più comune per filtrare gli utenti è Filter
. Il parametro Filter
ti consente di creare condizioni simili alla sintassi del filtro del comando PowerShell Where-Object
.
Il parametro Filter
utilizza un linguaggio chiamato sintassi del linguaggio di espressione PowerShell. Questo linguaggio è simile a quello che si utilizzerebbe con Where-Object
ma non del tutto. Per una spiegazione su come utilizzare questo filtro, consulta questo articolo su filtri Active Directory e LDAP.
Di seguito è riportato un esempio di utilizzo del parametro Filter
. Questo esempio fornisce un attributo AD (givenName
in questo caso) e imposta una condizione. Il filtro consente di restituire solo gli utenti che hanno un givenName
uguale a Adam
.
L’altra opzione di filtraggio è LDAPFilter
, che non verrà trattata in questo articolo. Per ulteriori informazioni sul LDAPFilter
e sulla sua sintassi, consulta questo articolo su filtri Active Directory e LDAP.
Utilizzare Get-AdUser per unità organizzative
Fornendo un’identità o un filtro, PowerShell restituisce tutti gli utenti nel dominio che corrispondono ai criteri. Non limita per unità organizzative. Dovrai impostare un “filtro” per Get-AdUser
per filtrare per unità organizzativa utilizzando Get-Aduser -SearchBase <OU>
.
Utilizzando il parametro SearchBase
, puoi iniziare a cercare un account utente in una specifica unità organizzativa. Il parametro SearchBase
accetta il nome distintivo (DN) dell’unità organizzativa.
Ad esempio, puoi trovare tutti gli utenti nell’unità organizzativa MyUsers come mostrato di seguito. Utilizzando il Filter
di *
significa corrispondere a tutti gli account utente.
Forse vuoi solo trovare gli account utente in una singola OU ed escludere eventuali sottouffici. In tal caso, potresti utilizzare i parametri SearchBase
e SearchScope
. Il parametro SearchScope
definisce la profondità nella gerarchia di OU in cui desideri cercare.
Ad esempio, se desideri trovare tutti gli account utente in una OU e in tutte le sottouffici, utilizzerai il valore 1
per il parametro SearchScope
. Se desideri cercare anche in tutte le sottouffici e i sottosottouffici, utilizzerai il valore 2
.
Ecco un esempio di ricerca degli account utente nella OU MyUsers e in tutte le sottouffici ad essa collegate.
Uso di credenziali alternative
Per impostazione predefinita, Get-AdUser
verrà eseguito nel contesto dell’utente connesso. Ma è anche possibile fornire credenziali alternative utilizzando il parametro Credential
.
Per autenticarsi con credenziali alternative, crea un oggetto PSCredential utilizzando Get-Credential
come mostrato di seguito:
Per ulteriori informazioni sulle credenziali, consulta Using the PowerShell Get-Credential cmdlet and all things credentials.
Il parametro delle proprietà di Get-AdUser di PowerShell
Quando esegui Get-AdUser
, vedrai immediatamente che vengono restituiti solo alcuni attributi. Noterai anche che anche quando l’output viene inviato in input a Select-Object -Property *
, non vengono restituiti tutti gli attributi.
Per utilizzare PowerShell per ottenere gli attributi degli utenti AD, utilizzare il parametro Property
. Questo parametro accetta uno o più attributi separati da virgola da visualizzare con l’output.
Di seguito vedrai un esempio dell’utilizzo di Get-AdUser
per trovare tutte le proprietà di tutti gli account utente con un givenName
di Adam
. L’output è troncato ma vedrai altri attributi familiari come l’indirizzo email, le proprietà della password e altro qui.
Gestisci e segnala Active Directory, Exchange e Microsoft 365 con ManageEngine ADManager Plus. Scarica la versione di prova gratuita!
Riepilogo
Il cmdlet Get-ADUser
è un comando utile per trovare gli account utente AD, creare report e altro ancora. È un ottimo modo per estrarre gli utenti AD da un dominio. Per una descrizione dettagliata di Get-AdUser
e tutti i parametri, leggere il contenuto della guida eseguendo Get-Help Get-AdUser
.
Per molti altri esempi su come utilizzare Get-AdUser
, consultare l’articolo del blog Active Directory Scripts Galore: Vieni a prenderli!.