Le unità organizzative in Active Directory (AD) aiutano gli amministratori a categorizzare gli utenti in base ai diversi dipartimenti dell’organizzazione. Quando viene eliminata un’unità organizzativa, è necessario ripristinarla assieme a tutti gli oggetti in essa contenuti. È necessario ripristinare anche le informazioni vitali quali GPO applicate alle unità organizzative ed eventuali gruppi di sicurezza ai quali i membri dell’unità organizzativa facevano parte.
Il presente articolo spiegherà le varie modalità di ripristino delle unità organizzative nidificate eliminate.
Active Directory offre una funzionalità Cestino disabilitata per impostazione predefinita che deve essere abilitata manualmente. Se Cestino è abilitato nell'ambiente in uso, fornisce un margine aggiuntivo nel ripristino delle unità organizzative con tutte le informazioni necessarie.
Se il Cestino non è abilitato, l’unità organizzativa eliminata sarà spostata al contenitore Oggetti eliminati e privata della maggior parte degli attributi. L’unità organizzativa resta nello stato tombstone per 60-180 giorni in base alla versione di Windows Server e delle impostazioni di configurazione. Tuttavia, l’unità organizzativa può essere ripristinata tramite gli strumenti nativi quali PowerShell o l’utilità LDP, ma gli attributi mancanti dovranno essere aggiunti manualmente.

Quando il Cestino è abilitato, l’unità organizzativa sarà comunque spostata al contenitore Oggetti eliminati, tuttavia tutti i suoi attributi saranno conservati per una durata specificata dall'attributo msDS-deletedObjectLifetime. In questa fase, è possibile ripristinare l’unità organizzativa con tutti i suoi attributi integri.
Quando il periodo msDS-deletedObjectLifetime scade, l’oggetto sarà spostato allo stato Oggetto riciclato e la maggior parte degli attributi sarà eliminata. Gli oggetti resteranno in questo stato come specificato dall’attributo tombstoneLifetime. Una volta scaduto il periodo tombstoneLifetime, l’oggetto sarà rimosso dal database dal processo garbage-collection e non potrà essere ripristinato.
Per conservare tutti gli attributi degli oggetti eliminati, è necessario abilitare il Cestino di AD.
Prima di abilitare il Cestino di AD, assicurarsi che il dominio e il Forest Functional Level siano almeno della versione Windows Server 2008 R2.
Nota: Una volta abilitato il cestino di AD, non può essere disabilitato.
Per abilitare il cestino di AD, esegui il seguente comando nella PowerShell.
Enable-ADOptionalFeature –Identity 'CN=Recycle Bin Feature,CN=Optional Features,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=www,DC=zylker'DC=com' –Scope ForestOrConfigurationSet –Target 'www.zylker.com'
Se sono in uso le versioni Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, o Windows Server 2012, è possibile utilizzare il Centro amministrativo di Active Directory per abilitare il Cestino.
In qualità di amministratore, questi sono gli strumenti nativi che possono essere utilizzati per ripristinare le unità organizzative con tutti gli attributi integri, a condizione che il Cestino di AD sia stato abilitato.
Si prega di tener presente il seguente scenario: L'amministratore di example.com elimina per errore un’unità organizzativa (OU) nidificata chiamata HR_Department, che contiene gli account utente dei dipendenti del dipartimento HR. L'eliminazione dell’unità organizzativa porta all’eliminazione di un’unità organizzativa nidificata chiamata Manager, che contiene account utente dei manager che lavorano nel dipartimento HR. Jack, Vincent e Emma sono gli account utente dell’unità organizzativa HR_Department. Harry è un account utente dell’unità organizzativa Manager. L’immagine seguente mostra la gerarchia dell’unità organizzativa HR_Department.

Il presente articolo spiegherà come questi oggetti possano essere ripristinati tramite gli strumenti AD nativi.
Nota: Quando si ripristinano gli oggetti con strumenti nativi, è necessario iniziare a ripristinare gli oggetti dal livello più alto della gerarchia perché gli oggetti eliminati possono essere ripristinati solamente in una categoria principale attiva.
Per ripristinare un oggetto eliminato, aprire PowerShell e digitare il seguente comando:
Restore-ADObject -Identity $dn
$dn è il nome distinto dell’oggetto da ripristinare. Per individuare il nome distinto dell’oggetto, utilizzare il seguente script in PowerShell:
(Get-ADObject -SearchBase (get-addomain).deletedobjectscontainer -IncludeDeletedObjects -filter "samaccountname -eq '%OLD_NAME%' ")
Per individuare il nome distinto dell’oggetto ed eseguire il ripristino, utilizzare il seguente script in PowerShell:
(Get-ADObject -SearchBase (get-addomain).deletedobjectscontainer -IncludeDeletedObjects -filter "samaccountname -eq '%OLD_NAME%' ") | Restore-ADObject
%OLD_NAME% è il nome dell’oggetto prima dell’eliminazione.

