OneDrive dosyaları PowerShell aracılığıyla başka bir kullanıcıya nasıl aktarılır?

Onedrive Dosyalari Powershell Araciligiyla Baska Bir Kullaniciya Nasil Aktarilir



Dosyaları Microsoft OneDrive hesabınızdan başka bir kullanıcıya aktarmak, içeriği OneDrive'ınızdan indirebilmeniz ve ardından manuel olarak diğer hesaba yükleyebilmeniz açısından kolaydır. Bu yazıda size nasıl yapılacağını göstereceğiz OneDrive dosyalarını PowerShell aracılığıyla başka bir kullanıcıya aktarma .



  OneDrive dosyaları PowerShell aracılığıyla başka bir kullanıcıya nasıl aktarılır?





Düşünülmesi gereken şeyler

OneDrive'ınızdan başka bir hesaba dosya yüklemek söz konusu olduğunda, şu anda 250 MB'tan büyük dosyaları karşıya yüklemek mümkün olmadığı için bu biraz zaman alacak bir görevdir. İyi haber şu ki, PowerShell yükleyemediği tüm dosyaları not edecek, böylece onları arayabilir ve normal yöntemle paylaşabilirsiniz.





Dosyaları diğer OneDrive hesabına yüklemeden önce, dosyalar önce bilgisayarınıza indirilir, bu nedenle ilerlemeden önce sabit sürücünüzde veya SSD'nizde yeterli alan olduğundan emin olun. İnternet bağlantınız gerektiğinden, genel aktarım hızı ağın kalitesine bağlı olacaktır.



windows defender'ı manuel olarak nasıl başlatırım

Şimdi, yönetici hesabında iki faktörlü kimlik doğrulamanın bulunmadığına dikkat etmeliyiz, bu nedenle yalnızca bu amaç için 2FA'ya sahip olmayan geçici bir yönetici hesabı oluşturun.

İhtiyacınız olacak şeyler

Dosyaları bir OneDrive hesabından diğerine taşımak için özel bir komut dosyası kullanacağız. Bu nedenle, komut dosyasının sorunlarla çalışabilmesi için lütfen şu PowerShell Modüllerini hemen kurun:

SharePoint PnP PowerShell Modülü



PowerShell aracını yönetici olarak açın, ardından aşağıdaki komutu çalıştırın:

Install-Module SharePointPnPPowerShellOnline -Force

SharePoint Çevrimiçi Yönetim Kabuğu

Bu aracın amacı, kullanıcıların OneDrive hesabındaki izinleri değiştirmektir.

adresinden ücretsiz olarak indirin ve kurun. microsoft.com .

MSOnline V1 Powershell Modülü

Windows 8 için kelime başlatıcı

Bu son Modülü yüklemek için lütfen PowerShell'de yönetici olarak aşağıdaki komutu çalıştırın:

Install-Module MSOnline -Force

OneDrive dosyaları başka bir hesaba nasıl aktarılır?

OneDrive hesabınızdan diğerine dosya aktarmak için PowerShell'i açmanız ve ardından sağlanan komut dosyasını çalıştırmanız gerekir.

PowerShell'i açın

  Microsoft PowerShell Araması

Visual Studio Code veya PowerShell'i açın.

Bunu Ara düğmesine tıklayarak ve ardından PowerShell'i arayarak yapabilirsiniz.

chrome arayüzü

Oradan, uygulamaya sağ tıklayın, ardından aracı Yönetici modunda açmak için tasarlanmış seçeneği seçin.

Komut dosyasını çalıştır

  OneDrive PowerShell Betiği

Ardından, ilgili komut dosyasını çalıştırmalısınız. Makalenin altında bulabilirsiniz.

Senaryo oldukça uzun olduğu için bunu yapmayı seçtik.

Komut dosyasını ekledikten sonra klavyenizdeki Enter tuşuna basın.

dosyaları aktar

Son olarak, dosyaları başka bir OneDrive hesabına aktarmanın zamanı geldi.

Görüyorsunuz, Enter tuşuna bastıktan hemen sonra, e-posta hesabını eklemeniz istenecek Çıkış yapan kullanıcının kullanıcı adı .

Ayrıca ihtiyacınız olacak Hedef kullanıcının kullanıcı adı . Bu, dosyaların kopyalanıp aktarılacağı OneDrive kullanıcısıdır.

Son olarak, eklemeniz istenecek Office 365 Yöneticinizin kullanıcı adı .

Dosyaların doğru aktarılıp aktarılmadığını görmek için alıcı hesabı kontrol etmeden önce komut dosyasının işini yapmasını bekleyin.

twitter kullanıcı adınızı değiştirebilir misiniz

Aşağıdaki betiği kopyalayıp yapıştırın:

$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

Scripti şurada bulabilirsiniz reddit sayfası .

OKUMAK : Windows'ta PowerShell'de CSV nasıl dışa aktarılır

PowerShell, OneDrive'a erişebilir mi?

SharePoint Online PowerShell, kullanıcıların PowerShell aracını kullanarak başka bir OneDrive hesabına bağlanmasını mümkün kılacaktır. PowerShell'in cmdlet'ler aracılığıyla OneDrive hesaplarınız üzerinde çalışmaya başlaması için parolanızı girmenizi isteyecektir.

OneDrive'a harici kullanıcılar erişebilir mi?

OneDrive hesabınıza harici kullanıcılar tarafından erişilebilir, ancak yalnızca siz izin verirseniz. Kullanıcılar dosyalarınıza sonsuza kadar veya belirli bir süre boyunca erişebilir. Yapabileceklerini de sınırlayabilirsiniz.

Başka bir kişinin OneDrive'ından dosyalar nasıl kopyalanır?

Başka bir kişinin OneDrive'ından dosya kopyalamak istiyorsanız aşağıdaki seçeneklere sahipsiniz:

  • Bağlantıyı kullanarak tarayıcınızda OneDrive'ı açın, kopyalamak istediğiniz dosyaları seçin ve İndir'e tıklayın. Bu bilgisayarınıza indirecektir.
  • Bağlantıyı kullanarak OneDrive hesabını açın, kopyalamak istediğiniz dosyaları seçin ve Kopyala seçeneğine tıklayın.

Bu kadar!

  OneDrive dosyaları PowerShell aracılığıyla başka bir kullanıcıya nasıl aktarılır?
Popüler Mesajlar