Rejoining Domain Computers to a New Domain using PowerShell

Hi ,

We have about 100 computers which need to be removed from the domain, renamed and joined to a new domain. So, I cannot sit in front of every computer remove that from the domain, rename it and again join a new domain.

I know so many smart IT Pro gone through this road and manage to create an automated way to this process. So, I am planning to be done this process automatically for all of the computers.

Absolutely my answers is PowerShell and I am manage to create a script line by like Here are the PS commands I am using:

$credlocal  = Get-Credential COMPUTERNAME\local_admin

$creddomain = Get-Credential DOMAIN\domain_admin

Add-Computer -ComputerName OLDPCNAME –DomainName MY.DOMAIN.COM -NewName NEWPCNAME -LocalCredential $credlocal -DomainCredential $creddomain -Force -PassThru -Restart

But When I execute the command I am prompted for both credential passwords (as intended) but then the command errors out as:

"Add-Computer : Computer name OLDPCNAME cannot be resolved with the exception: One or more errors occurred..
At line:1 char:1
+ Add-Computer -ComputerName OLDPCNAME –DomainName my.domain.com - ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo         : InvalidArgument: ( OLDPCNAME :String) [Add-Computer], InvalidOperationException
    + FullyQualifiedErrorId : AddressResolutionException,Microsoft.PowerShell.Commands.AddComputerCommand"

Happy weekends any help appreciated.

Hello @Palmer
Welcome to community!:bouquet:

I hope this link would help you.
https://www.petri.com/add-computer-to-domain-powershell

here is the complete guide :

Join Single Computer To Domain with Powershell

Important Tip: You may need to run PowerShell as Administrator to avoid access denied errors. To do this just right-click the PowerShell icon and select “Run as Administrator”.

Open Powershell and run the following command. Change YourDomainName to your Active Directory domain name.

add-computer –domainname “YourDomainName” -restart

Example picture below running on my domain ad.activedirectorypro.com

You will get prompted to enter your credentials. This will need to be a Domain Administrator account or a user that has been delegated rights to join computers to the domain.

The computer should automatically restart and be joined to the domain.

Tip: Run help add-computer to see all the command line options (syntax)

Join Multiple Computers to the Domain From a Text File

To Join multiple computers to the domain you just need to create a text file and add the computer names to it.

In this example, I’ve created a text file called computers.txt and added PC2 and PC3 to it.

I’ve saved the text file to c:\it\computers.txt

With the text file setup I’ll run the following commands:

$computers = Get-Content -Path c:\it\computers.txt Add-Computer -ComputerName $computers -Domain “YourDomainName” -Restart

Example picture below running on my domain ad.activedirectorypro.com

The first line sets up a variable ($computers), which stores the values of the text file. The 2nd line is similar to the previous examples, now I just added the -ComputerName and the $computers variable.

This command will go through every computer listed in the text file and join them to the domain.

Pretty cool right? This will defiantly speed up the process of joining multiple computers to the domain.

Join Computer to Domain and specify OU Path With PowerShell

When you join a computer to the domain it will by default go the computers folder. It is best practice to move the computers from the default folder to a different OU.

Thankfully we can automate this with PowerShell when we join the computers to the domain.

Run this command to join a computer to the domain and specify the OU path.

Add-Computer -DomainName “Domain02” -OUPath “OU=testOU,DC=domain,DC=Domain,DC=com”

In the following example, I’ll be adding computers to the domain that go to the sales department. I have an OU setup called sales so I want the computers to automatically be moved to that OU.

The PowerShell command requires the distinguished name of the OU. The easiest way to get this is by navigating to the OU in Active Directory Users and Computers and opening the properties of the OU. Then click the Attribute Editor and copy the value of distinguishedName.

Now add this path to the command, below is the command for my domain. This will add the computer to the Sales OU in my Active Directory.

Add-Computer -DomainName “ad.activedirectorypro.com” -OUPath “OU=Sales,OU=ADPRO Computers,DC=ad,DC=activedirectorypro,DC=com”

I’ve just walked through three examples of using PowerShell to join computers to the domain. Now you can forget about logging into each computer and manually adding them to the domain. With PowerShell you can quickly add single or multiple computers at a time.

Try out these commands and let me know how they work by leaving a comment below.

Related: Huge List of PowerShell Commands for Active Directory

Recommended Tool: SolarWinds Server & Application Monitor (SAM)

This utility was designed to Monitor Active Directory and other critical applications. It will quickly spot domain controller issues, prevent replication failures, track failed logon attempts and much more.

What I like best about SAM is it’s easy to use dashboard and alerting features. It also has the ability to monitor virtual machines and storage.