A differenza del ripristino di un solo oggetto, il ripristino di un’unità organizzativa e gli oggetti che la costituiscono è una procedura a più fasi.
Se si considera lo scenario di cui sopra, quando di elimina l’unità organizzativa HR_Department, tutti gli oggetti in esso contenuti, un totale di sei oggetti e le due unità organizzative e i quattro utenti, sono spostati del contenitore Oggetti eliminati con il relativo nome distinto storpiato. Il contenitore Oggetti eliminati visualizza tutti gli oggetti eliminati in una gerarchia piana poiché gli elementi secondari diretti e la gerarchia originale è andata perduta. Se l'amministratore deve ripristinare l’unità organizzativa HR_Department, sarà necessario identificare in qualche modo la gerarchia originale dell’unità organizzativa.
Per ripristinare HR_Department dell’unità organizzativa, sarà necessario innanzitutto trovare la gerarchia originale dell’unità organizzativa.
Se si conosce la gerarchia originale dell’unità organizzativa eliminata, è possibile utilizzare il cmdlet Restore_ADObject per recuperare gli oggetti eliminati di un livello di gerarchia alla volta.
Se non si conosce la gerarchia originale, è necessario identificare innanzitutto la gerarchia prima di avviare il processo di ripristino.
Ad esempio, se si desidera individuare la gerarchia dell’account utente Emma, è necessario costruire il cmdlet PowerShell in modo che venga restituito l’attributo lastKnownParent di Emma.
Get-ADObject -SearchBase "CN=Deleted Objects,DC=validate4,DC=com" -ldapFilter:"(msDs-lastKnownRDN=Emma)" –IncludeDeletedObjects –Properties lastKnownParent

Nell’output restituito dal cmdlet, il valore lastKnownParent per Emma è HR_Department. Si noti che il nome distinto dell’unità organizzativa HR_Department viene storpiato ad indicare che lo stesso oggetto dell’unità organizzativa HR_Department è stato eliminato.
Ecco un esempio di un nome distinto storpiato:
OU=HR_Department\0ADEL:d662511-4bde-b24e-f665bfa96e7b,CN=Deleted Objects,DC=validate4,DC=com
Sarà quindi necessario cercare gli oggetti nel contenitore Oggetti eliminati il cui valore lastKnownParent è HR_Department.
Get-ADObject –SearchBase "CN=Deleted Objects,DC=validate4,DC=com" -Filter {lastKnownParent -eq 'OU=HR_Department\\0ADEL:d662511-4bde-b24e-f665bfa96e7b,CN=Deleted Objects,DC=example,DC=com'} -IncludeDeletedObjects -Properties lastKnownParent | ft

Nell’output restituito dal cmdlet, Manager è un’unità organizzativa. Adesso è necessario ricercare tutti gli oggetti eliminati contenuti nell’unità organizzativa Manager. Gli oggetti dell’unità organizzativa Manager conterranno un attributo lastKnownParent uguale a Manager.
Get-ADObject –SearchBase "CN=Deleted Objects,DC=validate4,DC=com" -Filter {lastKnownParent -eq 'OU=Managers\\0ADEL:83fb259c-b3f6-452f-a423-37f7fb11e0d0,CN=Deleted Objects,DC= validate4,DC=com'} -IncludeDeletedObjects -Properties lastKnownParent | ft

Nell’output visualizzato dal cmdlet, si vedrà solamente l’account utente Harry e nessun altro oggetto all’interno dell’unità organizzativa. Adesso si avrà l’elenco di tutti gli oggetti eliminati e sarà possibile avviare il ripristino. Poiché l’unità organizzativa HR_Department è l’oggetto in alto alla gerarchia, è necessario ripristinarla. Poiché tutte le precedenti fasi investigative sono state eseguite tramite l’attributo lastKnownParent, che punta all’elemento principale diretto dell’oggetto e non indica se l’oggetto principale successivo sia stato eliminato o meno, gli amministratori possono verificare che il valore lastKnownParent per HR_Department sia un’unità organizzativa attiva eseguendo uno dei seguenti comandi:
Get-ADObject -SearchBase "CN=Deleted Objects,DC= validate4,DC=com"
-ldapFilter:"(msDs-lastKnownRDN=HR_Department)" –IncludeDeletedObjects –Properties lastKnownParent

Questo conclude l’investigazione e sarà possibile ripristinare l’unità organizzativa HR_Department alla gerarchia e stato originale.
Per ripristinare l’unità organizzativa HR_Department tramite PowerShell, eseguire le seguenti azioni nel controller di dominio.
Get-ADObject -ldapFilter:"(msDS-LastKnownRDN=HR_Department)" –IncludeDeletedObjects | Restore-ADObject

