Recherche de site Web

SharePoint Online : restaurer les fichiers supprimés de la corbeille à l'aide de PowerShell


Exigence : Restaurez les fichiers de la corbeille dans SharePoint Online à l'aide de PowerShell.

Comment restaurer des fichiers depuis la corbeille dans SharePoint Online ?

Il arrive parfois que nous ayons besoin d'un moyen de récupérer des fichiers ou des dossiers supprimés par erreur. La corbeille SharePoint est plus ou moins similaire à celle que vous avez dans votre corbeille Windows sur votre bureau, vous permettant d'afficher et de restaurer les éléments manquants/corrompus/supprimés de votre site. Comme aucune sauvegarde intégrée n'est disponible pour SharePoint Online, la corbeille peut vous aider à récupérer les éléments supprimés et à éviter la perte de données pendant 93 jours maximum. Alors, comment récupérer un fichier supprimé dans SharePoint Online ?

Pour restaurer des éléments de la corbeille SharePoint Online, procédez comme suit :

  1. Accédez au site SharePoint sur lequel vous souhaitez restaurer les éléments supprimés de la corbeille.
  2. Cliquez sur l'icône d'engrenage Paramètres >> Choisissez le lien « Contenu du site » dans le menu des paramètres du site.
  3. Cliquez sur le lien Corbeille dans le coin supérieur droit de la page Contenu du site. Vous serez dirigé vers la page Corbeille du site (et non de la collection de sites !), qui répertorie tous les éléments de la corbeille.

  4. Pour restaurer des éléments de la corbeille du site, cochez la case de chaque élément que vous souhaitez restaurer sur la page Corbeille et cliquez sur le bouton « Restaurer ». Sélectionnez tous les éléments si vous souhaitez récupérer tous vos fichiers. Alternativement, vous pouvez sélectionner uniquement les fichiers que vous souhaitez restaurer et cliquer sur Restaurer.

Les éléments sélectionnés sont restaurés et la page Corbeille de l'utilisateur final est actualisée pour refléter la modification. Cela peut être utile si vous supprimez accidentellement un élément ou s'il est supprimé par quelqu'un d'autre et que vous devez le restaurer. Si vous ne trouvez pas les fichiers supprimés dans la corbeille de premier niveau, vous pouvez effectuer une recherche dans la corbeille de deuxième niveau.

Récupérer les fichiers et dossiers supprimés de la corbeille de la collection de sites

Si vous disposez des autorisations d'administrateur de la collection de sites, vous pouvez utiliser la « Corbeille de la collection de sites » et restaurer les éléments de n'importe quel site de la collection de sites. Si un élément est supprimé de la corbeille de la collection de sites ou s'il dépasse la durée de conservation, il est définitivement supprimé. Voici comment restaurer un dossier dans SharePoint Online :

  1. Accédez au site de niveau supérieur dans la collection de sites (Root Web) en tant qu'administrateur de site.
  2. Cliquez sur l'icône Paramètres >> Sélectionnez le lien « Paramètres du site » dans le menu Paramètres.
  3. Sur la page Paramètres du site, cliquez sur le lien « Corbeille » dans la section « Administration de la collection de sites ».
  4. Recherchez et sélectionnez le document supprimé et cliquez sur « Restaurer la sélection ».

Vous pouvez désormais suivre les mêmes étapes pour restaurer n’importe quel élément de la corbeille de l’administrateur de la collection de sites.

Assurez-vous de ne pas avoir de fichier ou de dossier portant le même nom dans la corbeille. Sinon, vous vous retrouverez avec une erreur : « Un dossier portant ce nom « Nom du dossier » existe déjà dans « Emplacement ». Pour restaurer le dossier, renommez le dossier existant et réessayez. De même, nous pouvons restaurer des éléments supprimés tels que des fichiers ou des dossiers à l'aide de PowerShell.

Comment récupérer une bibliothèque de documents supprimés dans SharePoint Online ?

