Add-Computer
Aggiungere il computer locale a un dominio o un gruppo di lavoro.
Sintassi
Add-Computer
[-ComputerName <String[]>]
[-LocalCredential <PSCredential>]
[-UnjoinDomainCredential <PSCredential>]
-Credential <PSCredential>
[-DomainName] <String>
[-OUPath <String>]
[-Server <String>]
[-Unsecure]
[-Options <JoinOptions>]
[-Restart]
[-PassThru]
[-NewName <String>]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Add-Computer
[-ComputerName <String[]>]
[-LocalCredential <PSCredential>]
[-Credential <PSCredential>]
[-WorkgroupName] <String>
[-Restart]
[-PassThru]
[-NewName <String>]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Descrizione
Il Add-Computer
cmdlet aggiunge il computer locale o i computer remoti a un dominio o a un gruppo di lavoro oppure li sposta da un dominio a un altro. Viene inoltre creato un account di dominio se il computer viene aggiunto al dominio senza un account.
È possibile usare i parametri di questo cmdlet per specificare un'unità organizzativa e il controller di dominio o per eseguire un join non sicuro.
Per ottenere i risultati del comando, usare i parametri Verbose e PassThru .
Esempio
Esempio 1: Aggiungere un computer locale a un dominio e quindi riavviare il computer
Add-Computer -DomainName Domain01 -Restart
Questo comando aggiunge il computer locale al dominio Domain01 e riavvia il computer per rendere effettiva la modifica.
Esempio 2: Aggiungere un computer locale a un gruppo di lavoro
Add-Computer -WorkgroupName WORKGROUP-A
Questo comando aggiunge il computer locale al gruppo di lavoro Workgroup-A.
Esempio 3: Aggiungere un computer locale a un dominio
Add-Computer -DomainName Domain01 -Server Domain01\DC01 -PassThru -Verbose
Questo comando aggiunge il computer locale al dominio Domain01 usando il Domain01\DC01
controller di dominio.
Il comando usa i parametri PassThru e Verbose per ottenere informazioni dettagliate sui risultati del comando.
Esempio 4: Aggiungere un computer locale a un dominio usando il parametro OUPath
Add-Computer -DomainName Domain02 -OUPath "OU=testOU,DC=domain,DC=Domain,DC=com"
Questo comando aggiunge il computer locale al dominio Domain02. Usa il parametro OUPath per specificare l'unità organizzativa per i nuovi account.
Esempio 5: Aggiungere un computer locale a un dominio usando le credenziali
$addComputerSplat = @{
ComputerName = 'Server01'
LocalCredential = 'Server01\Admin01'
DomainName = 'Domain02'
Credential = 'Domain02\Admin02'
Restart = $true
Force = $true
}
Add-Computer @addComputerSplat
Questo comando aggiunge il computer Server01 al dominio Domain02. Usa il parametro LocalCredential per specificare un account utente autorizzato a connettersi al computer Server01. Usa il parametro Credential per specificare un account utente con l'autorizzazione per aggiungere computer al dominio. Usa il parametro Restart per riavviare il computer al termine dell'operazione di join e il parametro Force per eliminare i messaggi di conferma dell'utente.
Esempio 6: Spostare un gruppo di computer in un nuovo dominio
$addComputerSplat = @{
ComputerName = 'Server01', 'Server02', 'localhost'
DomainName = 'Domain02'
LocalCredential = 'Domain01\User01'
UnjoinDomainCredential = 'Domain01\Admin01'
Credential = 'Domain02\Admin01'
Restart = $true
}
Add-Computer @addComputerSplat
Questo comando sposta i computer Server01 e Server02 e il computer locale, da Domain01 a Domain02.
Usa il parametro LocalCredential per specificare un account utente autorizzato a connettersi ai tre computer interessati. Usa il parametro UnjoinDomainCredential per specificare un account utente autorizzato a annullare la partecipazione dei computer dal dominio Domain01 e al parametro Credential per specificare un account utente che abbia l'autorizzazione per aggiungere i computer al dominio Domain02. Usa il parametro Restart per riavviare tutti e tre i computer al termine dello spostamento.
Esempio 7: Spostare un computer in un nuovo dominio e modificare il nome del computer
$addComputerSplat = @{
ComputerName = 'Server01'
DomainName = 'Domain02'
NewName = 'Server044'
Credential = 'Domain02\Admin01'
Restart = $true
}
Add-Computer @addComputerSplat
Questo comando sposta il computer Server01 nel dominio Domain02 e modifica il nome del computer in Server044.
Il comando usa le credenziali dell'utente corrente per connettersi al computer Server01 e separarsi dal dominio corrente. Usa il parametro Credential per specificare un account utente con l'autorizzazione per aggiungere il computer al dominio Domain02.
Esempio 8: Aggiungere computer elencati in un file a un nuovo dominio
$addComputerSplat = @{
ComputerName = (Get-Content Servers.txt)
DomainName = 'Domain02'
Credential = 'Domain02\Admin02'
Options = 'Win9xUpgrade'
Restart = $true
}
Add-Computer @addComputerSplat
Questo comando aggiunge i computer elencati nel Servers.txt
file al dominio Domain02. Usa il parametro Options per specificare l'opzione Win9xUpgrade . Il parametro Restart riavvia tutti i computer appena aggiunti al termine dell'operazione di join.
Esempio 9: Aggiungere un computer a un dominio usando le credenziali predefinite del computer
Questo primo comando deve essere eseguito da un amministratore da un computer già aggiunto al dominio Domain03
:
$newADComputerSplat = @{
Name = "Server02"
AccountPassword = (ConvertTo-SecureString -String 'TempJoinPA$$' -AsPlainText -Force)
}
New-ADComputer @newADComputerSplat
# Then this command is run from `Server02` which is not yet domain-joined:
$joinCred = New-Object pscredential -ArgumentList ([pscustomobject]@{
UserName = $null
Password = (ConvertTo-SecureString -String 'TempJoinPA$$' -AsPlainText -Force)[0]
})
$addComputerSplat = @{
DomainName = "Domain03"
Options = 'UnsecuredJoin', 'PasswordPass'
Credential = $joinCred
}
Add-Computer @addComputerSplat
Questa combinazione di comandi crea un nuovo account computer con un nome predefinito e una password di aggiunta temporanea in un dominio usando un computer aggiunto a un dominio esistente. Quindi separatamente, un computer con il nome predefinito unisce il dominio usando solo il nome del computer e la password di aggiunta temporanea. La password predefinita viene usata solo per supportare l'operazione di join e viene sostituita come parte delle normali procedure di account computer dopo che il computer ha completato l'aggiunta.
Esempio 10: Aggiungere un computer a un dominio con un nuovo nome
L'uso di questa combinazione di comandi consente di evitare più riavvii e più scritture in Active Directory scritture per lo stesso oggetto quando il computer aggiunge il dominio con il nuovo nome.
Rename-Computer -NewName "MyNewPC" -Force
$addComputerSplat = @{
DomainName = 'Contoso.com'
Credential = 'contoso\administrator'
Options = 'JoinWithNewName', 'AccountCreate'
}
Add-Computer @addComputerSplat
Parametri
-ComputerName
Specifica i computer da aggiungere a un dominio o un gruppo di lavoro. Il valore predefinito è il computer locale.
Digitare il nome NetBIOS, un indirizzo IP (Internet Protocol) o un nome di dominio completo di ogni computer remoto. Per specificare il computer locale, digitare il nome del computer, un punto (.
) o "localhost".
Questo parametro non si basa sulla comunicazione remota di Windows PowerShell. È possibile utilizzare il parametro ComputerName di Add-Computer
anche se il computer non è configurato per eseguire comandi remoti.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Tipo: | String[] |
Posizione: | Named |
Valore predefinito: | Local computer |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Confirm
Richiede conferma prima di eseguire il cmdlet.
Tipo: | SwitchParameter |
Alias: | cf |
Posizione: | Named |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Credential
Specifica un account utente che dispone dell'autorizzazione per aggiungere computer a un nuovo dominio. Il valore predefinito è l'utente corrente.
Digitare un nome utente, ad esempio "User01" o "Domain01\User01" o immettere un oggetto PSCredential , ad esempio quello generato dal Get-Credential
cmdlet. Se si digita un nome utente, viene richiesta una password.
Per specificare un account utente autorizzato a rimuovere il computer dal dominio corrente, usare il parametro UnjoinDomainCredential . Per specificare un account utente autorizzato a connettersi a un computer remoto, usare il parametro LocalCredential .
Tipo: | PSCredential |
Alias: | DomainCredential |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-DomainName
Specifica il dominio a cui vengono aggiunti i computer. Questo parametro è obbligatorio quando si aggiunge il computer a un dominio.
Tipo: | String |
Alias: | DN, Domain |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Force
Elimina la richiesta di conferma dell'utente. Senza questo parametro, Add-Computer
è necessario confermare l'aggiunta di ogni computer.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-LocalCredential
Specifica un account utente autorizzato a connettersi ai computer specificati dal parametro ComputerName . Il valore predefinito è l'utente corrente.
Digitare un nome utente, ad esempio "User01" o "Domain01\User01" o immettere un oggetto PSCredential , ad esempio quello generato dal Get-Credential
cmdlet. Se si digita un nome utente, viene richiesta una password.
Per specificare un account utente con l'autorizzazione per aggiungere i computer a un nuovo dominio, usare il parametro Credential . Per specificare un account utente autorizzato a rimuovere i computer dal dominio corrente, usare il parametro UnjoinDomainCredential .
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Tipo: | PSCredential |
Posizione: | Named |
Valore predefinito: | Current user |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-NewName
Specifica un nuovo nome per il computer nel nuovo dominio. Questo parametro è valido solo quando un computer viene aggiunto o spostato.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Options
Specifica le opzioni avanzate per l'operazione Add-Computer
di join. Immettere uno o più valori delimitati da virgole in una stringa.
I valori validi per questo parametro sono:
AccountCreate: crea un account di dominio. Il
Add-Computer
cmdlet crea automaticamente un account di dominio quando aggiunge un computer a un dominio. Questa opzione è inclusa per completezza.Win9XUpgrade: indica che l'operazione di join fa parte di un aggiornamento del sistema operativo Windows.
UnsecuredJoin: esegue un join non protetto. Per richiedere un join non protetto, usare il parametro Unsecure o questa opzione. Se si vuole passare una password del computer, è necessario usare questa opzione in combinazione con
PasswordPass
l'opzione .PasswordPass: imposta la password del computer sul valore del parametro Credential(DomainCredential) dopo l'esecuzione di un join non protetto. Questa opzione indica anche che il valore del parametro Credential (DomainCredential) è una password del computer, non una password utente. Questa opzione è valida solo quando viene specificata l'opzione
UnsecuredJoin
. Quando si usa questa opzione, le credenziali fornite al-Credential
parametro devono avere un nome utente Null.JoinWithNewName: rinomina il nome del computer nel nuovo dominio con il nome specificato dal parametro NewName . Quando si usa il parametro NewName , questa opzione viene impostata automaticamente. Questa opzione è progettata per essere usata con il cmdlet Rename-Computer. Se si utilizza il
Rename-Computer
cmdlet per rinominare il computer, ma non riavviare il computer per rendere effettiva la modifica, è possibile utilizzare questo parametro per aggiungere il computer a un dominio con il nuovo nome.JoinReadOnly: usa un account computer esistente per aggiungere il computer a un controller di dominio di sola lettura. L'account computer deve essere aggiunto all'elenco consentito per i criteri di replica delle password e la password dell'account deve essere replicata nel controller di dominio di sola lettura prima dell'operazione di aggiunta.
InstallInvoke: imposta i flag di creazione (0x2) ed eliminazione (0x4) del parametro FJoinOptions del metodo JoinDomainOrWorkgroup . Per altre informazioni sul metodo JoinDomainOrWorkgroup , vedere Metodo JoinDomainOrWorkgroup della classe Win32_ComputerSystem. Per altre informazioni su queste opzioni, vedere Funzione NetJoinDomain.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Tipo: | JoinOptions |
Valori accettati: | AccountCreate, Win9XUpgrade, UnsecuredJoin, PasswordPass, DeferSPNSet, JoinWithNewName, JoinReadOnly, InstallInvoke |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-OUPath
Specifica un'unità organizzativa per l'account di dominio. Immettere il nome distinto completo dell'unità organizzativa racchiuso tra virgolette. Il valore predefinito è l'unità organizzativa predefinita per gli oggetti computer del dominio.
Tipo: | String |
Alias: | OU |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-PassThru
Restituisce un oggetto che rappresenta l'elemento in uso. Per impostazione predefinita, il cmdlet non genera alcun output.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Restart
Riavvia i computer aggiunti al dominio o al gruppo di lavoro. Spesso è necessario un riavvio per rendere effettiva la modifica.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Server
Specifica il nome di un controller di dominio che aggiunge il computer al dominio. Immettere il nome in formato NomeDominio\NomeComputer. Per impostazione predefinita, non viene specificato alcun controller di dominio.
Tipo: | String |
Alias: | DC |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-UnjoinDomainCredential
Specifica un account utente che dispone dell'autorizzazione per rimuovere computer dal dominio corrente. Il valore predefinito è l'utente corrente.
Digitare un nome utente, ad esempio "User01" o "Domain01\User01" o immettere un oggetto PSCredential , ad esempio quello generato dal Get-Credential
cmdlet. Se si digita un nome utente, viene richiesta una password.
Usare questo parametro quando si spostano computer in un dominio diverso. Per specificare un account utente con l'autorizzazione per l'aggiunta al nuovo dominio, usare il parametro Credential . Per specificare un account utente autorizzato a connettersi a un computer remoto, usare il parametro LocalCredential .
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Tipo: | PSCredential |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Unsecure
Esegue un join non sicuro al dominio specificato.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-WhatIf
Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.
Tipo: | SwitchParameter |
Alias: | wi |
Posizione: | Named |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-WorkgroupName
Specifica il nome di un gruppo di lavoro a cui vengono aggiunti i computer. Il valore predefinito è "WORKGROUP".
Tipo: | String |
Alias: | WGN |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Input
È possibile inviare tramite pipe nomi di computer e nuovi nomi al Add-Computer
cmdlet .
Output
Quando si utilizza il parametro PassThru , Add-Computer
restituisce un oggetto ComputerChangeInfo .
In caso contrario, il cmdlet non genera alcun output.
Note
- In Windows PowerShell 2.0 il parametro Server di
Add-Computer
ha esito negativo anche quando il server è presente. In Windows PowerShell 3.0 l'implementazione del parametro Server viene modificata in modo che funzioni in modo affidabile.