Posted in ActiveDirectory, Powershell

Leaves or not – Removing an AD Computer Object

I read two posts  recently about removing computers from AD, specifically Computers with leaf objects. A computer can have leaf objects for several things, as an example a PrintServer has leaf objects for each Print Queue. I remember coming into the issue with leaf objects in the past. Blindly using Remove-ADObject can be problematic as was mentioned in one of the posts I was reading. If you have ever run a Remove-ADcomputer and received an error you may have just went into AD Computers and Users and just deleted … ugggh lots of mouse clicking.

I took this as a chance to just write a quick piece of PowerShell code that might provide  a better way to handle this. I took a chuck of code which was part of a ForEach loop just to provide a simple one-for-one you can use with which you can test and have some peace of mind.

$testCase = Get-ADComputer somecomputername
$leafObjects = get-ADObject -Filter * -SearchBase $testCase.DistinguishedName
If ($leafObjects.count -gt 0) {
# Leaf objects involved so Remove-ADObject
"Removing $(testCase.Name) with Remove-ADObject"
Remove-ADObject $testCase.DistinguishedName -Recursive -Confirm:$False -Force
Else {
# No leaf objects found so we can use the Computer specific method
"Removing $(testCase.Name) with Remove-ADComputer"
$testCase | Remove-ADComputer -Confirm:$False -Force

Again this was just some code I scratchpad-ed, any feedback is welcome.

Getting PowerShell Code into a post is just a pain…. where are my tabs? even if I precede indented text with four spaces


USMC, CVID, Technology, PowerShell... just general ramblings

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s