Add-Computer
Adicione o computador local para um domínio ou grupo de trabalho.
Sintaxe
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>]
Description
O Add-Computer
cmdlet adiciona o computador local ou computadores remotos a um domínio ou grupo de trabalho ou os move de um domínio para outro. Ele também cria uma conta de domínio caso o computador seja adicionado ao domínio sem uma conta.
Você pode usar os parâmetros desse cmdlet para especificar uma unidade organizacional (UO) e um controlador de domínio ou para realizar uma junção não segura.
Para obter os resultados do comando, use os parâmetros Verbose e PassThru .
Exemplos
Exemplo 1: Adicionar um computador local a um domínio e reiniciar o computador
Add-Computer -DomainName Domain01 -Restart
Este comando adiciona o computador local ao domínio Domain01 e, em seguida, reinicia o computador para que as alterações entrem em vigor.
Exemplo 2: Adicionar um computador local a um grupo de trabalho
Add-Computer -WorkgroupName WORKGROUP-A
Este comando adiciona o computador local ao grupo de trabalho Workgroup-A.
Exemplo 3: Adicionar um computador local a um domínio
Add-Computer -DomainName Domain01 -Server Domain01\DC01 -PassThru -Verbose
Esse comando adiciona o computador local ao domínio Domain01 usando o controlador de Domain01\DC01
domínio.
O comando usa os parâmetros PassThru e Verbose para obter informações detalhadas sobre os resultados do comando.
Exemplo 4: Adicionar um computador local a um domínio usando o parâmetro OUPath
Add-Computer -DomainName Domain02 -OUPath "OU=testOU,DC=domain,DC=Domain,DC=com"
Este comando adiciona o computador local ao domínio Domain02. Ele usa o parâmetro OUPath para especificar a unidade organizacional das novas contas.
Exemplo 5: Adicionar um computador local a um domínio usando credenciais
$addComputerSplat = @{
ComputerName = 'Server01'
LocalCredential = 'Server01\Admin01'
DomainName = 'Domain02'
Credential = 'Domain02\Admin02'
Restart = $true
Force = $true
}
Add-Computer @addComputerSplat
Este comando adiciona o computador Server01 ao domínio Domain02. Ele usa o parâmetro LocalCredential para especificar uma conta de usuário que tenha permissão para se conectar ao computador Server01. Ele usa o parâmetro Credential para especificar uma conta de usuário que tenha permissão para ingressar computadores no domínio. Ele usa o parâmetro Restart para reiniciar o computador após a conclusão da operação de junção e o parâmetro Force para suprimir as mensagens de confirmação do usuário.
Exemplo 6: Mover um grupo de computadores para um novo domínio
$addComputerSplat = @{
ComputerName = 'Server01', 'Server02', 'localhost'
DomainName = 'Domain02'
LocalCredential = 'Domain01\User01'
UnjoinDomainCredential = 'Domain01\Admin01'
Credential = 'Domain02\Admin01'
Restart = $true
}
Add-Computer @addComputerSplat
Este comando move os computadores Server01 e Server02 e o computador local, de Domain01 para Domain02.
Ele usa o parâmetro LocalCredential para especificar uma conta de usuário que tenha permissão para se conectar aos três computadores afetados. Ele usa o parâmetro UnjoinDomainCredential para especificar uma conta de usuário que tenha permissão para desassociar os computadores do domínio Domain01 e o parâmetro Credential para especificar uma conta de usuário que tenha permissão para ingressar os computadores no domínio Domain02. Ele usa o parâmetro Restart para reiniciar todos os três computadores após a conclusão da movimentação.
Exemplo 7: Mover um computador para um novo domínio e alterar o nome do computador
$addComputerSplat = @{
ComputerName = 'Server01'
DomainName = 'Domain02'
NewName = 'Server044'
Credential = 'Domain02\Admin01'
Restart = $true
}
Add-Computer @addComputerSplat
Este comando move o computador Server01 para o Domain02 e altera o nome do computador para Server044.
O comando usa as credenciais do usuário atual para se conectar ao computador Server01 e removê-lo do seu domínio atual. Ele usa o parâmetro Credential para especificar uma conta de usuário que tenha permissão para ingressar o computador no domínio Domain02.
Exemplo 8: Adicionar computadores listados em um arquivo a um novo domínio
$addComputerSplat = @{
ComputerName = (Get-Content Servers.txt)
DomainName = 'Domain02'
Credential = 'Domain02\Admin02'
Options = 'Win9xUpgrade'
Restart = $true
}
Add-Computer @addComputerSplat
Esse comando adiciona os computadores listados no Servers.txt
arquivo ao domínio Domain02. Ele usa o parâmetro Options para especificar a opção Win9xUpgrade . O parâmetro Restart reinicia todos os computadores recém-adicionados após a conclusão da operação de junção.
Exemplo 9: Adicionar um computador a um domínio usando credenciais de computador predefinidas
Este primeiro comando deve ser executado por um administrador de um computador que já está ingressado no domínio 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
Essa combinação de comandos cria uma nova conta de computador com um nome predefinido e uma senha de ingresso temporária em um domínio usando um computador ingressado no domínio existente. Em seguida, separadamente, um computador com o nome predefinido ingressa no domínio usando apenas o nome do computador e a senha de ingresso temporária. A senha predefinida é usada apenas para dar suporte à operação de junção e é substituída como parte dos procedimentos normais da conta do computador depois que o computador conclui a junção.
Exemplo 10: Adicionar um computador a um domínio com um novo nome
O uso dessa combinação de comandos evita várias reinicializações e várias gravações no Active Directory para o mesmo objeto quando o computador ingressa no domínio com o novo nome.
Rename-Computer -NewName "MyNewPC" -Force
$addComputerSplat = @{
DomainName = 'Contoso.com'
Credential = 'contoso\administrator'
Options = 'JoinWithNewName', 'AccountCreate'
}
Add-Computer @addComputerSplat
Parâmetros
-ComputerName
Especifica os computadores a serem adicionados a um domínio ou grupo de trabalho. O padrão é o computador local.
Digite o nome NetBIOS, um endereço IP ou um nome de domínio totalmente qualificado de cada um dos computadores remotos. Para especificar o computador local, digite o nome do computador, um ponto (.
) ou "localhost".
Esse parâmetro não depende da comunicação remota do Windows PowerShell. Você pode usar o parâmetro ComputerName mesmo Add-Computer
que o computador não esteja configurado para executar comandos remotos.
Este parâmetro é introduzido no Windows PowerShell 3.0.
Tipo: | String[] |
Cargo: | Named |
Valor padrão: | Local computer |
Obrigatório: | False |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-Confirm
Solicita sua confirmação antes de executar o cmdlet.
Tipo: | SwitchParameter |
Aliases: | cf |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Credential
Especifica uma conta de usuário que tenha permissão para ingressar os computadores em um novo domínio. O padrão é o usuário atual.
Digite um nome de usuário, como "User01" ou "Domain01\User01", ou insira um objeto PSCredential , como um gerado pelo Get-Credential
cmdlet. Se você digitar um nome de usuário, uma senha será solicitada.
Para especificar uma conta de usuário que tenha permissão para remover o computador de seu domínio atual, use o parâmetro UnjoinDomainCredential . Para especificar uma conta de usuário que tenha permissão para se conectar a um computador remoto, use o parâmetro LocalCredential .
Tipo: | PSCredential |
Aliases: | DomainCredential |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-DomainName
Especifica o domínio ao qual os computadores são adicionados. Este parâmetro é necessário ao adicionar computadores a um domínio.
Tipo: | String |
Aliases: | DN, Domain |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Force
Suprime o aviso de confirmação de usuário. Sem este parâmetro, Add-Computer
requer que você confirme a adição de cada computador.
Este parâmetro é introduzido no Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-LocalCredential
Especifica uma conta de usuário que tem permissão para se conectar aos computadores especificados pelo parâmetro ComputerName . O padrão é o usuário atual.
Digite um nome de usuário, como "User01" ou "Domain01\User01", ou insira um objeto PSCredential , como um gerado pelo Get-Credential
cmdlet. Se você digitar um nome de usuário, uma senha será solicitada.
Para especificar uma conta de usuário que tenha permissão para adicionar os computadores a um novo domínio, use o parâmetro Credential . Para especificar uma conta de usuário que tenha permissão para remover os computadores de seu domínio atual, use o parâmetro UnjoinDomainCredential .
Este parâmetro é introduzido no Windows PowerShell 3.0.
Tipo: | PSCredential |
Cargo: | Named |
Valor padrão: | Current user |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-NewName
Especifica um novo nome para o computador no novo domínio. Este parâmetro é válido somente quando um computador está sendo adicionado ou movido.
Este parâmetro é introduzido no Windows PowerShell 3.0.
Tipo: | String |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-Options
Especifica opções avançadas para a operação de Add-Computer
junção. Insira um ou mais valores em uma cadeia de caracteres separada por vírgulas.
Os valores aceitáveis para esse parâmetro são:
AccountCreate: cria uma conta de domínio. O
Add-Computer
cmdlet cria automaticamente uma conta de domínio quando adiciona um computador a um domínio. Esta opção está incluída para fins de integridade.Win9XUpgrade: indica que a operação de junção faz parte de uma atualização do sistema operacional Windows.
UnsecuredJoin: executa uma junção não segura. Para solicitar uma junção não segura, use o parâmetro Unsecure ou esta opção. Se você quiser passar uma senha de máquina, deverá usar essa opção em combinação com
PasswordPass
a opção.PasswordPass: define a senha do computador com o valor do parâmetro Credential(DomainCredential) após executar uma junção não segura. Essa opção também indica que o valor do parâmetro Credential (DomainCredential) é uma senha de computador, não uma senha de usuário. Essa opção é válida somente quando a
UnsecuredJoin
opção é especificada. Ao usar essa opção, a credencial fornecida ao-Credential
parâmetro deve ter um nome de usuário nulo.JoinWithNewName: renomeia o nome do computador no novo domínio para o nome especificado pelo parâmetro NewName . Quando você usa o parâmetro NewName , essa opção é definida automaticamente. Essa opção foi projetada para ser usada com o cmdlet Rename-Computer. Se você usar o
Rename-Computer
cmdlet para renomear o computador, mas não reiniciar o computador para efetivar a alteração, poderá usar esse parâmetro para ingressar o computador em um domínio com seu novo nome.JoinReadOnly: usa uma conta de computador existente para ingressar o computador em um controlador de domínio somente leitura. A conta do computador deve ser adicionada à lista permitida para a política de replicação de senha e a senha da conta deve ser replicada para o controlador de domínio somente leitura antes da operação de junção.
InstallInvoke: define os sinalizadores de criação (0x2) e exclusão (0x4) do parâmetro FJoinOptions do método JoinDomainOrWorkgroup . Para obter mais informações sobre o método JoinDomainOrWorkgroup , consulte o método JoinDomainOrWorkgroup da classe Win32_ComputerSystem. Para obter mais informações sobre essas opções, consulte Função NetJoinDomain.
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Tipo: | JoinOptions |
Valores aceitos: | AccountCreate, Win9XUpgrade, UnsecuredJoin, PasswordPass, DeferSPNSet, JoinWithNewName, JoinReadOnly, InstallInvoke |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-OUPath
Especifica uma unidade organizacional (UO) para a conta de domínio. Digite o nome distinto completo da UO entre aspas. O valor padrão é o padrão da UO para objetos do computador no domínio.
Tipo: | String |
Aliases: | OU |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-PassThru
Retorna um objeto que representa o item com que você está trabalhando. Por padrão, este cmdlet não gera saída.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Restart
Reinicia os computadores que foram adicionados ao domínio ou grupo de trabalho. Uma reinicialização é geralmente necessária para que as alterações entrem em vigor.
Este parâmetro é introduzido no Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Server
Especifica o nome de um controlador de domínio que adiciona o computador ao domínio. Digite o nome no formato DomainName\ComputerName. Por padrão, nenhum controlador de domínio é especificado.
Tipo: | String |
Aliases: | DC |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-UnjoinDomainCredential
Especifica uma conta de usuário que tenha permissão para remover os computadores de seus domínios atuais. O padrão é o usuário atual.
Digite um nome de usuário, como "User01" ou "Domain01\User01", ou insira um objeto PSCredential , como um gerado pelo Get-Credential
cmdlet. Se você digitar um nome de usuário, uma senha será solicitada.
Use esse parâmetro quando você estiver movendo computadores para um domínio diferente. Para especificar uma conta de usuário que tenha permissão para ingressar no novo domínio, use o parâmetro Credential . Para especificar uma conta de usuário que tenha permissão para se conectar a um computador remoto, use o parâmetro LocalCredential .
Este parâmetro é introduzido no Windows PowerShell 3.0.
Tipo: | PSCredential |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Unsecure
Executa um ingresso não seguro no domínio especificado.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-WhatIf
Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.
Tipo: | SwitchParameter |
Aliases: | wi |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-WorkgroupName
Especifica o nome de um grupo de trabalho para o qual os computadores são adicionados. O valor padrão é "WORKGROUP".
Tipo: | String |
Aliases: | WGN |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
Entradas
Você pode canalizar nomes de computador e novos nomes para o Add-Computer
Cmdlet.
Saídas
Quando você usa o parâmetro PassThru , Add-Computer
retorna um objeto ComputerChangeInfo .
Caso contrário, este cmdlet não gera nenhuma saída.
Observações
- No Windows PowerShell 2.0, o parâmetro Server of
Add-Computer
falha mesmo quando o servidor está presente. No Windows PowerShell 3.0, a implementação do parâmetro Server é alterada para que funcione de forma confiável.