Att överföra filer från ditt Microsoft OneDrive-konto till en annan användare är enkelt i den meningen att du kan ladda ner innehållet från din OneDrive och sedan ladda upp dem manuellt till det andra kontot. I det här inlägget kommer vi att visa dig hur du gör överföra OneDrive-filer till en annan användare via PowerShell .
Saker att tänka på
När det kommer till att ladda upp filer från din OneDrive till ett annat konto är det en uppgift som kommer att ta lite tid eftersom det för närvarande inte är möjligt att ladda upp filer som är större än 250 MB. Den goda nyheten är att PowerShell kommer att anteckna alla filer som den inte kan ladda upp, så att du kan söka upp dem och dela dem via den vanliga metoden.
Innan du laddar upp filerna till det andra OneDrive-kontot kommer filerna först att laddas ner till din dator, så se till att du har tillräckligt med utrymme på din hårddisk eller SSD innan du går vidare. Och eftersom din internetanslutning krävs, kommer den totala överföringshastigheten att bero på kvaliteten på nätverket.
Nu måste vi notera att tvåfaktorsautentisering inte finns på administratörskontot, så skapa ett tillfälligt administratörskonto som inte har 2FA endast för detta ändamål.
Saker du behöver
Vi kommer att använda ett speciellt skript för att flytta filerna från ett OneDrive-konto till ett annat. Så för att skriptet ska fungera med problem, installera följande PowerShell-moduler just nu:
SharePoint PnP PowerShell-modul
Öppna PowerShell-verktyget som admin och kör sedan följande kommando:
Install-Module SharePointPnPPowerShellOnline -Force
SharePoint Online Management Shell
Syftet med detta verktyg är att ändra behörigheterna på användarens OneDrive-konto.
Ladda ner och installera det gratis från microsoft.com .
lava mjuk annons medveten gratis
MSOnline V1 Powershell-modul
För att installera den här sista modulen, kör följande kommando i PowerShell som admin:
Install-Module MSOnline -Force
Hur man överför OneDrive-filer till ett annat konto
För att överföra filer från ditt OneDrive-konto till ett annat måste du öppna PowerShell och sedan köra det medföljande skriptet.
Öppna PowerShell
Öppna Visual Studio Code eller PowerShell.
Du kan göra detta genom att klicka på knappen Sök och sedan söka efter PowerShell.
Därifrån högerklickar du på appen och väljer sedan alternativet som är utformat för att öppna verktyget i adminläge.
wifi lösenordssökare för pc
Kör skriptet
Därefter måste du köra det relevanta skriptet. Du hittar den längst ner i artikeln.
Vi valde att göra detta eftersom manuset är ganska långt.
När du har lagt till skriptet, tryck på Enter-tangenten på ditt tangentbord.
Överför filerna
Äntligen är det nu dags att överföra filerna till ett annat OneDrive-konto.
Du ser, direkt efter att du tryckt på Enter-tangenten kommer du att bli ombedd att lägga till e-postkontot Användarnamnet för den avgående användaren .
Du kommer också att behöva Användarnamnet för destinationsanvändaren . Det här är OneDrive-användaren dit filerna kommer att kopieras och överföras till.
Slutligen kommer du att bli ombedd att lägga till Användarnamnet för din Office 365-administratör .
Vänta tills skriptet gör sitt innan du kontrollerar det mottagande kontot för att se om filerna överfördes korrekt.
Kopiera och klistra in nedanstående skript:
$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
Du kan hitta manuset på detta Reddit sida .
LÄSA : Hur man exporterar CSV i PowerShell på Windows
Kan PowerShell komma åt OneDrive?
SharePoint Online PowerShell kommer att göra det möjligt för användare att ansluta till ett annat OneDrive-konto med hjälp av PowerShell-verktyget. Den kommer att be dig att ange ditt lösenord för att PowerShell ska börja arbeta på dina OneDrive-konton med hjälp av cmdlets.
borttagen skrivare visar fortfarande fönster 10
Kan OneDrive nås av externa användare?
Ditt OneDrive-konto kan nås av externa användare, men bara om du tillåter det. Användare kan ha tillgång till dina filer för alltid eller under en viss tidsperiod. Du kan också begränsa vad de kan göra.
Hur kopierar man filer från en annan persons OneDrive?
Du har följande alternativ om du vill kopiera filer från en annan persons OneDrive:
- Öppna OneDrive i din webbläsare med hjälp av länken, välj de filer du vill kopiera och klicka på Ladda ner. Detta kommer att ladda ner det till din dator.
- Öppna OneDrive-kontot med länken, välj de filer du vill kopiera och klicka på Kopiera till.
Det är allt!