Magic Quadrant™ per la gestione degli accessi privilegiati 2025: Netwrix riconosciuta per il quarto anno consecutivo. Scarica il report.

Piattaforma
Centro risorseBlog
Come creare, eliminare, rinominare, disabilitare e unire computer in AD utilizzando PowerShell

Come creare, eliminare, rinominare, disabilitare e unire computer in AD utilizzando PowerShell

Jul 10, 2018

Prima che un utente possa accedere a un computer e accedere a risorse di rete e basate su dominio, quel computer deve essere membro dell'ambiente Active Directory. In questa guida, scoprirai come automatizzare le attività quotidiane relative agli account dei computer, come ad esempio come creare, rinominare e rimuovere facilmente gli account.

In definitiva, imparerai come utilizzare PowerShell per eseguire i seguenti compiti di gestione degli account computer:

  • Unisci un computer a un dominio
    • Unisci più computer a un dominio
  • Rimuovi un computer da un dominio con PowerShell
  • Crea un oggetto Computer in AD
    • Crea account computer da un file CSV
  • Elimina un computer da AD
    • Elimina Account Computer Utilizzando un Elenco
    • Rimuovere account computer obsoleti in Active Directory con PowerShell
  • Rinomina un Computer
    • Rinomina un computer e uniscilo a un dominio
  • Disabilita un account computer di AD
    • Disabilita Account Computer utilizzando un Elenco
  • Reimposta un account computer di AD

PowerShell ISE è il miglior strumento per lavorare con gli script di PowerShell. Avvia lo strumento PowerShell ISE con privilegi di amministratore premendo “Windows+R” e inserendo “runas /profile /user:Administrator PowerShell_ISE” nella finestra Esegui. (In alternativa, puoi fare clic destro sull'icona di PowerShell ISE e scegliere l'opzione “Esegui come amministratore”.) Digita la password dell'amministratore quando richiesto.

Prima di poter lavorare con AD e i suoi oggetti, è necessario importare il modulo Active Directory per Windows PowerShell. In Microsoft Windows Server 2008 R2, è necessario abilitare questo modulo eseguendo il seguente comando:

Import-Module ActiveDirectory

In Microsoft Windows Server 2012 e versioni successive, questo modulo è abilitato per impostazione predefinita.

Unisci un computer a un dominio

Il compito più comune è unire un computer a un domain controller. Per unire un PC a un dominio Active Directory, eseguire lo script PowerShell seguente localmente:

      $dc = "ENTERPRISE" # Specify the domain to join.
$pw = "Password123" | ConvertTo-SecureString -asPlainText –Force # Specify the password for the domain admin.
$usr = "$dcT.Simpson" # Specify the domain admin account.
$creds = New-Object System.Management.Automation.PSCredential($usr,$pw)
Add-Computer -DomainName $dc -Credential $creds -restart -force -verbose # Note that the computer will be restarted automatically.
      

Il computer si riavvierà e poi si unirà al dominio; verrà aggiunto al contenitore predefinito.

Per unire un computer a un DC da remoto, è necessario migliorare lo script in questo modo:

      $dc = "ENTERPRISE"
$pw = "Password123" | ConvertTo-SecureString -asPlainText -Force
$usr = "$dcT.Simpson"
$pc = "R07GF" # Specify the computer that should be joined to the domain.
$creds = New-Object System.Management.Automation.PSCredential($usr,$pw)
Add-Computer -ComputerName $pc -LocalCredential $pcadmin -DomainName $dc -Credential $creds -Verbose -Restart -Force
      

La variabile $pc e il parametro –LocalCredential vengono utilizzati per autenticare il computer nel dominio. Nota che per utilizzare questo metodo, devi disabilitare il firewall sul computer locale.

Unisci più computer a un dominio

È possibile aggiungere più di un computer al dominio specificandoli nella riga di comando come un elenco delimitato da virgole o importando i loro nomi da un file di testo.

Ecco come specificare i computer in un elenco delimitato da virgole:

      $dc = "ENTERPRISE"
$pw = "Password123" | ConvertTo-SecureString -asPlainText -Force
$usr = "$dcT.Simpson"
$pc = "WKS034, WKS052, WKS057" # Specify the computers that should be joined to the domain.
$creds = New-Object System.Management.Automation.PSCredential($usr$pw)
Add-Computer -ComputerName $pc -LocalCredential $pcadmin -DomainName $dc -Credential $creds -Restart -Force
      

