Visualizzazione post con etichetta UO. Mostra tutti i post
Visualizzazione post con etichetta UO. Mostra tutti i post

giovedì 14 settembre 2023

Windows Server 2022: Visualizzare informazioni sulle unità organizzative tramite PowerShell

Per visualizzare informazioni su una o più unità organizzative tramite l'utilizzo di PowerShell è possibile utilizzare il cmdlet Get-ADOrganizationalUnit.

Sintassi
Get-ADOrganizationalUnit
   [-AuthType <ADAuthType>]
   [-Credential <PSCredential>]
   -Filter <String>
   [-Properties <String[]>]
   [-ResultPageSize <Int32>]
   [-ResultSetSize <Int32>]
   [-SearchBase <String>]
   [-SearchScope <ADSearchScope>]
   [-Server <String>]
   [<CommonParameters>]
   
Get-ADOrganizationalUnit
   [-AuthType <ADAuthType>]
   [-Credential <PSCredential>]
   [-Identity] <ADOrganizationalUnit>
   [-Partition <String>]
   [-Properties <String[]>]
   [-Server <String>]
   [<CommonParameters>]

Get-ADOrganizationalUnit
   [-AuthType <ADAuthType>]
   [-Credential <PSCredential>]
   -LDAPFilter <String>
   [-Properties <String[]>]
   [-ResultPageSize <Int32>]
   [-ResultSetSize <Int32>]
   [-SearchBase <String>]
   [-SearchScope <ADSearchScope>]
   [-Server <String>]
   [<CommonParameters>]
   

Parametri

-AuthType 
Specifica il metodo di autenticazione. I valori accettati dal parametro sono:
  • Negotiate oppure 0 (default)
  • Basic oppure 1
-Credential
Specifica le credenziali dell'account utente con cui eseguire il comando. Se omesso viene considerato l'utente corrente che sta eseguendo il comando. Al parametro può essere passato il nome dell'account, come ad es. "utente01" o "Dominio\utente01" oppure può essere passato un'oggetto PSCredential generato dal cmdlet Get-Credential. Se viene specificato un'account utente verrà richiesto di inserire la password all'esecuzione del comando.

-Filter
Specifica una stringa di query che recupera gli oggetti di Active Directory. Questa stringa usa la sintassi del linguaggio delle espressioni di PowerShell (PowerShell Expression Language syntax) che fornisce un ricco supporto alla conversione di tipo per i tipi di valore ricevuti dal parametro Filter.

-Identity
Tale parametro specifica l'oggetto gruppo Active Directory su cui si desidera intervenire. Al parametro può essere passato un qualsiasi valore che identifica il gruppo in maniera univoca come:
Distinguished name
GUID (objectGUID)
Security identifier (objectSid)
Security Account Manager account name (sAMAccountName) 

-LDAPFilter
Specifica una query LDAP che viene utilizzata per filtrare gli oggetti Active Directory. 

-Partition
A tale parametro va passato il Distinguished Name (DN) di una partizione di Active Directory. Il cmdlet utilizzerà tale partizione per ricercare l'oggetto specificato dal parametro Identity.

-Properties
Specifica le proprietà dell'oggetto da recuperare. Può essere usato per recuperare le proprietà che non sono incluse nel set di default.

-ResultPageSize
Specifica il numero di oggetti da includere in una pagina per una query AD DS (Active Directory Domain Services).

-ResultSetSize
Specifica il numero massimo di oggetti da restituire per la query AD DS (Active Directory Domain Services).

-SearchBase
Specifica un percorso Active Directory all'interno del quale effettuare la ricerca.

-SearchScope
Specifica l'ambito di una ricerca Active Directory. I valori accettabili per questo parametro sono:
  • Base o 0
  • OneLevel 1
  • SubTree o 2

-Server
Permette di specificare l'istanza di Active Directory Domain Services a cui connettersi per recuperare le informazioni della UO.



Esempi

Esempio 1
Get-ADOrganizationalUnit -Properties CanonicalName -Filter * | Format-Table CanonicalName, DistinguishedName
oppure
Get-ADOrganizationalUnit -Filter 'Name -like "*"' | Format-Table Name, DistinguishedName -A
Elenca tutte le unità organizzative presenti nel dominio
Visualizza tutte le UO presenti in AD
FIG 1 - Visualizza tutte le UO presenti in AD


Esempio 2
Get-ADOrganizationalUnit -Identity 'OU=Direzione,DC=mycompany,DC=local' | Format-Table Name,Country,PostalCode,City,StreetAddress,State -A
Visualizza i campi Country, PostalCode, City, StreetAddress, State dell'UO specificata.
Visualizza i campi specificati di una UO
FIG 2 - Visualizza i campi specificati di una UO


Esempio 3
Get-ADOrganizationalUnit -LDAPFilter '(name=*)' -SearchBase 'OU=Direzione,DC=mycompany,DC=local -SearchScope OneLevel | Format-Table Name,Country,PostalCode,City,StreetAddress,State
Questo comando ottiene le UO sotto l'UO Direzione utilizzando un filtro LDAP.
Visualizza le UO contenute all'interno di una UO specificata tramite filtro LDAP
FIG 3 - Visualizza le UO contenute all'interno di una UO specificata tramite filtro LDAP






lunedì 26 settembre 2022

PowerShell: Forzare il cambio password per tutti gli utenti appartenenti ad una UO

Per forzare la reimpostazione della password da parte degli utenti appartenenti ad una specifica UO è possibile farlo in blocco utilizzando i cmdlet Get-ADUser e Set-ADUser.
Il comando mostrato di seguito utilizza un filtro per ottenere gli utenti appartenenti all'unità organizzativa (UO) "Direzione" e, tramite pipe, per ciascun account viene impostata l'opzione Cambiamento obbligatorio password.
 Get-ADUser -Filter * -SearchScope OneLevel -SearchBase "OU=Direzione,DC=mycompany,DC=local" | Set-ADUser -ChangePasswordAtLogon $true  
Per agire anche sulle UO sottostanti basta modificare il paramentro -SearchScope passandogli il valore Subtree
 Get-ADUser -Filter * -SearchScope Subtree -SearchBase "OU=Direzione,DC=mycompany,DC=local" | Set-ADUser -ChangePasswordAtLogon $true  
PowerShell, ChangePasswordAtLogon
FIG 1 - PowerShell, ChangePasswordAtLogon

Utenti e computer di Active Directory, Cambiamento obbligatorio password
FIG 2 - Utenti e computer di Active Directory, Cambiamento obbligatorio password