Visualizzazione post con etichetta Add-AdGroupMember. Mostra tutti i post
Visualizzazione post con etichetta Add-AdGroupMember. Mostra tutti i post

martedì 23 febbraio 2021

PowerShell: Aggiungere membri in un gruppo Active Directory

Per aggiungere account utente e computer ad un gruppo Active Directory viene utilizzato il cmdlet Add-AdGroupMember.

Sintassi

Add-ADGroupMember
   [-WhatIf]
   [-Confirm]
   [-AuthType <ADAuthType>]
   [-Credential <PSCredential>]
   [-Identity] <ADGroup>
   [-Members] <ADPrincipal[]>
   [-MemberTimeToLive <TimeSpan>]
   [-Partition <String>]
   [-PassThru]
   [-Server <String>]
   [-DisablePermissiveModify]
   [<CommonParameters>]

   
Parametri

-AuthType 
Specifica il metodo di autenticazione. I valori accettati dal parametro sono:
  • Negotiate oppure 0 (default)
  • Basic oppure 1
-Confirm
Se specificato, tale parametro mostra la richiesta di conferma prima di eseguire il cmdlet.

-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.

-DisablePermissiveModify
Gli aggiornamenti dei membri del gruppo utilizzano una modifica permissiva per impostazione predefinita e il messaggio di errore quando si aggiunge un account che è già membro del gruppo viene soppresso. Specificando tale parametro il messaggio di errore verrà visualizzato.

-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) 

-Members
Permette di specificare un array di utenti, gruppi e computer separati da virgola da aggiungere al gruppo. Il parametro accetta come valori:
Distinguished name
GUID (objectGUID)
Security identifier (objectSid)
SAM account name (sAMAccountName)

-MemberTimeToLive
Permette di specificare un Time to Live (TTL) per i nuovi membri del gruppo.

-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.

-PassThru
Restituisce un oggetto che rappresenta l'item su cui si sta lavorando. Per impostazione predefinita, il cmdlet non genera alcun output.

-Server
Permette di specificare l'istanza di Active Directory Domain Services a cui connettersi per eseguire l'operazione.

-WhatIf
Mostra cosa accadrebbe se venisse eseguito il cmdlet. Il cmdlet non viene eseguito.

Aggiungere membri in un gruppo Active Directory
Per aggiungere account utente, computer o altri gruppi come membri in un gruppo Active Directory il comando sarà simile a
Add-AdGroupMember -Identity Gruppo1 -Members yosemite.sam, Giovanni.Lubrano
Come visibile è possibile specificare più membri separandoli con la virgola.

PowerShell, Add-AdGroupMember
FIG 1 - PowerShell, Add-AdGroupMember

Per aggiungere un account computer è necessario aggiungere il simbolo $ alla fine del nome dell'account.
Add-AdGroupMember -Identity Gruppo1 -Members PCDIR004$

Per velocizzare l'inserimento di account all'interno di un gruppo è possibile creare un file CSV. Il file sarà simile a quello mostrato in FIG 2 e conterrà l'elenco degli account da aggiungere al gruppo.
File CSV con l'elenco degli account
FIG 2 - File CSV con l'elenco degli account

Il comando da eseguire per aggiungere al gruppo specificato (Gruppo1) l'elenco degli account presenti nel file CSV (FileUtenti.csv) sarà simile a
Import-CSV C:\FileUtenti.csv -Header utenti | ForEach-Object {Add-AdGroupMember -Identity "Gruppo1" -members $_.utenti}

Per aggiungere un account utente a più gruppi è possibile utilizzare il comando
"Gruppo1","Gruppo2" | Add-ADGroupMember -Members Giovanni.Lubrano
con il seguente comando viene richiesto di specificare l'account utente da inserire nei due gruppi
"Gruppo1","Gruppo2" | Add-ADGroupMember -Members (Read-Host -Prompt "Inserisci l'account utente: ")

PowerShell, Aggiungere un account utente a più gruppi
FIG 3 - PowerShell, Aggiungere un account utente a più gruppi

Sfruttando i cmdlet Get-ADGroupMemberGet-ADUser possiamo copiare gli account utente da un gruppo all'altro. Ad esempio il seguente comando copia i membri account utente dal Gruppo1 al Gruppo2.
Get-ADGroupMember "Gruppo1" | Get-ADUser | ForEach-Object {Add-ADGroupMember -Identity "Gruppo2" -Members $_}