Come utilizzare PowerShell Get-ADUser

Il cmdlet Get-ADUser è uno strumento molto versatile utilizzato per ottenere gli utenti di Active Directory. Se è necessario identificare utenti AD specifici, è possibile utilizzare valori come il nome dell’account SAM per farlo. Oppure puoi utilizzare il parametro Proprietà quando hai bisogno di informazioni dettagliate su uno o più utenti.

Allo stesso modo, quando hai a che fare con un gran numero di oggetti utente, il parametro Filter è utile per ottenere utenti AD in base a determinati filtri come Email, Città, Titolo, ecc. Combinato con strumenti come ordinamento ed esportazione, Get-ADUser rende l’utente gestione in domini molto conveniente.

Sommario

Se volete continuare a leggere questo post su "[page_title]" cliccate sul pulsante "Mostra tutti" e potrete leggere il resto del contenuto gratuitamente. ebstomasborba.pt è un sito specializzato in Tecnologia, Notizie, Giochi e molti altri argomenti che potrebbero interessarvi. Se desiderate leggere altre informazioni simili a [page_title], continuate a navigare sul web e iscrivetevi alle notifiche del blog per non perdere le ultime novità.

Seguir leyendo


Requisiti di PowerShell Get-ADUser

Sui controller di dominio, il comando Get-ADUser funziona ovviamente per impostazione predefinita. Ma se provi a eseguire questo comando su altri sistemi che fanno parte del dominio AD , potresti riscontrare l’errore Get-ADUser non riconosciuto .

Questo perché devi prima installare il componente RSAT AD Puoi farlo con Add-WindowsCapability –online –Name "Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0" . Una volta eseguita questa operazione, puoi utilizzare Get-ADUser su qualsiasi sistema.

Non sarai nemmeno limitato agli account amministratore di dominio; qualsiasi account utente AD autorizzato funzionerà. Una cosa da ricordare è che mentre gli account non amministratori possono recuperare la maggior parte degli attributi degli oggetti utente utilizzando questo comando, alcune informazioni sensibili potrebbero essere accessibili solo agli amministratori di dominio.

Parametri Get-ADUser

Get-ADUser utilizza principalmente tre parametri per recuperare gli oggetti utente: Identity, Filter e LDAPFilter.

Identity recupera un oggetto utente utilizzando un valore specifico come il nome distinto o il GUID. Ciò è utile quando è necessario trovare un oggetto utente e ricordare il valore richiesto.

Il filtro restituisce un elenco di oggetti utente in base alle query selezionate. Nei casi in cui è necessario ottenere utenti AD la cui password è scaduta o che non hanno effettuato l’accesso nelle ultime 2 settimane e così via, il filtro può essere utile. È possibile restringere ulteriormente i risultati solo agli oggetti utente di server specifici, unità organizzative specifiche e così via.

LDAPFilter utilizza anche stringhe di query per filtrare gli oggetti utente. La differenza è che, a differenza di Filter che segue la sintassi di PowerShell, LDAPFilter utilizza la propria sintassi di query LDAP (attributo e valore). Ciò significa che ha una leggera curva di apprendimento, ma lo troverai uno strumento utile una volta che ti ci abitui.

Ci sono anche altri parametri utili come SearchBase e SearchScope che tratteremo nei nostri esempi. Ti consigliamo di fare riferimento alla documentazione di Microsoft se desideri controllare l’elenco completo dei parametri, ma i tre precedenti sono quelli su cui ci concentreremo in questo articolo.

Identità

Identity restituisce un singolo oggetto utente AD utilizzando una delle seguenti proprietà:

  • Nome distinto (DN)
  • GUIDoggetto
  • objectSid (SID o identificatore di sicurezza)
  • NomeAccount Sam

Supponiamo che tu abbia bisogno di dettagli su un utente di nome Ava. Supponendo che il suo SamAccountName sia ava, puoi recuperare l’oggetto utente con Get-ADUser -Identity ava .

Questo comando restituisce solo 10 proprietà principali. Se è necessario l’elenco completo delle proprietà per un oggetto utente, è necessario utilizzare invece Get-ADUser -Identity ava -Properties * .

Filtro

Poiché le persone in genere non ricordano i valori delle proprietà richiesti per il parametro Identity, Filter tende ad essere utilizzato più comunemente. Filter specifica una stringa di query che segue la sintassi di PowerShell Expression Language per recuperare gli oggetti utente di Active Directory. In quanto tale, l’operatore si trova tra l’operando e il valore.

Un esempio di base potrebbe essere Get-AdUser -Filter "Name -like '*a*'" , dove Name è l’operando, like è l’operatore e a è il valore. Questo comando restituisce tutti gli oggetti utente che contengono la lettera a nel loro nome.

Un altro comando utile è Get-ADUser -Filter * che recupera tutti gli oggetti AD.

Ora, ecco l’elenco degli operatori di filtro:

