Skip to content

PowerShell script to remove all Active Directory computers in a list

You made an awesome list of old computers and now you want to delete these computers using PowerShell for the sake of cleaning up AD.

The Script

Here you go:

Import-Module ActiveDirectory

ManageEngine Applications Manager

Get-Content C:\scripts\to-delete.txt | % { Get-ADComputer -Filter { Name -eq $_ } } | Remove-ADObject -Recursive -WhatIf

Explanation

Separate each action by the pipe, that’s the little thing that looks like |

Get-Content is where you’ll grab the information in the text file. Mine was located at C:\scripts\to-delete.txt but you can put it anywhere as long as you write out the whole path.

The Get-ADComputer -Filter is comparing the computers that are there to folders that are in your list. Don’t worry about the syntax, just trust it.

Finally, remove the ADObject using Remove-ADObject

active directory auditing solutions

Remove-ADObject instead of Remove-ADComputer?!

Yes. This is because it performs the same result as Remove-ADComputer but with Remove-ADObject you can add -Recrusive. Why!? Because some objects in AD have sub objects. For example, some of the computers in my list had an OU underneath it. You’ll get a nasty message if you don’t do this. It looks like this:

Remove-ADComputer : The directory service can perform the requested operation only on a leaf objectAt line:x