Get-ADObject -SearchBase "CN=Deleted Objects,DC= validate4,DC=com" -Filter {lastKnownParent -eq 'OU=HR_Department,DC= validate4,DC=com'} -IncludeDeletedObjects | Restore-ADObject

Get-ADObject -SearchBase "CN=Deleted Objects,DC=validate4,DC=com" -Filter {lastKnownParent -eq 'OU=Admins,OU=HR_Department,DC=validate4,DC=com'} -IncludeDeletedObjects | Restore-ADObject

Prova gratuita di 30 giorni
Nota: Quando si ripristinano gli oggetti presenti all’interno dell’unità organizzativa, accertarsi che il nome distinto fornito contenga il nome dell’unità organizzativa principale. Ad esempio, se si sta ripristinando l’utente Emma Roberts, il DN deve essere CN=Emma Roberts,CN=HR,DC=Terminator,DC=com. Se l’unità organizzativa principale non è menzionata, l’oggetto utente sarà ripristinato al dominio radice e sarà necessario spostarlo manualmente nell’unità organizzativa HR.
Per ripristinare le unità organizzative eliminate tramite il Centro amministrativo,
È necessario eseguire il ripristino in modo gerarchico e ogni oggetto utente sarà ripristinato all’unità organizzativa nella quale era presente prima dell’eliminazione. Saranno ripristinati tutti gli attributi e le relative informazioni dell’appartenenza al gruppo.
Dagli esempi di cui sopra si deduce che PowerShell, utilità LDP e Centro amministrativo di Active Directory possono essere utilizzati per ripristinare unità organizzative eliminate, tuttavia il loro processo di ripristino non è sempre intuitivo.
I tre strumenti nativi hanno un paio di mancanze
1. Mancanza di ripristino gerarchico.
2. È necessario abilitare il cestino di AD nativo e un alto valore per l’attributo Tombstone Lifetime potrebbe aumentare le dimensioni di Directory Information Tree (DIT).
Inoltre, il ripristino delle unità organizzative nidificate tramite PowerShell e utilità LDP implica numerosi passaggi che ne aumentano la complessità qualora vi sia un numero elevato di oggetti all’interno dell’unità organizzativa.
RecoveryManager Plus consente di superare tutte queste mancanze degli strumenti nativi aggiungendo maggior valore in termini delle loro capacità.
Considerando lo stesso caso d’uso di cui sopra, la seguente sezione spiega come RecoveryManager Plus possa essere utilizzato per ripristinare tutti gli oggetti eliminati.
A differenza degli strumenti nativi che necessitano di ripristinare gli oggetti dal più alto livello gerarchico, RecoveryManager Plus consente di ripristinare qualsiasi oggetto indipendentemente dalla sua gerarchia originale. Quando si elimina un oggetto e il relativo contenitore principale, il ripristino dell’oggetto eliminato ripristina automaticamente anche il contenitore principale, eliminando così la necessità di ripristino individuale dei contenitori.
RecoveryManager Plus consente di ripristinare gli oggetti con tutti i loro attributi integri anche se il Cestino nativo non è abilitato. Questo è possibile perché RecoveryManager Plus prevede la funzionalità di un proprio Cestino. Qui è possibile trovare tutti gli oggetti AD eliminati ed è persino possibile vedere in anteprima gli attributi che saranno ripristinati assieme all’oggetto. È inoltre possibile utilizzare i filtri disponibili per limitare i risultati della ricerca per il tipo di oggetto necessario (utente, unità organizzativa, gruppo, etc) o ricercare l’oggetto eliminato per nome.
Quando viene eliminata l’intera unità organizzativa HR_Department, è possibile trovare l’unità organizzativa eliminata e i relativi oggetti in esso contenuti nel cestino di RecoveryManager Plus.
Se l’amministratore conosce la gerarchia originale dell’unità organizzativa eliminata, l’amministratore può selezionare solo il contenitore principale e riciclarlo, e di conseguenza saranno ripristinati automaticamente tutti gli oggetti dell’unità organizzativa.

Oltre al ripristino degli oggetti eliminati, RecoveryManager Plus è uno strumento complesso con molte funzionalità che lo rendono indispensabile per gli amministratori che desiderano un controllo totale sui contenuti della loro AD.
| Funzionalità | PowerShell | Utilità LDP | Centro amministrativo di Active Directory | RecoveryManager Plus |
|---|---|---|---|---|
| Consente di ripristinare oggetti AD attivi a una qualsiasi versione precedente | ||||
| Rollback AD | ||||
| Ripristino GPO granulare |
Maggiori informazioni sulle diverse funzionalità che offre RecoveryManager Plus.
Valuta RecoveryManager Plus e prova le funzionalità di backup e ripristino degli oggetti AD. La versione di prova include l’assistenza, qualora necessaria. Scarica adesso la prova gratuita di 30 giorni con piene funzionalità.