Operatore Funzione
eq Uguale a
ge Maggiore o uguale a
le Minore o uguale a
no Non uguale a
ca Approssimativamente uguale a
gt Più grande di
lt Meno di
Piace Come
non come Non come
E Tutte le clausole devono essere vere
O Qualsiasi clausola dovrebbe essere vera
non La clausola deve essere falsa
gruppo musicale AND a bit
bor OR bit a bit

Come affermato in precedenza, l’utilizzo Get-ADUser -Properties * restituisce l’elenco completo delle proprietà. È possibile controllare questo elenco per tutte le proprietà accettabili che è possibile utilizzare per filtrare l’output. Ma per ora, eccone alcuni di uso comune:

  • Data di scadenza dell’account
  • Città
  • Azienda
  • Paese
  • Prefisso internazionale
  • Dipartimento
  • Descrizione
  • Indirizzo e-mail
  • ID Dipendente
  • Impiegato numero
  • Abilitato
  • Iniziali
  • Conteggio accessi
  • Nome
  • Password scaduta
  • NomeAccount Sam
  • Stato
  • Titolo

Usando questi operatori e proprietà, puoi creare vari tipi di filtri. Ad esempio, per ottenere solo gli utenti con Tech nella loro descrizione, puoi utilizzare Get-ADUser -Filter "Description -like 'Tech'" . Per elencare solo gli utenti AD attivi, devi utilizzare Get-ADUser -Filter 'Enabled -eq $true'

Allo stesso modo, puoi combinare i comandi per elencare gli utenti AD attivi che hanno Tech nella loro descrizione come tale:
Get-ADUser -Filter {Description -like 'Tech' -and Enabled -eq $true}

In un account non amministratore, potresti riscontrare un errore permanente se non disponi dell’autorizzazione per eseguire l’attività. In questo caso, puoi utilizzare l’opzione Credential per eseguire il comando con credenziali diverse come ad esempio:
Get-ADUser -Filter * -Credential ava

Infine, poiché Filter restituisce in genere molti oggetti AD, è possibile ottimizzare ulteriormente l’output specificando i valori esatti delle proprietà di cui si ha bisogno. Utilizzare il parametro Properties per recuperare prima i valori, quindi utilizzare l’opzione Select-Object per visualizzare solo le proprietà specificate.
Get-ADUser -Filter * -Properties Name, Initials | Select-Object Name, Initials

LDAPFilter

Le clausole LDAP seguono il formato (ADAttribute Operator Value). In particolare, utilizza i seguenti operatori:

Operatore Funzione
= Uguale a
>= Maggiore o uguale a
<= Minore o uguale a
~= Approssimativamente uguale a
& AND booleano
| OR booleano
! Booleano NON

Diamo un’occhiata ad alcuni esempi di base. Il seguente comando restituisce oggetti AD i cui nomi terminano con era:
Get-ADUser -LDAPFilter "(name=*era)"

Per ottenere oggetti che non includono Tech nella loro descrizione:
Get-ADUser -LDAPFilter '(!(description=Tech))'

Per combinare più clausole in modo da ottenere oggetti con A nel nome, ma senza Tech nella descrizione:
Get-ADUser -LDAPFilter '(&(!(description=Tech))(cn=A))'

Esempi utili di Get-ADUser

A questo punto dovresti avere un controllo sull’utilizzo di base di Get-ADUser. Abbiamo elencato altri esempi di alcuni casi d’uso comuni qui che dimostreranno altri parametri e scenari utili.

  • Per ottenere l’output in formato tabella, utilizzare Format-Table o ft:
    Get-ADUser -Filter * | Format-Table
  • Per ottenere oggetti da un contenitore specifico, utilizza SearchBase:
    Get-ADUser -Filter * -SearchBase "OU=Cali,OU=Locations,DC=mylab,DC=local"
  • Per portare gli oggetti solo a un determinato livello della gerarchia delle unità organizzative, utilizza SearchScope:
    Get-ADUser -Filter * -SearchBase "OU=Cali,OU=Locations,DC=mylab,DC=local" -SearchScope 1 | ft
  • Per ottenere oggetti da un controller di dominio specifico, utilizzare Server:
    Get-ADUser –Server mylab.local –Identity ava
  • Per ottenere utenti che non hanno impostato un numero di telefono,
    Get-ADUser -LDAPFilter '(!phone=*)'
  • Per visualizzare gli indirizzi e-mail di tutti gli utenti,
    Get-ADUser -Filter * -Properties Name, EmailAddress | select Name, EmailAddress
  • Per esportare l’output in testo,
    Get-ADUser -filter * -properties Name, PasswordLastSet | ft Name, PasswordLastSet > C:pwddata.txt
  • Per esportare l’output in CSV,
    Get-ADUser -filter * -properties Name, PasswordLastSet | select-object Name, PasswordLastSet | Export-csv -path C:pwddata.csv -Append -Encoding UTF8