2

У меня есть аккаунт для OneDrive для бизнеса через электронную почту университета. Чуть более месяца назад я удалил некоторые файлы по ошибке, и, конечно, я просто заметил это.

Теперь я нашел все файлы в корзине OneDrive на веб-сайте, проблема в том, что они представляют собой более 6000 отдельных файлов, и мне нужны все из них. Если я пытаюсь выбрать их все (изо всех сил), это дает ошибку тайм-аута.

Поэтому я вынужден вручную восстанавливать их группами по 35-40 файлов за раз. Я сделал быстрое вычисление, и на это у меня уйдет больше 5 часов.

Существует ли более быстрое и более автоматическое решение проблемы?

1 ответ1

0

Вы можете автоматизировать восстановление удаленных файлов, которые находятся в корзине OneDrive Recyble с помощью Poweshell.

Алгоритм кода будет более или менее:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .