First of all please let me know whether you have deleted the two OU's (or) you have deleted only the objects within that OU.

In case if you have deleted only the objects within that OU if you are trying to restore all the objects from OU "Enterprise" as well as OU's "Branch01 and Branch02" at the same time, please read the below explanation.

All the Deleted objects in Active directory are stored within the Deleted Objects container(In case of Recycle Bin feature Turned OFF)

The Deleted Objects container displays all logically deleted objects in a flat hierarchy as its direct children. So it will not have the same hierarchical model as you had in Active Directory. In this case If you want to restore all the
Deleted objects within a OU, you have to just add a filter in the Get-ADObject cmdlet which specifies the lastKnownParent of the objects to be restored.

In your case, If you want to restore the Objects within the "Enterprise" OU's, then the lastKnownParent value of the objects within that OU are "Enterprise"(OU from which the User account was deleted).

Here is an equivalent to what you have above, using an LDAP filter instead. msds-lastknownrdn is the attribute identifier that will ensure you only get deleted items. FYI if you are looking for a single object, assuming it's a group, user or other
object with a pre win2000 name, you can edit the LDAP filter to look just for it (second example).

Microsoft is conducting an online survey to understand your opinion of the Technet Web site. If you choose to participate, the online survey will be presented to you when you leave the Technet Web site.