Si vous avez déjà accidentellement supprimé une bibliothèque de documents dans SharePoint Online, suivez les étapes ci-dessous pour la récupérer.

  1. Accédez au site SharePoint Online sur lequel vous avez supprimé la bibliothèque de documents.
  2. Cliquez sur les paramètres dans le coin supérieur droit et sélectionnez Informations sur le site >> Afficher tous les paramètres du site.
  3. Sur la page des paramètres du site, faites défiler jusqu'à la section d'administration de la collection de sites et cliquez sur « Corbeille ».
  4. Recherchez la bibliothèque de documents que vous avez accidentellement supprimée et cliquez sur le bouton de restauration à côté. Si vous ne le trouvez pas, vérifiez la corbeille « Deuxième étape ».
  5. C'est ça! Votre bibliothèque de documents a maintenant été restaurée avec succès.
Comment vérifier qui a supprimé un fichier dans SharePoint Online ? Il suffit de regarder la colonne « Supprimé par » !

Les listes, éléments de liste, bibliothèques, fichiers et versions de fichiers peuvent être restaurés à leur emplacement d'origine si leurs parents n'ont pas déjà été supprimés. Si un fichier a été supprimé, vous ne pouvez pas restaurer une version d'un fichier. C'est parce que la suppression d'un fichier supprime toutes les versions du fichier. Il en va de même si la bibliothèque à laquelle appartenait le fichier a été supprimée. Une bibliothèque doit être restaurée avant que le fichier puisse être restauré.

Comment récupérer des fichiers supprimés définitivement de SharePoint Online ? Les administrateurs peuvent contacter le support Microsoft si le contenu est introuvable dans les corbeilles de l'utilisateur final et de la collection de sites.

SharePoint Online : PowerShell pour restaurer les éléments de la corbeille

PowerShell est un moyen efficace de restaurer les fichiers supprimés dans SharePoint Online qui se trouvent toujours dans la corbeille. Restaurons tous les éléments supprimés par un utilisateur particulier dans une collection de sites SharePoint Online :


#Load SharePoint Online Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
    
##Variables for Processing
$SiteUrl = "https://crescent.sharepoint.com/sites/marketing"
$DeletedByUserEmail = "salaudeen@crescent.com"

#Get Credentials to connect
$Cred= Get-Credential
  
Try {    
    #Setup the context
    $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteUrl)
    $Ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)
     
    #Get the Site recycle bin
    $Site = $Ctx.Site
    $RecycleBinItems = $Site.RecycleBin
    $Ctx.Load($Site)
    $Ctx.Load($RecycleBinItems)
    $Ctx.ExecuteQuery()
 
    #Get all items deleted by a specific user
    $DeletedItemsByUser = $RecycleBinItems | Where {$_.DeletedByEmail -eq $DeletedByUserEmail}
    Write-Host "Total Number of Items Deleted by User in Recycle Bin:" $DeletedItemsByUser.Count
     
    #sharepoint online restore deleted files using PowerSehll
    $DeletedItemsByUser | ForEach-Object { $_.Restore(); Write-host "Restored Itme:"$_.Title }
    $Ctx.ExecuteQuery()    
}
catch {
    write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
}

Ce PowerShell récupère les fichiers et dossiers SharePoint supprimés. De même, nous pouvons restaurer les éléments supprimés en fonction de la date de suppression.

SharePoint Online PowerShell pour restaurer les éléments de la corbeille

Restaurons tous les éléments supprimés aujourd'hui ! Voici comment restaurer en masse depuis la corbeille à l’aide de PowerShell :


#Load SharePoint Online Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
    
##Variables for Processing
$SiteUrl = "https://crescent.sharepoint.com/sites/marketing"
$DeletedDate = (Get-Date).Date #Get Today's Date

#Get Credentials to connect
$Cred= Get-Credential
  
Try {    
    #Setup the context
    $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteUrl)
    $Ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)
     
    #Get the Site recycle bin
    $Site = $Ctx.Site
    $RecycleBinItems = $Site.RecycleBin
    $Ctx.Load($Site)
    $Ctx.Load($RecycleBinItems)
    $Ctx.ExecuteQuery()
 
    #Get all items deleted on given date
    $DeletedItems = $RecycleBinItems | Where { ($_.DeletedDate).Date -eq $DeletedDate }
    Write-Host "Total Number of Items Deleted on given Date:" $DeletedItems.Count
     
    #Restore items from Recylce bin
    $DeletedItems | ForEach-Object { $_.Restore(); Write-host "Restored Item:"$_.Title }
    $Ctx.ExecuteQuery()    
}
catch {
    write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
} 

Ces étapes peuvent être utilisées pour restaurer facilement et efficacement les fichiers supprimés de la corbeille.

PnP PowerShell pour restaurer les éléments de la corbeille dans SharePoint Online

Restaurons les éléments supprimés au cours des sept derniers jours à l'aide du script PnP PowerShell.


#Parameter
$SiteURL= "https://crescent.sharepoint.com/sites/marketing"

#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Credentials (Get-Credential)

#Get All Items Deleted in the Past 7 Days
$DeletedItems = Get-PnPRecycleBinItem -RowLimit 500000 | Where { $_.DeletedDate -gt (Get-Date).AddDays(-7) }

#Restore Recycle bin items matching given query
$DeletedItems | Restore-PnpRecycleBinItem -Force

Restaurer tous les fichiers supprimés d'une bibliothèque en ligne SharePoint particulière

De même, vous pouvez restaurer tous les éléments supprimés d'un site, d'un sous-site, d'une bibliothèque ou d'un dossier spécifique à l'aide de PowerShell :


#Parameter
$SiteURL= "https://crescent.sharepoint.com/sites/marketing"
$DirPath = "sites/marketing/Shared Documents"

#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Interactive

#Get All Items deleted from a specific path or library
$DeletedItems = Get-PnPRecycleBinItem -RowLimit 500000 | Where { $_.DirName -like "$DirPath*"} | Restore-PnpRecycleBinItem -Force

Que diriez-vous d’ignorer le fichier ou le dossier s’il existe déjà ?


#Parameter
$SiteURL= "https://crescent.sharepoint.com/sites/marketing"
$DirPath = "sites/marketing/Migration"
 
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Interactive

#Get the Web
$Web = Get-PnPWeb
 
#Get All Items deleted from a specific path or library - sort by most recently deleted
$DeletedItems = Get-PnPRecycleBinItem -RowLimit 500000 | Where { $_.DirName -like "$DirPath*"} | Sort-Object -Property DeletedDate -Descending

#Restore all deleted items from the given path to its original location
ForEach($Item in $DeletedItems)
{
    #Get the Original location of the deleted file
    $OriginalLocation = "/"+$Item.DirName+"/"+$Item.LeafName
    If($Item.ItemType -eq "File")
    {
        $OriginalItem = Get-PnPFile -Url $OriginalLocation -AsListItem -ErrorAction SilentlyContinue
    }
    Else #Folder
    {
        $OriginalItem = Get-PnPFolder -Url $OriginalLocation -ErrorAction SilentlyContinue
    }
    #Check if the item exists in the original location
    If($OriginalItem -eq $null)
    { 
        #Restore the item
        $Item | Restore-PnpRecycleBinItem -Force
        Write-Host "Item '$($Item.LeafName)' restored Successfully!" -f Green
    }
    Else
    {
        Write-Host "There is another file with the same name.. Skipping $($Item.LeafName)" -f Yellow
    }
}

Comment pouvez-vous restaurer des fichiers supprimés par un utilisateur particulier dans un délai précis à l'aide de PowerShell ? Bien sûr, voici comment procéder :


$SiteURL = "https://crescent.sharepoint.com/sites/Retail"
#Set From and To Date
$FromDate = Get-Date("01/15/2021")
$ToDate= Get-Date("02/15/2021")
$DeletedByEmail = "salaudeen@crescent.com"

#Connect to Site
Connect-PnPOnline -Url $SiteURL -Interactive

#Restore All Items deleted between given date and by a specific user
$DeletedItems = Get-PnPRecycleBinItem -RowLimit 500000 | Where {($_.DeletedDate -ge $FromDate -and $_.DeletedDate -le $ToDate) -and ($_.DeletedByEmail -eq $DeletedByEmail)} | Sort-Object -Property DeletedDate -Descending

SharePoint Online : restaurer tous les fichiers supprimés par un utilisateur particulier

Pour restaurer tous les fichiers supprimés par un utilisateur particulier, utilisez :


Get-PnPRecycleBinItem -RowLimit 500000 | Where { $_.DeletedByEmail -eq "salaudeen@crescent.com"} | Restore-PnpRecycleBinItem -Force
SharePoint Online : restauration groupée de tous les éléments de la corbeille
Pour restaurer tous les éléments de la corbeille, supprimez simplement la clause « où » du script !
Get-PnPRecycleBinItem -RowLimit 500000 | Restauration-PnpRecycleBinItem

