Как перенести sharepoint online (Office 365) на одно содержимое диска пользователя другому через powershell?Миграция Sharepoint онлайн onedrive content
ответ
Посмотрите на этот скрипт на TechNet. Он содержит некоторые ограничения, но он должен дать вам хорошую отправную точку.
https://gallery.technet.microsoft.com/office/Copy-OneDrive-files-f1c751e7
Вот некоторые из необходимой информации со страницы:
Есть несколько вещей, которые нужно иметь в виду:
Это может занять некоторое время. Каждый файл или папка занимает не менее секунды или два для обработки. Если у вашего уходящего пользователя есть десятки тысяч файлов, а время не на вашей стороне, вы можете использовать другой метод .
Он использует ваше соединение. Загружает файлы перед загрузкой их в OneDrive другого пользователя. Если ваше соединение происходит медленно, и вы перемещаете большие файлы, вы можете оставить это на сервере облачного размещения .
Он не может перемещать файлы больше 250МБ Ограничение этого модуля PowerShell является то, что он не может отправить файлы больше 250МБ для SharePoint. Этот скрипт будет замечать эти файлы и экспортировать их в каталог c: \ temp \ largefiles.txt, если вы хотите переместить их вручную.
No Two Factor Authentication Этот скрипт не работает с многофакторной аутентификацией в учетной записи администратора. Вы можете хотеть, чтобы создал временную администрацию без MFA для этой цели.
Предпосылки Для этого сценария на работу, вам необходимо установить следующие модули в PowerShell:
Интернет Управление SharePoint Оболочка SharePoint Online Management Shell используется для изменения разрешения на OneDrive сайте пользователям коллекции.
Скачать и установить его здесь: https://www.microsoft.com/en-au/download/details.aspx?id=35588
Powershell Модуль SharePoint PnP Модуль SharePoint PnP Powershell предоставляет командлеты мы будем использовать для передачи файлов и папок между OneDrive счетов.
Чтобы установить его, откройте окно PowerShell, как администратор и запустите следующую команду:
Install-Module SharePointPnPPowerShellOnline -Force
MSOnline V1 Powershell модуля Вы также будете нуждаться модуль PowerShell в MSOnline V1 для этого сценария.
Чтобы установить его, откройте окно PowerShell, как администратор и запустите следующую команду:
Install-Module MSOnline -Force
И сам скрипт:
$departinguser = Read-Host "Enter departing user's email"
$destinationuser = Read-Host "Enter destination user's email"
$globaladmin = Read-Host "Enter the username of your Global Admin account"
$credentials = Get-Credential -Credential $globaladmin
Connect-MsolService -Credential $credentials
$InitialDomain = Get-MsolDomain | Where-Object {$_.IsInitial -eq $true}
$SharePointAdminURL = "https://$($InitialDomain.Name.Split(".")[0])-admin.sharepoint.com"
$departingUserUnderscore = $departinguser -replace "[^a-zA-Z]", "_"
$destinationUserUnderscore = $destinationuser -replace "[^a-zA-Z]", "_"
$departingOneDriveSite = "https://$($InitialDomain.Name.Split(".")[0])-my.sharepoint.com/personal/$departingUserUnderscore"
$destinationOneDriveSite = "https://$($InitialDomain.Name.Split(".")[0])-my.sharepoint.com/personal/$destinationUserUnderscore"
Write-Host "`nConnecting to SharePoint Online" -ForegroundColor Blue
Connect-SPOService -Url $SharePointAdminURL -Credential $credentials
Write-Host "`nAdding $globaladmin as site collection admin on both OneDrive site collections" -ForegroundColor Blue
# Set current admin as a Site Collection Admin on both OneDrive Site Collections
Set-SPOUser -Site $departingOneDriveSite -LoginName $globaladmin -IsSiteCollectionAdmin $true
Set-SPOUser -Site $destinationOneDriveSite -LoginName $globaladmin -IsSiteCollectionAdmin $true
Write-Host "`nConnecting to $departinguser's OneDrive via SharePoint Online PNP module" -ForegroundColor Blue
Connect-PnPOnline -Url $departingOneDriveSite -Credentials $credentials
Write-Host "`nGetting display name of $departinguser" -ForegroundColor Blue
# Get name of departing user to create folder name.
$departingOwner = Get-PnPSiteCollectionAdmin | Where-Object {$_.loginname -match $departinguser}
# If there's an issue retrieving the departing user's display name, set this one.
if ($departingOwner -contains $null) {
$departingOwner = @{
Title = "Departing User"
}
}
# Define relative folder locations for OneDrive source and destination
$departingOneDrivePath = "/personal/$departingUserUnderscore/Documents"
$destinationOneDrivePath = "/personal/$destinationUserUnderscore/Documents/$($departingOwner.Title)'s Files"
$destinationOneDriveSiteRelativePath = "Documents/$($departingOwner.Title)'s Files"
Write-Host "`nGetting all items from $($departingOwner.Title)" -ForegroundColor Blue
# Get all items from source OneDrive
$items = Get-PnPListItem -List Documents -PageSize 1000
$largeItems = $items | Where-Object {[long]$_.fieldvalues.SMTotalFileStreamSize -ge 261095424 -and $_.FileSystemObjectType -contains "File"}
if ($largeItems) {
$largeexport = @()
foreach ($item in $largeitems) {
$largeexport += "$(Get-Date) - Size: $([math]::Round(($item.FieldValues.SMTotalFileStreamSize/1MB),2)) MB Path: $($item.FieldValues.FileRef)"
Write-Host "File too large to copy: $($item.FieldValues.FileRef)" -ForegroundColor DarkYellow
}
$largeexport | Out-file C:\temp\largefiles.txt -Append
Write-Host "A list of files too large to be copied from $($departingOwner.Title) have been exported to C:\temp\LargeFiles.txt" -ForegroundColor Yellow
}
$rightSizeItems = $items | Where-Object {[long]$_.fieldvalues.SMTotalFileStreamSize -lt 261095424 -or $_.FileSystemObjectType -contains "Folder"}
Write-Host "`nConnecting to $destinationuser via SharePoint PNP PowerShell module" -ForegroundColor Blue
Connect-PnPOnline -Url $destinationOneDriveSite -Credentials $credentials
Write-Host "`nFilter by folders" -ForegroundColor Blue
# Filter by Folders to create directory structure
$folders = $rightSizeItems | Where-Object {$_.FileSystemObjectType -contains "Folder"}
Write-Host "`nCreating Directory Structure" -ForegroundColor Blue
foreach ($folder in $folders) {
$path = ('{0}{1}' -f $destinationOneDriveSiteRelativePath, $folder.fieldvalues.FileRef).Replace($departingOneDrivePath, '')
Write-Host "Creating folder in $path" -ForegroundColor Green
$newfolder = Ensure-PnPFolder -SiteRelativePath $path
}
Write-Host "`nCopying Files" -ForegroundColor Blue
$files = $rightSizeItems | Where-Object {$_.FileSystemObjectType -contains "File"}
$fileerrors = ""
foreach ($file in $files) {
$destpath = ("$destinationOneDrivePath$($file.fieldvalues.FileDirRef)").Replace($departingOneDrivePath, "")
Write-Host "Copying $($file.fieldvalues.FileLeafRef) to $destpath" -ForegroundColor Green
$newfile = Copy-PnPFile -SourceUrl $file.fieldvalues.FileRef -TargetUrl $destpath -OverwriteIfAlreadyExists -Force -ErrorVariable errors -ErrorAction SilentlyContinue
$fileerrors += $errors
}
$fileerrors | Out-File c:\temp\fileerrors.txt
# Remove Global Admin from Site Collection Admin role for both users
Write-Host "`nRemoving $globaladmin from OneDrive site collections" -ForegroundColor Blue
Set-SPOUser -Site $departingOneDriveSite -LoginName $globaladmin -IsSiteCollectionAdmin $false
Set-SPOUser -Site $destinationOneDriveSite -LoginName $globaladmin -IsSiteCollectionAdmin $false
Write-Host "`nComplete!" -ForegroundColor Green
- 1. addFileAttachmentAsync с SharePoint или Onedrive
- 2. Миграция SharePoint 2013
- 3. пользователей онлайн в sharepoint
- 4. SSRS Sharepoint онлайн
- 5. Thumbnails в Sharepoint онлайн
- 6. Получить Sharepoint Пользователи онлайн
- 7. Миграция из SharePoint 2007 в SharePoint 2010
- 8. OneDrive API - Разрешения на доступ к онлайн-ресурсам
- 9. Развертывание проекта Angular2 на Sharepoint онлайн
- 10. Миграция с .net на Sharepoint
- 11. Поддержка CMIS для Sharepoint и OneDrive
- 12. OneDrive API - Sharepoint - Звонить против корня URL
- 13. пользовательская главная страница SharePoint онлайн
- 14. SharePoint 2010 Content Organizer Issue
- 15. Программно перемещающиеся файлы OneDrive между онлайн-и офлайн-файлами
- 16. Интеграция OneDrive и офиса онлайн в приложение MVC
- 17. OneDrive ожидает границы для Content-Type: application/json
- 18. Миграция SharePoint с элементами только для чтения
- 19. Миграция RBS FILESTREAM SharePoint Foundation 2010
- 20. Миграция Sharepoint Masterpages в ASP.NET Masterpages
- 21. Сохранение веб-части в SharePoint онлайн
- 22. Доступность sharepoint онлайн от разных клиентов
- 23. Программно назначить права в sharepoint онлайн
- 24. clientaccesspolicy.xml в SharePoint онлайн с Office 365
- 25. Как добавить пользовательский шрифт в SharePoint онлайн?
- 26. Проверка sharepoint share share онлайн CSOM
- 27. Office 365 Sharepoint онлайн-файлы журнала
- 28. SPSecurityEventReceiver в офисе 365 или SharePoint онлайн
- 29. Создание структуры папок в онлайн-списке Sharepoint
- 30. Программы для онлайн-загрузки SharePoint Online программно
Хотя эта ссылка может ответить на вопрос, лучше включить здесь основные части ответа и предоставить ссылку для справки. Ответные ссылки могут стать недействительными, если связанная страница изменится. - [Из обзора] (/ review/low-quality-posts/17960180) – derloopkat