Прехвърлянето на файлове от вашия акаунт в Microsoft OneDrive към друг потребител е лесно в смисъл, че можете да изтеглите съдържанието от вашия OneDrive, след което ръчно да ги качите в другия акаунт. В тази публикация ще ви покажем как да прехвърляне на OneDrive файлове на друг потребител чрез PowerShell .
Неща, които трябва да имате предвид
Когато става въпрос за качване на файлове от вашия OneDrive в друг акаунт, това е задача, която ще отнеме известно време, тъй като в момента не е възможно да качвате файлове, по-големи от 250 MB. Добрата новина е, че PowerShell ще отбележи всички файлове, които не може да качи, така че можете да ги търсите и споделяте по обичайния метод.
Преди да качите файловете в другия акаунт в OneDrive, файловете първо ще бъдат изтеглени на вашия компютър, така че се уверете, че имате достатъчно място на вашия твърд диск или SSD, преди да продължите напред. И тъй като се изисква вашата интернет връзка, общата скорост на трансфер ще зависи от качеството на мрежата.
Сега трябва да отбележим, че двуфакторното удостоверяване не съществува в администраторския акаунт, така че създайте временен администраторски акаунт, който няма 2FA само за тази цел.
Неща, от които ще имате нужда
Ще използваме специален скрипт, за да преместим файловете от един акаунт в OneDrive в друг. Така че, за да може скриптът да работи с проблеми, моля, инсталирайте следните PowerShell модули веднага:
SharePoint PnP PowerShell модул
Отворете инструмента PowerShell като администратор, след което изпълнете следната команда:
Windows актуализиране от безопасен режим -
Install-Module SharePointPnPPowerShellOnline -Force
Shell за управление на SharePoint Online
Целта на този инструмент е да променя разрешенията на потребителския акаунт в OneDrive.
Изтеглете и го инсталирайте безплатно от microsoft.com .
MSOnline V1 Powershell модул
За да инсталирате този последен модул, моля, изпълнете следната команда в PowerShell като администратор:
Install-Module MSOnline -Force
Как да прехвърляте файлове от OneDrive в друг акаунт
За да прехвърлите файлове от вашия акаунт в OneDrive към друг, трябва да отворите PowerShell и след това да изпълните предоставения скрипт.
историята на файловете не се архивира
Отворете PowerShell
Отворете Visual Studio Code или PowerShell.
Можете да направите това, като щракнете върху бутона Търсене, след което потърсете PowerShell.
Оттам щракнете с десния бутон върху приложението, след което изберете опцията, предназначена да отвори инструмента в режим на администратор.
Стартирайте скрипта
След това трябва да стартирате съответния скрипт. Можете да го намерите в долната част на статията.
Избрахме да направим това, защото сценарият е доста дълъг.
След като добавите скрипта, натиснете клавиша Enter на клавиатурата.
Прехвърлете файловете
И накрая, сега е време да прехвърлите файловете в друг акаунт в OneDrive.
реконструктор на кеш на миниатюри и икони
Виждате ли, веднага след като натиснете клавиша Enter, ще бъдете помолени да добавите имейл акаунта Потребителското име на напускащия потребител .
Вие също ще трябва Потребителското име на целевия потребител . Това е потребителят на OneDrive, където ще бъдат копирани и прехвърлени файловете.
Накрая ще бъдете помолени да добавите Потребителското име на вашия администратор на Office 365 .
Изчакайте скриптът да свърши работата си, преди да проверите получаващия акаунт, за да видите дали файловете са прехвърлени правилно.
Копирайте и поставете скрипта по-долу:
$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
Можете да намерите сценария тук Страница Reddit .
ПРОЧЕТИ : Как да експортирате CSV в PowerShell на Windows
Може ли PowerShell да има достъп до OneDrive?
SharePoint Online PowerShell ще позволи на потребителите да се свързват с друг акаунт в OneDrive с помощта на инструмента PowerShell. Той ще ви помоли да въведете паролата си, за да може PowerShell да започне да работи с вашите акаунти в OneDrive чрез командлети.
Може ли OneDrive да бъде достъпен от външни потребители?
Вашият акаунт в OneDrive може да бъде достъпен от външни потребители, но само ако го разрешите. Потребителите могат да имат достъп до вашите файлове завинаги или за определен период от време. Можете също така да ограничите какво могат да правят.
как да използвам icloud на windows 10
Как да копирате файлове от OneDrive на друг човек?
Имате следните опции, ако искате да копирате файлове от OneDrive на друго лице:
- Отворете OneDrive във вашия браузър, като използвате връзката, изберете файловете, които искате да копирате, и щракнете върху Изтегляне. Това ще го изтегли на вашия компютър.
- Отворете акаунта в OneDrive, като използвате връзката, изберете файловете, които искате да копирате, и щракнете върху Копиране в.
Това е!