Add-Computer

Adicione o computador local a 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 move-os de um domínio para outro. Ele também cria uma conta de domínio se o computador for 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 executar uma associaçã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, em seguida, 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 tornar a alteração eficaz.

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

Este 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 para as 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 associar computadores ao 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 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 os três computadores após a conclusão da mudança.

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 da máquina para Server044.

O comando usa a credencial do usuário atual para se conectar ao computador Server01 e desassociá-lo de seu domínio atual. Ele usa o parâmetro Credential para especificar uma conta de usuário que tenha permissão para associar o computador ao 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

Este 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á tenha 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 senha de associação temporária em um domínio usando um computador associado a um 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 associação temporária. A palavra-passe predefinida só é utilizada para suportar a operação de associação e é substituída como parte dos procedimentos normais da conta de computador depois de o computador concluir a adesã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 Ative Directory gravando 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. A predefinição é o computador local.

Digite o nome NetBIOS, um endereço IP (Internet Protocol) 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 se o computador não estiver configurado para executar comandos remotos.

Esse parâmetro é introduzido no Windows PowerShell 3.0.

Tipo:String[]
Position:Named
Default value:Local computer
Necessário:False
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-Confirm

Solicita a sua confirmação antes de executar o cmdlet.

Tipo:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-Credential

Especifica uma conta de usuário que tem permissão para ingressar os computadores em um novo domínio. A predefinição é o utilizador atual.

Digite um nome de usuário, como "User01" ou "Domain01\User01", ou insira um objeto PSCredential , como um Get-Credential gerado pelo cmdlet. Se escrever um nome de utilizador, ser-lhe-á solicitada uma palavra-passe.

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
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-DomainName

Especifica o domínio ao qual os computadores são adicionados. Este parâmetro é necessário ao adicionar os computadores a um domínio.

Tipo:String
Aliases:DN, Domain
Position:0
Default value:None
Necessário:True
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-Force

Suprime o prompt de confirmação do usuário. Sem este parâmetro, Add-Computer requer que você confirme a adição de cada computador.

Esse parâmetro é introduzido no Windows PowerShell 3.0.

Tipo:SwitchParameter
Position:Named
Default value:False
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-LocalCredential

Especifica uma conta de usuário que tem permissão para se conectar aos computadores especificados pelo parâmetro ComputerName . A predefinição é o utilizador atual.

Digite um nome de usuário, como "User01" ou "Domain01\User01", ou insira um objeto PSCredential , como um Get-Credential gerado pelo cmdlet. Se escrever um nome de utilizador, ser-lhe-á solicitada uma palavra-passe.

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 .

Esse parâmetro é introduzido no Windows PowerShell 3.0.

Tipo:PSCredential
Position:Named
Default value:Current user
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais: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.

Esse parâmetro é introduzido no Windows PowerShell 3.0.

Tipo:String
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:True
Aceitar carateres universais: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írgula.

Os valores aceitáveis para este 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 ser completa.

  • Win9XUpgrade: Indica que a operação de junção faz parte de uma atualização do sistema operacional Windows.

  • UnsecuredJoin: Executa uma associação não segura. Para solicitar uma associação não segura, use o parâmetro Unsecure ou esta opção. Se você quiser passar uma senha de máquina, então você deve usar esta opção em combinação com PasswordPass a opção.

  • PasswordPass: define a senha da máquina como o valor do parâmetro Credential(DomainCredential) depois de executar uma associação não segura. Essa opção também indica que o valor do parâmetro Credential (DomainCredential) é uma senha de máquina, não uma senha de usuário. Esta opção só é válida quando é UnsecuredJoin especificada. Ao usar essa opção, a credencial fornecida para o -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 tornar a alteração efetiva, poderá usar esse parâmetro para associar o computador a um domínio com seu novo nome.

  • JoinReadOnly: usa uma conta de máquina existente para associar o computador a um controlador de domínio somente leitura. A conta da máquina 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 associação.

  • InstallInvoke: define os sinalizadores create (0x2) e delete (0x4) do parâmetro FJoinOptions do método JoinDomainOrWorkgroup . Para obter mais informações sobre o método JoinDomainOrWorkgroup , consulte Método JoinDomainOrWorkgroup da classe Win32_ComputerSystem. Para obter mais informações sobre essas opções, consulte Função NetJoinDomain.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:JoinOptions
Valores aceites:AccountCreate, Win9XUpgrade, UnsecuredJoin, PasswordPass, DeferSPNSet, JoinWithNewName, JoinReadOnly, InstallInvoke
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-OUPath

Especifica uma unidade organizacional (UO) para a conta de domínio. Insira o nome distinto completo da UO entre aspas. O valor padrão é a UO padrão para objetos de máquina no domínio.

Tipo:String
Aliases:OU
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-PassThru

Retorna um objeto que representa o item com o qual você está trabalhando. Por padrão, esse cmdlet não gera nenhuma saída.

Tipo:SwitchParameter
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-Restart

Reinicia os computadores que foram adicionados ao domínio ou grupo de trabalho. Muitas vezes, é necessário reiniciar para tornar a alteração efetiva.

Esse parâmetro é introduzido no Windows PowerShell 3.0.

Tipo:SwitchParameter
Position:Named
Default value:False
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais: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
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-UnjoinDomainCredential

Especifica uma conta de usuário que tem permissão para remover os computadores de seus domínios atuais. A predefinição é o utilizador atual.

Digite um nome de usuário, como "User01" ou "Domain01\User01", ou insira um objeto PSCredential , como um Get-Credential gerado pelo cmdlet. Se escrever um nome de utilizador, ser-lhe-á solicitada uma palavra-passe.

Use esse parâmetro quando 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 .

Esse parâmetro é introduzido no Windows PowerShell 3.0.

Tipo:PSCredential
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-Unsecure

Executa uma associação não segura ao domínio especificado.

Tipo:SwitchParameter
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-WhatIf

Apresenta o que aconteceria mediante a execução do cmdlet. O cmdlet não é executado.

Tipo:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-WorkgroupName

Especifica o nome de um grupo de trabalho ao qual os computadores são adicionados. O valor padrão é "WORKGROUP".

Tipo:String
Aliases:WGN
Position:0
Default value:None
Necessário:True
Aceitar entrada de pipeline:False
Aceitar carateres universais: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, esse cmdlet não gerará nenhuma saída.

Notas

  • No Windows PowerShell 2.0, o parâmetro Server de Add-Computer falha mesmo quando o servidor está presente. No Windows PowerShell 3.0, a implementação do parâmetro Server é alterada para que ele funcione de forma confiável.