Emballer

En résumé, la restauration des fichiers supprimés de la corbeille dans SharePoint Online à l'aide de PowerShell est un processus simple que toute personne ayant une connaissance de base de la plateforme et du langage de script PowerShell peut effectuer. En utilisant PowerShell, vous pouvez restaurer rapidement et facilement les fichiers supprimés sans avoir besoin d'utiliser l'interface Web SharePoint Online. Que vous soyez administrateur SharePoint ou propriétaire de site, la restauration de fichiers supprimés à l'aide de PowerShell est un outil important dans votre arsenal pour gérer et protéger vos données SharePoint Online. Grâce à la possibilité de restaurer les fichiers supprimés rapidement et facilement, vous pouvez garantir que les données importantes ne seront jamais perdues, même en cas de suppression accidentelle.

Voici un autre article sur la restauration de fichiers à partir de la corbeille : SharePoint Online : restaurer des fichiers à partir de la corbeille à l'aide de PowerShell

Questions fréquemment posées:

Comment vider la corbeille dans SharePoint Online ?

Accédez à votre site SharePoint Online et cliquez sur « Corbeille » dans la navigation de lancement rapide. Vous pouvez également accéder à la corbeille à partir des paramètres du site >> Choisissez « Contenu du site » >> Cliquez sur le lien « Corbeille » dans le coin supérieur droit. Sur la page de la corbeille, cliquez sur le bouton « Vider la corbeille » dans la barre d'outils !
Plus d'infos : Vider la corbeille dans SharePoint Online avec PowerShell

Comment supprimer une collection de sites de la corbeille SharePoint Online ?

Les collections de sites supprimées sont placées dans la corbeille au niveau du locataire. Vous pouvez supprimer définitivement le site supprimé, soit depuis le Centre d'administration SharePoint : Dans le Centre d'administration SharePoint Online, cliquez sur « Sites » >> « Sites supprimés » >> Sélectionnez le site dans la liste et cliquez sur le bouton « Supprimer » dans la barre d'outils. Vous pouvez également utiliser PowerShell pour vider la corbeille.
Plus d'informations : Supprimer définitivement une collection de sites dans SharePoint Online

Comment accéder à la corbeille SharePoint Online ?

Pour accéder à la corbeille dans SharePoint Online, accédez au site SharePoint >> Cliquez sur l'icône d'engrenage Paramètres >> Choisissez « Contenu du site ». Sur la page Contenu du site, cliquez sur le lien Corbeille dans le coin supérieur droit.

Comment récupérer un sous-site supprimé dans SharePoint en ligne ?

Les sous-sites supprimés vont dans la corbeille de la collecte de sites de deuxième étape ! Accédez à la collection de sites SharePoint Online dans laquelle vous avez supprimé le sous-site. Cliquez sur l'engrenage des paramètres, sélectionnez Informations sur le site >> Afficher tous les paramètres du site. Sur la page des paramètres du site, faites défiler jusqu'à la section d'administration de la collection de sites et cliquez sur « Corbeille ». Cliquez sur le lien « Corbeille de deuxième étape » en bas >> Sélectionnez le sous-site et cliquez sur le bouton « Restaurer » dans la barre de commandes pour lancer la restauration du sous-site.
Plus d'informations : SharePoint Online récupère le sous-site supprimé

Quelle est la différence entre la corbeille du site et la corbeille de collecte du site ?

La Corbeille du site et la Corbeille de la collection de sites sont deux emplacements différents dans SharePoint Online qui stockent les éléments supprimés. La corbeille du site est un emplacement dédié sur un site qui stocke tous les éléments supprimés et permet à l'utilisateur d'accéder et de restaurer le contenu si nécessaire. La corbeille de la collection de sites, également connue sous le nom de corbeille de deuxième étape, est une corbeille gérée par l'administrateur de la collection de sites. Il donne à l'administrateur d'une collection de sites un meilleur contrôle sur les éléments supprimés en fournissant une corbeille de deuxième étape. La corbeille de la collection de sites n’est accessible que par l’administrateur de la collection de sites.

Articles connexes