Ecco come utilizzare un file di testo con l'elenco dei computer che dovrebbero essere uniti:

      $dc = "ENTERPRISE"
$pw = "Password123" | ConvertTo-SecureString -asPlainText -Force
$usr = "$dcT.Simpson"
$pc = Get-Content -Path C:Computers.txt # Specify the path to the computers list.
$creds = New-Object System.Management.Automation.PSCredential($usr,$pw)
Add-Computer -ComputerName $pc -LocalCredential $pcadmin -DomainName $dc -Credential $creds -Restart -Force

      

Rimuovere un computer da un dominio con PowerShell

Per rimuovere un computer da un dominio a distanza, utilizzare il cmdlet Remove-Computer. Qui, stiamo rimuovendo un computer da un dominio, quindi non sono necessarie credenziali locali e possiamo omettere il parametro ?LocalCredential:

      $dc = "ENTERPRISE"
$pw = "Password123" | ConvertTo-SecureString -asPlainText -Force
$usr = "$dcT.Simpson"
$pc = "R07GF"
$creds = New-Object System.Management.Automation.PSCredential($usr,$pw)
Remove-Computer -ComputerName $pc -Credential $creds –Verbose –Restart –Force
      
Image

Per rimuovere più computer utilizzando un elenco in un file TXT, usare lo script sopra per collegare i computer a un DC, sostituendo il cmdlet Add-Computer con Remove-Computer. Notare che saranno comunque necessarie le credenziali dell'amministratore di dominio per completare questa operazione di disconnessione.

Create a Computer Object in AD

Per creare un oggetto computer, utilizzare il cmdlet New-ADComputer. Ad esempio, eseguire i seguenti parametri del cmdlet per creare un oggetto computer con “WKS932” come nome e il valore predefinito del percorso LDAP:

      New-ADComputer –Name “WKS932” –SamAccountName “WKS932”
      

Create Computer Accounts from a CSV File

Se hai un elenco di computer che dovrebbero essere importati in Active Directory, salva l'elenco in un file CSV con l'intestazione “computer” e l'elenco dei nomi dei computer nella colonna sottostante. Esegui il seguente script PowerShell sul tuo domain controller per aggiungere i computer dal file CSV, assicurandoti di avere le variabili “Path” e “File” impostate correttamente:

      $File="C:scriptsComputers.csv" # Specify the import CSV position.
$Path="OU=Devices,DC=enterprise,DC=com" # Specify the path to the OU.
Import-Csv -Path $File | ForEach-Object { New-ADComputer -Name $_.Computer -Path $Path -Enabled $True}
      

Elimina un computer da AD

Per eliminare un account computer da AD, utilizzare il cmdlet Remove-ADObject. Il parametro -Identity specifica quale computer di Active Directory rimuovere. È possibile specificare un computer tramite il suo nome distinto, GUID, identificatore di sicurezza (SID) o nome account del Security Accounts Manager (SAM).

      Remove-ADObject -Identity "WKS932"
      

Sarai invitato a confermare l'eliminazione.

Elimina Account Computer Utilizzando un Elenco

Se hai un file di testo con un elenco di vecchi computer, puoi semplificare il compito di rimuoverli utilizzando PowerShell. Lo script seguente leggerà i nomi dei computer da un file TXT ed eliminerà gli account corrispondenti tramite una serie di comandi, o pipeline:

      Get-Content C:scriptscomputersfordeletion.txt | % { Get-ADComputer -Filter { Name -eq $_ } } | Remove-ADObject -Recursive
      

Richiedi una prova gratuita di Netwrix Directory Manager per una migliore gestione dei gruppi

Rimuovi account computer obsoleti da Active Directory con PowerShell

Gli account inattivi in Active Directory possono essere compromessi, portando a incidenti di sicurezza, quindi è fondamentale monitorarli. Questo script PowerShell interrogherà Active Directory e restituirà tutti i computer che non hanno effettuato l'accesso negli ultimi 30 giorni; è possibile modificare facilmente questo valore predefinito nello script. Inoltre, rimuoverà quegli account per mantenere pulito il tuo AD.

      $stale = (Get-Date).AddDays(-30) # means 30 days since last logon, can be changed to any number.

Get-ADComputer -Property Name,lastLogonDate -Filter {lastLogonDate -lt $stale} | FT Name,lastLogonDate

Get-ADComputer -Property Name,lastLogonDate -Filter {lastLogonDate -lt $stale} | Remove-ADComputer
      
Image

C'è un computer, FS1, che non è stato accesso per più di 30 giorni. Il sistema chiederà conferma prima di eliminarlo dal dominio:

Image

Se vuoi disabilitare, piuttosto che eliminare, gli account computer inattivi, sostituisci il cmdlet Remove-ADComputer con Set-ADComputer e il parametro e valore -Enabled $false.

Rinomina un computer

Per cambiare il nome di un computer, utilizza il cmdlet Rename-Computer. Nota che il computer deve essere online e connesso ad Active Directory.

      Rename-Computer –ComputerName "FS1" -NewName "FS2"
      

Se vuoi eseguire questo script localmente, apparirà così:

      Rename-Computer -NewName "newname" -DomainCredential "DomainAdministrator"

      

Rinomina un computer e uniscilo a un dominio

Puoi migliorare lo script di rinominazione collegando il computer al dominio e inserendolo contemporaneamente nell'OU specificata. Lo script dovrebbe essere eseguito sulla macchina di destinazione, non sul controller di dominio.

      $NewComputerName = "Server3" # Specify the new computer name.

$DC = "contoso.com" # Specify the domain to join.

$Path = "OU=TestOU,DC=contoso,DC=com" # Specify the path to the OU where to put the computer account in the domain.
      
      Add-Computer -DomainName $DC -OUPath $Path -NewName $NewComputerName –Restart –Force
      

Lo script richiederà le credenziali di un account che ha i permessi per aggiungere computer al dominio, e poi il computer verrà rinominato, riavviato e aggiunto al dominio.

Disabilita un account computer di AD

Utilizza il cmdlet Disable-ADAccount per disabilitare gli account utente, computer e servizio di Active Directory. Se specifichi un nome account computer, ricorda di aggiungere un segno di dollaro ($) alla fine del nome; altrimenti, riceverai un errore dopo l'esecuzione dello script.

      Disable-ADAccount -Identity fs1$

      

Disabilita Account Computer utilizzando un Elenco

È possibile anche disabilitare gli account computer in blocco utilizzando un elenco in un file di testo:

      $Pclist = Get-Content C:scriptsComputer.txt # Specify the path to the computers list.
Foreach($pc in $Pclist)
{
Disable-ADAccount -Identity "$pc"
Get-ADComputer -Identity "$pc" | Move-ADObject -TargetPath “OU=Disabled Computers,DC=enterprise,DC=com”
}
      

Reimposta un account computer di AD

Come un account utente, un account computer interagisce con Active Directory utilizzando una password. Ma per gli account computer, un cambio di password è iniziato ogni 30 giorni per impostazione predefinita e la password è esentata dalla password policy del dominio. I cambi di password sono guidati dal client (computer), non da AD.

Le credenziali del computer sono solitamente sconosciute all'utente perché vengono impostate casualmente dal computer. Ma puoi impostare la tua password; ecco uno script PowerShell per farlo:

      $pc = read-host –Prompt “Input computer name to reset“ # Specify the computer name.
$pw = read-host –Prompt “Input random characters for temp password“ –AsSecureString # Specify the password.
Get-ADComputer $pc | Set-ADAccountPassword –NewPassword:$pw -Reset:$true
      

Conclusione

Ora hai imparato come gestire gli account computer di Active Directory con PowerShell. Puoi migliorare tutti questi script da solo per adattarli ai tuoi scopi.

Ricorda che è fondamentale monitorare attentamente tutte le modifiche agli account dei computer, così da poter individuare rapidamente qualsiasi modifica indesiderata e reagire in modo appropriato.

Migliori pratiche per la gestione dei gruppi di Active Directory

Migliori pratiche per la gestione dei gruppi di Active Directory

Condividi su

Scopri di più

Informazioni sull'autore

Asset Not Found

Jeff Melnick

Direttore dell'Ingegneria dei Sistemi

Jeff è un ex Direttore dell'Ingegneria delle Soluzioni Globali presso Netwrix. È un blogger di Netwrix da lungo tempo, nonché relatore e presentatore. Nel blog di Netwrix, Jeff condivide lifehack, consigli e trucchi che possono migliorare notevolmente la tua esperienza di amministrazione del sistema.