Join Computer to Domain Using PowerShell

Join Computer to Domain Using PowerShell

By Robert Allen (https://activedirectorypro.com/join-computer-to-domain-using-powershell/)

In this tutorial, you’ll learn how to join a computer to the domain using PowerShell.

I will provide step by step instructions for adding a single computer and multiple computers to the domain.

Also, I’ll show you how to move the computer to an OU once it’s been added to the domain.

Let’s get started.

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 

AD Pro Toolkit

10 tools to simplify and automate Active Directory administration.

  • Bulk User Import tool
  • AD Cleanup Tool
  • Export user and group membership,
  • NTFS Permissions Reporter
  • and more!

Join Computer to Domain Using PowerShell

Robert Allen/August 25, 2018/

In this tutorial, you’ll learn how to join a computer to the domain using PowerShell.

I will provide step by step instructions for adding a single computer and multiple computers to the domain.

Also, I’ll show you how to move the computer to an OU once it’s been added to the domain.

Let’s get started.

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.

Pablo Villaronga

Pablo Villaronga is the the founder of Firstcloud.io, a technical advisor, author, and mentor for people working with cloud-native technologies. I broke into the IT industry in the late 1990's I landed my first job answering calls on the help desk. I quickly became IT obsessed. Fast forward to today, and I've worked for tech giants like Microsoft and Amazon, and have founded a successful consulting company. I'm proud to be recognized as part of Microsoft Azure Community. I believe that anyone can create a successful career in the tech industry and my goal is to shorten that learning curve for others.