In some situation an entire structure of Organization Units must be deleted, and by default new OUs are automatic defined to protect them against deletion which requires the administrator to uncheck a property on each OU before deleting the entire structure.
Let’s use the following scenario, where we are trying to delete the Argentina OU and all its sub-OUs using Active Directory Users and Computers. We need to select the desired parent OU, and then remove it, a new dialog box asking for confirmation will be displayed, click on Yes.
The following dialog box will be displayed
If the Organization Unit is configured against accidental deletion the following error message will be displayed, click on OK.
The solution for a single OU is simple, click on Properties, and click on Object tab. Uncheck the Protect object from accidental deletion and then try to delete and it will work.
However, if we are trying to delete an entire tree of OUs, then we need to uncheck every single OU from the tree. The best way to do that is using PowerShell, we can use the following cmdlet to retrieve of all Organization Units starting on the Argentina OU.
Get-ADOrganizationalUnit –Filter * –SearchBase “ou=Argentina,dc=domain,dc=local”
After confirming that we have all OUs underneath Argentina are being listed, then we need to uncheck that property from each OU and we can do that using the following cmdlet.
Get-ADOrganizationalUnit –Filter * –SearchBase “ou=Argentina,dc=domain,dc=local” | Set-ADObject =ProtectedFromAccidentalDeletion $False
After running the cmdlet above, we can try again to delete the entire Organization Unit tree.