Wie Sharepoint online (Office 365) ein Laufwerk Inhalt eines Benutzers zu einem anderen durch Powershell migrieren?Sharepoint online Onedrive Inhalt migrieren
Antwort
Sehen Sie sich dieses Skript auf TechNet an. Es hat einige Einschränkungen, aber es sollte Ihnen einen guten Startpunkt geben.
https://gallery.technet.microsoft.com/office/Copy-OneDrive-files-f1c751e7
Hier sind einige der wichtigsten Informationen von der Seite:
Es gibt ein paar Dinge im Auge zu behalten:
Dies könnte eine Weile dauern. Jede Datei oder jeder Ordner benötigt mindestens eine oder zwei Sekunden, um verarbeitet zu werden. Wenn Ihr abfahrender Benutzer Zehntausende von Dateien hat und die Zeit nicht auf Ihrer Seite ist, können Sie eine andere Methode verwenden.
Es verwendet Ihre Verbindung. Es lädt die Dateien herunter, bevor sie auf das OneDrive des anderen Benutzers hochgeladen werden. Wenn Ihre Verbindung langsam ist und Sie große Dateien verschieben, möchten Sie dies möglicherweise auf einem cloud-gehosteten Server ausführen lassen.
Es kann nicht Dateien, die größer als 250 MB Eine Einschränkung dieser Powershell-Modul bewegen ist, dass es nicht Dateien, die größer als 250 MB zu Sharepoint senden. Dieses Skript merkt sich diese Dateien und exportiert eine Liste von ihnen nach c: \ temp \ largefiles.txt, falls Sie sie manuell verschieben möchten: .
Keine Zwei-Faktor-Authentifizierung Dieses Skript funktioniert nicht mit Multifaktor-Authentifizierung auf dem Administratorkonto. Möglicherweise möchten Sie einen temporären Admin ohne MFA für diesen Zweck erstellen.
Voraussetzungen für dieses Skript zu arbeiten, werden Sie die folgenden Powershell-Module installieren:
Sharepoint Online-Verwaltungsshell Die Sharepoint Online Management Shell verwendet Microsoft Onedrive Website die Berechtigungen für den Benutzer zu ändern Sammlungen.
herunterladen und installieren Sie es hier: https://www.microsoft.com/en-au/download/details.aspx?id=35588
Sharepoint PnP Powershell-Modul Das Sharepoint-PnP-Powershell-Modul die Cmdlets bietet wir die Dateien und Ordner übertragen zwischen Microsoft Onedrive Konten verwenden werden.
es zu installieren, ein Powershell-Fenster als Administrator öffnen und das folgende Cmdlet ausführen:
Install-Module SharePointPnPPowerShellOnline -Force
MSOnline V1 Powershell-Modul Sie werden auch für dieses Skript das MSOnline V1 Powershell-Modul benötigen.
es zu installieren, öffnen Sie ein Powershell-Fenster als Administrator an und führen das folgende Cmdlet:
Install-Module MSOnline -Force
Und das Skript selbst:
$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 mit SharePoint oder Onedrive
- 2. Microsoft OneDrive und SharePoint
- 3. SharePoint Online
- 4. SharePoint Online Log Viewer
- 5. Installation Lösung Sharepoint Online
- 6. SharePoint-Online-Webpart-Zonenindex
- 7. SharePoint Online CSOM Freigabeinformationsobjekt
- 8. benutzerdefinierte Masterseite SharePoint Online
- 9. Sharepoint Online-Anmeldedaten speichern?
- 10. Sharepoint 2010 Migration Online Sharepoint sharegate mit
- 11. Bereitstellen von Angular2 Projekt auf Sharepoint online
- 12. CMIS-Unterstützung für Sharepoint und Microsoft Onedrive
- 13. React Native Download-Datei von Sharepoint Online
- 14. Sharepoint Online kann nicht Webpartzone erweitern Breite
- 15. Beschränken Site-Inhalt in Sharepoint
- 16. Migrieren der ASP-Website in Sharepoint 2007
- 17. Benutzerdefinierte erweiterte Filterung in Sharepoint-Listenansicht [sharepoint online] mit Javascript
- 18. Sharepoint Online ist nicht in der Lage, twbx-Dateien hochzuladen.
- 19. JavaScript Get Sharepoint Online-Liste von App
- 20. Programmgesteuertes Ändern einer Sharepoint Online Excel-Datei
- 21. SharePoint 2013 Online. Prioritätsregeln - Content Organizer
- 22. SharePoint Online Integrierter Workflow Aufgabenliste Berechtigungspause
- 23. Visual Studio Team Services mit SharePoint online
- 24. Url Länge Begrenzung in Sharepoint Online REST
- 25. Umleiten einer URL in SharePoint Online?
- 26. Authentifizieren Benutzer für Sharepoint Online mit VB.NET
- 27. SharePoint 2013 Online - Anhang hinzufügen: Client Objektmodell
- 28. Autorisierung für Office 365/Sharepoint online
- 29. Üben Sie mit Sharepoint 2010 online
- 30. SharePoint Online Master Page und Site Inaccessible
Während dieser Link, um die Frage beantworten kann, Es ist besser, die wesentlichen Teile der Antwort hier einzubeziehen und den Link als Referenz zur Verfügung zu stellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. - [Aus Bewertung] (/ review/low-quality-posts/17960180) – derloopkat