从 OneDrive 回收站恢复大量文件

从 OneDrive 回收站恢复大量文件

我通过大学邮箱拥有一个 OneDrive for Business 帐户。一个多月前,我误删了一些文件,当然,我刚刚才注意到。

我现在在网站上找到了 OneDrive 回收站中的所有文件,问题是它们有 6000 多个单独的文件,我需要全部。如果我尝试全部选择它们(很费劲),就会出现超时错误。

所以我不得不手动以 35-40 个文件为一组进行恢复。我快速计算了一下,这样要花 5 个多小时。

是否存在更快、更自动化的解决方案?

答案1

您可以使用 Poweshell 自动恢复 OneDrive 回收站中已删除的文件。

代码算法大致如下:

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 
        } 
    }

相关相关代码:

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

和:

$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}

这里有一个完整的例子:

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

相关内容