Condividi tramite


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

String

È possibile inviare tramite pipe nomi di computer e nuovi nomi al Add-Computer cmdlet .

Output

ComputerChangeInfo

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.