Prenos súborov z konta Microsoft OneDrive na iného používateľa je jednoduchý v tom zmysle, že si môžete stiahnuť obsah z OneDrive a potom ho manuálne nahrať do druhého konta. V tomto príspevku vám ukážeme, ako na to preniesť súbory OneDrive inému používateľovi cez PowerShell .
Veci na zváženie
Pokiaľ ide o nahrávanie súborov z OneDrive do iného účtu, je to úloha, ktorá bude chvíľu trvať, pretože v súčasnosti nie je možné nahrať súbory väčšie ako 250 MB. Dobrou správou je, že PowerShell si zaznamená všetky súbory, ktoré nemôže nahrať, takže ich môžete vyhľadať a zdieľať bežným spôsobom.
Pred odovzdaním súborov do iného konta OneDrive sa súbory najskôr stiahnu do počítača, preto sa pred ďalším krokom uistite, že máte na pevnom disku alebo SSD dostatok miesta. A keďže je potrebné vaše internetové pripojenie, celková rýchlosť prenosu bude závisieť od kvality siete.
Teraz musíme poznamenať, že na účte správcu neexistuje dvojfaktorová autentifikácia, preto si vytvorte dočasný účet správcu, ktorý nemá 2FA iba na tento účel.
Veci, ktoré budete potrebovať
Na presun súborov z jedného účtu OneDrive do druhého použijeme špeciálny skript. Aby skript fungoval s problémami, nainštalujte si hneď teraz nasledujúce moduly PowerShell:
SharePoint PnP PowerShell modul
Otvorte nástroj PowerShell ako správca a potom spustite nasledujúci príkaz:
Install-Module SharePointPnPPowerShellOnline -Force
SharePoint Online Management Shell
Účelom tohto nástroja je upraviť povolenia na používateľskom účte OneDrive.
Stiahnite si a nainštalujte ho zadarmo z microsoft.com .
Modul Powershell MSOnline V1
Ak chcete nainštalovať tento posledný modul, spustite nasledujúci príkaz v prostredí PowerShell ako správca:
Install-Module MSOnline -Force
Ako preniesť súbory OneDrive do iného účtu
Ak chcete preniesť súbory z účtu OneDrive do iného, musíte otvoriť PowerShell a potom spustiť poskytnutý skript.
odkazovaný účet je momentálne uzamknutý
Otvorte PowerShell
Otvorte kód Visual Studio alebo PowerShell.
Môžete to urobiť kliknutím na tlačidlo Hľadať a potom vyhľadať PowerShell.
Odtiaľ kliknite pravým tlačidlom myši na aplikáciu a vyberte možnosť určenú na otvorenie nástroja v režime správcu.
Spustite skript
Ďalej musíte spustiť príslušný skript. Nájdete ho v spodnej časti článku.
Rozhodli sme sa to urobiť, pretože scenár je dosť dlhý.
viac účtov onedrive
Po pridaní skriptu stlačte kláves Enter na klávesnici.
Preneste súbory
Nakoniec je čas preniesť súbory do iného účtu OneDrive.
Vidíte, hneď po stlačení klávesu Enter sa zobrazí výzva na pridanie e-mailového účtu Používateľské meno odchádzajúceho používateľa .
Budete tiež potrebovať Používateľské meno cieľového používateľa . Toto je používateľ OneDrive, do ktorého sa skopírujú a prenesú súbory.
Nakoniec sa zobrazí výzva na pridanie Používateľské meno vášho správcu Office 365 .
Pred kontrolou prijímajúceho účtu počkajte, kým skript urobí svoju prácu, aby ste zistili, či boli súbory prenesené správne.
Skopírujte a prilepte nasledujúci 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
Scenár nájdete na tomto Stránka Reddit .
ČÍTAŤ : Ako exportovať CSV v PowerShell v systéme Windows
Má PowerShell prístup k OneDrive?
SharePoint Online PowerShell umožní používateľom pripojiť sa k inému kontu OneDrive pomocou nástroja PowerShell. Požiada vás o vloženie hesla, aby PowerShell začal pracovať na vašich účtoch OneDrive prostredníctvom cmdletov.
Môžu k OneDrive pristupovať aj externí používatelia?
K vášmu účtu OneDrive môžu pristupovať externí používatelia, ale iba ak to povolíte. Používatelia môžu mať prístup k vašim súborom navždy alebo na určité časové obdobie. Môžete tiež obmedziť to, čo môžu robiť.
Ako kopírovať súbory z OneDrive inej osoby?
Ak chcete kopírovať súbory z OneDrive inej osoby, máte nasledujúce možnosti:
- Otvorte OneDrive v prehliadači pomocou odkazu, vyberte súbory, ktoré chcete skopírovať, a kliknite na Stiahnuť. Tým sa stiahne do vášho počítača.
- Otvorte konto OneDrive pomocou prepojenia, vyberte súbory, ktoré chcete skopírovať, a kliknite na položku Kopírovať do.
To je všetko!