A fájlok átvitele a Microsoft OneDrive-fiókból egy másik felhasználóhoz egyszerű abban az értelemben, hogy letöltheti a tartalmat a OneDrive-ról, majd manuálisan feltöltheti őket a másik fiókba. Ebben a bejegyzésben megmutatjuk, hogyan kell átviheti a OneDrive fájlokat egy másik felhasználónak a PowerShell segítségével .
Megfontolandó dolgok
Amikor a OneDrive-ról egy másik fiókba kell fájlokat feltölteni, ez egy kis időt igénybe vesz, mivel jelenleg nem lehet 250 MB-nál nagyobb fájlokat feltölteni. A jó hír az, hogy a PowerShell feljegyzi az összes fájlt, amelyet nem tud feltölteni, így megkeresheti és megoszthatja őket a szokásos módszerrel.
Mielőtt feltölti a fájlokat a másik OneDrive-fiókba, a fájlok először letöltődnek a számítógépére, ezért a továbblépés előtt győződjön meg róla, hogy elegendő hely van a merevlemezen vagy az SSD-n. És mivel internetkapcsolat szükséges, az átvitel általános sebessége a hálózat minőségétől függ.
Most meg kell jegyeznünk, hogy a kéttényezős hitelesítés nem létezik a rendszergazdai fiókban, ezért hozzon létre egy ideiglenes rendszergazdai fiókot, amely nem rendelkezik 2FA-val csak erre a célra.
Olyan dolgok, amelyekre szükséged lesz
Egy speciális szkriptet használunk a fájlok egyik OneDrive-fiókból a másikba való áthelyezéséhez. Tehát, hogy a szkript problémákkal működjön, telepítse a következő PowerShell-modulokat most:
SharePoint PnP PowerShell-modul
Nyissa meg a PowerShell eszközt rendszergazdaként, majd futtassa a következő parancsot:
Install-Module SharePointPnPPowerShellOnline -Force
SharePoint Online Management Shell
Ennek az eszköznek az a célja, hogy módosítsa a felhasználók OneDrive-fiókjának engedélyeit.
Töltse le és telepítse ingyenesen innen microsoft.com .
MSOnline V1 Powershell modul
Az utolsó modul telepítéséhez futtassa a következő parancsot a PowerShellben rendszergazdaként:
Install-Module MSOnline -Force
OneDrive-fájlok átvitele másik fiókba
Ha fájlokat szeretne átvinni OneDrive-fiókjából egy másikba, nyissa meg a PowerShellt, majd futtassa a mellékelt szkriptet.
nincs engedélye menteni ezen a helyen
Nyissa meg a PowerShellt
Nyissa meg a Visual Studio Code-ot vagy a PowerShellt.
Ezt úgy teheti meg, hogy a Keresés gombra kattint, majd rákeres a PowerShellre.
Innen kattintson a jobb gombbal az alkalmazásra, majd válassza ki az eszköz Adminisztrátori módban való megnyitásához tervezett lehetőséget.
Futtassa a szkriptet
Ezután futtassa a megfelelő szkriptet. A cikk alján megtalálod.
Azért döntöttünk így, mert a forgatókönyv meglehetősen hosszú.
A szkript hozzáadása után nyomja meg az Enter billentyűt a billentyűzeten.
Vigye át a fájlokat
Végül itt az ideje, hogy átvigye a fájlokat egy másik OneDrive-fiókba.
Látja, közvetlenül az Enter billentyű lenyomása után a rendszer felkéri az e-mail fiók hozzáadására A távozó felhasználó felhasználóneve .
Önnek is szüksége lesz A célfelhasználó felhasználóneve . Ez az a OneDrive-felhasználó, akire a fájlok másolásra és átvitelre kerülnek.
Végül a rendszer felkéri, hogy adja hozzá Az Office 365 rendszergazda felhasználóneve .
Várja meg, amíg a szkript elvégzi a dolgát, mielőtt ellenőrizné a fogadó fiókot, hogy megbizonyosodjon arról, hogy a fájlok átvitele megfelelően történt-e.
Másolja és illessze be az alábbi szkriptet:
$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
A forgatókönyvet ezen találod Reddit oldal .
OLVAS : A CSV exportálása a PowerShellben Windows rendszeren
A PowerShell hozzáférhet a OneDrive-hoz?
A SharePoint Online PowerShell lehetővé teszi a felhasználók számára, hogy egy másik OneDrive-fiókhoz kapcsolódjanak a PowerShell eszköz segítségével. Meg fogja kérni, hogy adja meg a jelszavát, hogy a PowerShell parancsmagok segítségével megkezdhesse a OneDrive-fiókok kezelését.
Hozzáférhetnek a OneDrive-hoz külső felhasználók?
OneDrive-fiókjához külső felhasználók hozzáférhetnek, de csak akkor, ha Ön engedélyezi. A felhasználók örökre vagy meghatározott ideig hozzáférhetnek a fájlokhoz. Azt is korlátozhatja, hogy mit tehetnek.
Hogyan másolhat fájlokat egy másik személy OneDrive-járól?
A következő lehetőségek állnak rendelkezésére, ha fájlokat szeretne másolni egy másik személy OneDrive-járól:
- Nyissa meg a OneDrive-ot böngészőjében a hivatkozás segítségével, válassza ki a másolni kívánt fájlokat, majd kattintson a Letöltés gombra. Ezzel letölti a számítógépére.
- Nyissa meg a OneDrive-fiókot a hivatkozás segítségével, válassza ki a másolni kívánt fájlokat, majd kattintson a Másolás ide gombra.
Ez az!