I was recently conducting an experiment that involved creating a ton of Organizational Units in Active Directory. Typically, when new OUs are created, they have a flag set on them that says "Protect object from accidental deletion."
This is normally fine, as you wouldn't want an admin to accidentally delete an entire OU full of users and computers. But I had created a large hierarchy of OUs to conduct an experiment, and now that it was done, I wanted to get rid of all the OUs. Like, immediately. And I didn't want to sit in the AD Users & Computers GUI and uncheck that box on every OU, one at a time, so that it would let me delete them.
$AllOUs = Get-ADObject -Filter "ObjectClass -EQ 'organizationalUnit'" `
-SearchBase 'OU=TestOUs,DC=CONTOSO,DC=COM' -Properties *
Foreach ($OU In $AllOUs)
Set-ADOrganizationalUnit $OU.DistinguishedName `
Now I can just delete the base of the tree and they'll all vanish.