PowerShell এর মাধ্যমে অন্য ব্যবহারকারীর কাছে OneDrive ফাইলগুলি কীভাবে স্থানান্তর করবেন

Powershell Era Madhyame An Ya Byabaharakarira Kache Onedrive Pha Ilaguli Kibhabe Sthanantara Karabena



আপনার Microsoft OneDrive অ্যাকাউন্ট থেকে অন্য ব্যবহারকারীর কাছে ফাইল স্থানান্তর করা সহজ এই অর্থে যে আপনি আপনার OneDrive থেকে সামগ্রী ডাউনলোড করতে পারেন, তারপরে অন্য অ্যাকাউন্টে ম্যানুয়ালি আপলোড করতে পারেন। এই পোস্টে, আমরা আপনাকে দেখাব কিভাবে PowerShell এর মাধ্যমে অন্য ব্যবহারকারীর কাছে OneDrive ফাইল স্থানান্তর করুন .



  PowerShell এর মাধ্যমে অন্য ব্যবহারকারীর কাছে OneDrive ফাইলগুলি কীভাবে স্থানান্তর করবেন





বিবেচনা করার বিষয়

আপনার OneDrive থেকে অন্য অ্যাকাউন্টে ফাইল আপলোড করার ক্ষেত্রে, এটি একটি কাজ যা কিছু সময় নেবে কারণ এই সময়ে 250MB এর থেকে বড় ফাইল আপলোড করা সম্ভব নয়। ভাল খবর হল PowerShell সমস্ত ফাইলের একটি নোট তৈরি করবে যা এটি আপলোড করতে পারে না, তাই আপনি সেগুলি খুঁজে পেতে এবং নিয়মিত পদ্ধতির মাধ্যমে শেয়ার করতে পারেন৷





অন্য OneDrive অ্যাকাউন্টে ফাইলগুলি আপলোড করার আগে, ফাইলগুলি প্রথমে আপনার কম্পিউটারে ডাউনলোড করা হবে, তাই এগিয়ে যাওয়ার আগে আপনার হার্ড ড্রাইভ বা SSD-এ পর্যাপ্ত জায়গা আছে তা নিশ্চিত করুন। এবং যেহেতু আপনার ইন্টারনেট সংযোগ প্রয়োজন, তাই স্থানান্তরের সামগ্রিক গতি নেটওয়ার্কের মানের উপর নির্ভর করবে।



এখন, আমাদের অবশ্যই লক্ষ্য রাখতে হবে যে প্রশাসক অ্যাকাউন্টে দ্বি-ফ্যাক্টর প্রমাণীকরণ বিদ্যমান নেই, তাই একটি অস্থায়ী অ্যাডমিন অ্যাকাউন্ট তৈরি করুন যাতে শুধুমাত্র এই উদ্দেশ্যে 2FA নেই।

আপনার প্রয়োজন হবে জিনিস

এক OneDrive অ্যাকাউন্ট থেকে অন্য অ্যাকাউন্টে ফাইলগুলি সরানোর জন্য আমরা একটি বিশেষ স্ক্রিপ্ট ব্যবহার করব। সুতরাং, স্ক্রিপ্টটি সমস্যার সাথে কাজ করার জন্য, অনুগ্রহ করে এখনই নিম্নলিখিত পাওয়ারশেল মডিউলগুলি ইনস্টল করুন:

উইন্ডোজ 10 এ ফাইলগুলির প্রাকদর্শন কীভাবে করা যায়

শেয়ারপয়েন্ট পিএনপি পাওয়ারশেল মডিউল



একটি প্রশাসক হিসাবে PowerShell টুল খুলুন, তারপর নিম্নলিখিত কমান্ড চালান:

Install-Module SharePointPnPPowerShellOnline -Force

শেয়ারপয়েন্ট অনলাইন ম্যানেজমেন্ট শেল

এই টুলের উদ্দেশ্য হল ব্যবহারকারীদের OneDrive অ্যাকাউন্টের অনুমতিগুলি পরিবর্তন করা।

থেকে বিনামূল্যে ডাউনলোড করুন এবং ইনস্টল করুন microsoft.com .

MSOnline V1 পাওয়ারশেল মডিউল

এই চূড়ান্ত মডিউলটি ইনস্টল করার জন্য, অনুগ্রহ করে প্রশাসক হিসাবে PowerShell-এ নিম্নলিখিত কমান্ডটি চালান:

Install-Module MSOnline -Force

কীভাবে OneDrive ফাইলগুলি অন্য অ্যাকাউন্টে স্থানান্তর করবেন

