OneDrive Entreprise : restaurer tous les fichiers et dossiers de la corbeille à l'aide de PowerShell
Exigence : Restaurez tous les fichiers et dossiers supprimés de OneDrive Entreprise à l'aide de PowerShell.
PowerShell pour restaurer tous les éléments supprimés dans OneDrive Entreprise
OneDrive Entreprise stocke tous les éléments supprimés dans la corbeille. Si vous supprimez accidentellement un élément, vous pouvez le restaurer à partir de la corbeille. La récupération des éléments supprimés de la corbeille OneDrive Entreprise via l'interface du navigateur Web est expliquée dans un autre article : Comment restaurer des fichiers et des dossiers à partir de OneDrive ? Dans cet article, voyons comment utiliser PowerShell pour restaurer tous vos fichiers et dossiers supprimés de la corbeille.
Veuillez noter que vous devez disposer des droits d'administrateur de la collection de sites sur le site OneDrive avant de procéder à la restauration.
#Parameters
$AdminCenterURL="https://crescent-admin.sharepoint.com"
$UserAccount = "Salaudeen@Crescent.com" #UPN
Try {
#Connect to Admin Center
Connect-PnPOnline -Url $AdminCenterURL -Interactive
#Get onedrive site URL of the user
$OneDriveURL = Get-PnPUserProfileProperty -Account $UserAccount | Select -ExpandProperty PersonalUrl
If($OneDriveURL -ne $null)
{
#Connect to OneDrive site
Connect-PnPOnline -Url $OneDriveURL -Interactive
#Get All items in the recycle bin
$RecycleBinItems = Get-PnPRecycleBinItem -RowLimit 500000
#Check if there are any deleted items in recycle bins
If($RecycleBinItems.count -eq 0) {
Write-host "No Items found in the recycle bin!" -f Yellow
Break
}
#Restore all items from the recycle bin
$RecycleBinItems = Get-PnPRecycleBinItem -RowLimit 500000
ForEach($Item in $RecycleBinItems)
{
#Get the Original location of the deleted file or folder
$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
Restore-PnPRecycleBinItem -Identity $Item -Force
Write-host "Restored Item '$($Item.LeafName)' to '$($Item.DirName)'" -f Green
}
Else
{
Write-Host "A file or folder with this name $($Item.LeafName) already exists in '$($Item.DirName)', Skipping.." -f Yellow
}
}
}
Else
{
Write-host "OneDrive site for the user doesn't exist!" -f Yellow
}
}
Catch {
Write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
}
Article connexe : Restaurer les fichiers supprimés de la corbeille dans SharePoint Online à l'aide de PowerShell