Stellen Sie eine große Anzahl von Dateien aus dem Papierkorb in OneDrive wieder her


2

Ich habe ein Konto für OneDrive for Business über meine E-Mail-Adresse an der Universität. Vor etwas mehr als einem Monat habe ich versehentlich einige Dateien gelöscht, und natürlich habe ich es gerade bemerkt.

Ich habe jetzt alle Dateien im OneDrive-Papierkorb auf der Website gefunden. Das Problem ist, dass es sich um 6000+ einzelne Dateien handelt und ich alle benötige. Wenn ich versuche, sie alle auszuwählen (Probleme), wird ein Timeout-Fehler ausgegeben.

Daher muss ich sie manuell in Gruppen von 35-40 Dateien gleichzeitig wiederherstellen. Ich habe eine schnelle Berechnung durchgeführt und es wird auf diese Weise mehr als 5 Stunden dauern.

Gibt es eine schnellere und automatischere Lösung des Problems?


Papierkorb in OneDrive oder Papierkorb in Windows. Bearbeiten Sie Ihre Frage, um festzustellen, wo sich diese gelöschten Dateien befinden.
— Ramhound

"mehr als 5 Stunden" ist in Ordnung .. Unvollständige Restaurierung ist nicht. Weiter so, da bist du auf dem richtigen Weg ... (:
— p._phidot_ 16.10.18

@ Ramhound bearbeitet
— Ale93p

@ p._phidot_ Ich glaube nicht, dass es der richtige Weg für die Informatik im Jahr 2018 ist
— ale93p

vereinbart .. IMHO, wenn ich auf solche Dinge stumpf .. Ich kann wählen, ob zu warten .. oder HDD-Wiederherstellungstools sofort verwenden .. || oder ich kann nur zustimmen, nicht zuzustimmen. || Entschuldigung, ich habe deine Frage nicht beantwortet. nur meine 2 cent. (:
— p._phidot_

Antworten:


0

Sie können die Wiederherstellung gelöschter Dateien im OneDrive-Papierkorb mit Poweshell automatisieren.

Der Code-Algorithmus würde mehr oder weniger:

foreach ($fileitem in $FilteredRecycleBinArray) 
    { 
    $filename = $fileItem.Title 
    $fileitem.Restore() 
    try { 
        $ctx.ExecuteQuery() 
        logwrite -Logstring "Item $filename restored successfully" -type info 
        } 
    catch  
        { 
        logwrite -Logstring "Item $filename failed to restore with error: '$_.Exception.Message'" -type error 
        } 
    }

Relevanter verwandter Code:

$ctx = New-Object Microsoft.SharePoint.Client.ClientContext($OnedriveUrl)

Und:

$Recyclebinarray=$ctx.Site.RecycleBin
$ctx.Load($Recyclebinarray)
try     {$ctx.ExecuteQuery()}
catch   {logwrite -Logstring "Failed Collecting all deleted Items from $OnedriveURL with error: '$_.Exception.Message'" -type error
        break}

Hier haben Sie ein vollständiges Beispiel:

https://gallery.technet.microsoft.com/office/Restore-deleted-files-in-a268fdcd


@eloy Ich nehme an, das ist der richtige Weg, das einzige Problem ist, dass das Skript den Berechtigungsnachweis des 365-Administrators erfordert und ich bin nur ein Benutzer über den Account meiner Universität, daher kann ich diese Lösung leider nicht verwenden.
— Ale93p

@ ale93p Wenn Sie mit Ihren Anmeldeinformationen Zugriff auf den O365-Papierkorb haben, sollte es vermutlich eine Methode (diese oder eine ähnliche) geben, mit der Sie die Wiederherstellung automatisieren können.
— Eloy Roldán Paredes

Ich greife über die E-Mail-Adresse der Universität zu, für die normalerweise eine externe Authentifizierung erforderlich ist. Also, oder ich sollte etwas anderes als Benutzername verwenden, oder es gibt mir: Checking if alessio.pagliari@unice.fr as site admin for https://unice-my.sharepoint.com/personal/alessio_pagliari_unice_fr 18-10-2018 09:12:06 - Failed to check if alessio.pagliari@unice.fr as site admin for https://unice-my.sharepoint.com/personal/alessio_pagliari_unice_fr with error: 'Exception calling "ExecuteQuery" with "0" argument(s): "The type initializer for 'Microsoft.Win32.Registry' threw an exception.".Exception.Message'
— Ale93p
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.