আপনার OneDrive অ্যাকাউন্ট থেকে অন্য অ্যাকাউন্টে ফাইল স্থানান্তর করতে, আপনাকে PowerShell খুলতে হবে এবং তারপরে প্রদত্ত স্ক্রিপ্টটি চালাতে হবে।

পাওয়ারশেল খুলুন

  মাইক্রোসফ্ট পাওয়ারশেল অনুসন্ধান

ভিজ্যুয়াল স্টুডিও কোড বা পাওয়ারশেল খুলুন।

আপনি অনুসন্ধান বোতামে ক্লিক করে এটি করতে পারেন, তারপরে পাওয়ারশেল অনুসন্ধান করুন।

সেখান থেকে, অ্যাপটিতে ডান-ক্লিক করুন, তারপরে অ্যাডমিন মোডে টুলটি খুলতে ডিজাইন করা বিকল্পটি নির্বাচন করুন।

স্ক্রিপ্ট চালান

  OneDrive PowerShell স্ক্রিপ্ট

এর পরে, আপনাকে অবশ্যই প্রাসঙ্গিক স্ক্রিপ্টটি চালাতে হবে। আপনি নিবন্ধের নীচে এটি খুঁজে পেতে পারেন.

আমরা এটি করতে বেছে নিয়েছি কারণ স্ক্রিপ্টটি বেশ দীর্ঘ।

স্ক্রিপ্ট যোগ করার পরে, আপনার কীবোর্ডে এন্টার কী টিপুন।

আমরা আপনার সর্বশেষ সংরক্ষিত ডেটা পেতে পারি না

ফাইল স্থানান্তর

অবশেষে, এখন অন্য OneDrive অ্যাকাউন্টে ফাইল স্থানান্তর করার সময়।

আপনি দেখতে পাচ্ছেন, এন্টার কী চাপার ঠিক পরে, আপনাকে ইমেল অ্যাকাউন্ট যোগ করতে বলা হবে প্রস্থানকারী ব্যবহারকারীর ব্যবহারকারীর নাম .

মাইক্রোসফ্ট প্রান্ত পাওয়ারশেল আনইনস্টল করুন

আপনারও প্রয়োজন হবে গন্তব্য ব্যবহারকারীর ব্যবহারকারীর নাম . এটি সেই 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 পৃষ্ঠা .

পড়ুন : কিভাবে Windows এ PowerShell-এ CSV রপ্তানি করবেন

পাওয়ারশেল কি OneDrive অ্যাক্সেস করতে পারে?

SharePoint Online PowerShell ব্যবহারকারীদের PowerShell টুল ব্যবহার করে অন্য OneDrive অ্যাকাউন্টে সংযোগ করা সম্ভব করে তুলবে। PowerShell যাতে cmdlets এর মাধ্যমে আপনার OneDrive অ্যাকাউন্টে কাজ শুরু করতে পারে তার জন্য এটি আপনাকে আপনার পাসওয়ার্ড ঢোকাতে বলবে।

OneDrive কি বহিরাগত ব্যবহারকারীদের দ্বারা অ্যাক্সেস করা যেতে পারে?

আপনার OneDrive অ্যাকাউন্টটি বহিরাগত ব্যবহারকারীদের দ্বারা অ্যাক্সেস করা যেতে পারে, কিন্তু শুধুমাত্র যদি আপনি এটির অনুমতি দেন। ব্যবহারকারীরা চিরতরে বা একটি নির্দিষ্ট সময়ের জন্য আপনার ফাইলগুলিতে অ্যাক্সেস পেতে পারে৷ তারা যা করতে পারে আপনি সীমিত করতে পারেন।

কিভাবে অন্য ব্যক্তির OneDrive থেকে ফাইল কপি করবেন?

আপনি যদি অন্য ব্যক্তির OneDrive থেকে ফাইলগুলি অনুলিপি করতে চান তবে আপনার কাছে নিম্নলিখিত বিকল্পগুলি রয়েছে:

  • লিঙ্কটি ব্যবহার করে আপনার ব্রাউজারে OneDrive খুলুন, আপনি যে ফাইলগুলি কপি করতে চান তা নির্বাচন করুন এবং ডাউনলোড ক্লিক করুন৷ এটি আপনার কম্পিউটারে এটি ডাউনলোড করবে।
  • লিঙ্কটি ব্যবহার করে OneDrive অ্যাকাউন্ট খুলুন, আপনি যে ফাইলগুলি অনুলিপি করতে চান তা নির্বাচন করুন এবং অনুলিপিতে ক্লিক করুন৷

এটাই!

  PowerShell এর মাধ্যমে অন্য ব্যবহারকারীর কাছে OneDrive ফাইলগুলি কীভাবে স্থানান্তর করবেন
জনপ্রিয় পোস্ট