Compartilhar via


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

String

Você pode canalizar nomes de computador e novos nomes para o Add-Computer Cmdlet.

Saídas

ComputerChangeInfo

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.