Recherche de site Web

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

Articles connexes