Az összes felhasználói OneDrive-fájl letöltése
A feladat a felhasználó OneDrive-fájljainak helyi másolatának mentése. A OneDrive fájlokat a Microsoft 365 felügyeleti központ vagy a PowerShell segítségével menthetjük. Ha azonban sok felhasználója van, a PowerShell gyorsabb. Ebből a cikkből megtudhatja, hogyan töltheti le az összes OneDrive-fájlt egy felhasználótól a PowerShell használatával.
Töltse le a felhasználói OneDrive-fájlokat a Microsoft 365 felügyeleti központjában
A felhasználói OneDrive-fájlok Microsoft 365 felügyeleti központ segítségével történő letöltéséhez kövesse az alábbi lépéseket:
- Jelentkezzen be a Microsoft 365 felügyeleti központjába
- Kattintson a Felhasználók > Aktív felhasználók lehetőségre
- Keresse meg a felhasználót, és válassza ki
- Válassza a OneDrive lehetőséget
- Kattintson a Fájlokra mutató hivatkozás létrehozása lehetőségre
- Kattintson a megjelenő hivatkozásra a felhasználók OneDrive-fájljának megnyitásához
- Válassza ki az összes fájlt
- Kattintson a Letöltés gombra
- A fájlok .zip fájlba tömörülnek, és letöltődnek a helyi rendszerre.
Töltse le a felhasználói OneDrive-fájlokat PowerShell-szkripttel
A felhasználói OneDrive-fájlok PowerShell-szkript segítségével történő letöltéséhez kövesse az alábbi lépéseket:
1. lépés: Telepítse a Microsoft Graph PowerShellt
Futtassa a Windows PowerShellt rendszergazdaként, és telepítse a Microsoft Graph PowerShellt.
Install-Module Microsoft.Graph -ForceInstall-Module Microsoft.Graph.Beta -AllowClobber -ForceFontos: Mindig telepítse a Microsoft Graph PowerShell és a Microsoft Graph Beta PowerShell modulokat. Ennek az az oka, hogy néhány parancsmag még nem érhető el a végleges verzióban, és nem fog működni. Frissítse mindkét modult a legújabb verzióra, mielőtt parancsmagot vagy parancsfájlt futtatna, hogy elkerülje a hibákat és a helytelen eredményeket.
2. lépés: Készítsen CSV-fájlt
Lépjen a C:\Temp mappába, és hozzon létre egy CSV-fájlt OneDriveUsers.csv néven.
Töltse ki a UserPrincipalName fejlécet, és adja hozzá azokat a törzsfelhasználói neveket, amelyekről le szeretné tölteni a OneDrive-fájlokat.
3. lépés: Töltse le a Get-OneDriveFiles PowerShell-szkriptet
Töltse le a Get-OneDriveFiles.ps1 PowerShell-szkriptet, és helyezze el a C:\Scripts mappába.
Győződjön meg arról, hogy a fájl blokkolása fel van oldva, hogy elkerülje a hibákat a szkript futtatásakor. További információ a cikkben: Nem digitálisan aláírt hiba a PowerShell-szkript futtatásakor.
Egy másik lehetőség az alábbi kód másolása és beillesztése a Jegyzettömbbe. Adja meg a Get-OneDriveFiles.ps1 nevet, és helyezze a C:\Scripts mappába.
<#
.SYNOPSIS
Get-OneDriveFiles.ps1
.DESCRIPTION
The script imports users from a specified CSV file and downloads all
OneDrive files for each user to a specified local folder.
.LINK
www.alitajran.com/download-all-user-onedrive-files/
.NOTES
Written by: ALI TAJRAN
Website: www.alitajran.com
LinkedIn: linkedin.com/in/alitajran
.CHANGELOG
V1.00, 11/22/2024 - Initial version
#>
# Parameters for CSV file input and export directory
param (
[Parameter(Mandatory = $true)]
[string]$CsvPath,
[Parameter(Mandatory = $true)]
[string]$ExportPath
)
# Connect to Microsoft Graph with necessary permissions
Connect-MgGraph -Scopes "Directory.Read.All", "Sites.Read.All", "Files.Read.All" -NoWelcome
# Import users from CSV file
$users = Import-Csv -Path $CsvPath
# Local folder path for OneDrive files export
$Folder = $ExportPath
function Get-DriveItems {
param (
[string]$DriveId,
[string]$DriveItemId,
[string]$LocalPath
)
# Ensure the local path exists
New-Item -ItemType Directory -Path $LocalPath -Force | Out-Null
# Fetch children of the current drive item
$driveItemChildren = Get-MgDriveItemChild -DriveId $DriveId -DriveItemId $DriveItemId
foreach ($item in $driveItemChildren) {
if ($item.File.MimeType) {
# It's a file
$fileName = $item.Name
$filePath = Join-Path -Path $LocalPath -ChildPath $fileName
# Download the file
Get-MgDriveItemContent -DriveId $DriveId -DriveItemId $item.id -OutFile $filePath
Write-Host "Downloaded file: $filePath" -ForegroundColor Green
}
elseif ($item.Folder) {
# It's a folder
$newLocalPath = Join-Path -Path $LocalPath -ChildPath $item.Name
Write-Host "Entering folder: $newLocalPath" -ForegroundColor Cyan
Get-DriveItems -DriveId $DriveId -DriveItemId $item.id -LocalPath $newLocalPath
}
}
}
foreach ($user in $users) {
$userPrincipalName = $user.UserPrincipalName
# Fetch user information
$userObject = Get-MgUser -Filter "userPrincipalName eq '$userPrincipalName'"
if (-not $userObject) {
Write-Host "User not found: $($userPrincipalName)" -ForegroundColor Yellow
continue
}
# Fetch user's OneDrive drives
$userOneDrive = Get-MgUserDefaultDrive -UserId $userObject.id -ErrorAction SilentlyContinue
if ($userOneDrive) {
$driveId = $userOneDrive.id
# Create a directory for the user's data
$userDirectory = "$Folder\$userPrincipalName"
New-Item -ItemType Directory -Path $userDirectory -Force | Out-Null
# Start downloading from the root
Get-DriveItems -DriveId $driveId -DriveItemId "root" -LocalPath $userDirectory
}
else {
Write-Host "Error accessing OneDrive for user: $($userPrincipalName). Skipping." -ForegroundColor Red
}
}
# Final message to indicate completion
Write-Host "All operations completed successfully. Files exported to $ExportPath." -ForegroundColor Cyan4. lépés: Futtassa a Get-OneDriveFiles PowerShell parancsfájlt
Futtassa az alábbi parancsot a Get-OneDriveFiles.ps1 PowerShell-szkript futtatásához.
Megjegyzés: Győződjön meg arról, hogy a rendszergazdai fiókjával hozzáférhet a OneDrive felhasználóhoz. Ellenkező esetben a szkript nem tudja letölteni a fájlokat, és hitelesítési hibát kap.
Ebben a példában importálni szeretnénk a CSV-útvonalat a C:\temp\OneDriveUsers.csv fájlból, és az egyes felhasználók OneDrive-fájljait a C:\temp\OneDriveData mappába szeretnénk exportálni. > mappát.
C:\scripts\.\Get-OneDriveFiles.ps1 -CsvPath "C:\temp\OneDriveUsers.csv" -ExportPath "C:\temp\OneDriveData"Így néz ki a Get-OneDriveFiles.ps1 PowerShell-szkript befejezése után.
Ennyi!
További információ: OneDrive használati jelentés exportálása a Microsoft 365-ben »
Következtetés
Megtanulta az összes felhasználói OneDrive-fájl letöltését. A Microsoft 365 felügyeleti központ használata kiváló, ha egyetlen vagy néhány felhasználó számára szeretne letölteni. Ha azonban sok felhasználó van, a legjobb, ha automatizálja a munkáját, és használja a Get-OneDriveFiles.ps1 PowerShell-szkriptet.
Tetszett ez a cikk? A postafiók kemény törlése a Microsoft 365 felhasználói fiók törlése nélkül is tetszhet. Ne felejtsen el követni minket, és megosztani ezt a cikket.







