PowerShell के माध्यम से OneDrive फ़ाइलों को अन्य उपयोगकर्ता को कैसे स्थानांतरित करें

Powershell Ke Madhyama Se Onedrive Fa Ilom Ko An Ya Upayogakarta Ko Kaise Sthanantarita Karem



अपने Microsoft OneDrive खाते से किसी अन्य उपयोगकर्ता को फ़ाइलें स्थानांतरित करना इस अर्थ में आसान है कि आप अपने OneDrive से सामग्री डाउनलोड कर सकते हैं, फिर उन्हें मैन्युअल रूप से दूसरे खाते में अपलोड कर सकते हैं। इस पोस्ट में, हम आपको दिखाएंगे कि कैसे करें PowerShell के माध्यम से OneDrive फ़ाइलों को अन्य उपयोगकर्ता को स्थानांतरित करें .



  PowerShell के माध्यम से OneDrive फ़ाइलों को अन्य उपयोगकर्ता को कैसे स्थानांतरित करें





विचार करने के लिए बातें

जब आपके वनड्राइव से दूसरे खाते में फ़ाइलें अपलोड करने की बात आती है, तो यह एक ऐसा कार्य है जिसमें कुछ समय लगेगा क्योंकि इस समय 250 एमबी से बड़ी फ़ाइलों को अपलोड करना संभव नहीं है। अच्छी खबर यह है कि PowerShell उन सभी फ़ाइलों को नोट कर लेगा जिन्हें वह अपलोड नहीं कर सकता है, ताकि आप उन्हें खोज सकें और उन्हें नियमित तरीके से साझा कर सकें।





फ़ाइलों को अन्य OneDrive खाते में अपलोड करने से पहले, फ़ाइलें पहले आपके कंप्यूटर पर डाउनलोड की जाएंगी, इसलिए आगे बढ़ने से पहले सुनिश्चित करें कि आपके हार्ड ड्राइव या SSD पर पर्याप्त जगह है। और चूंकि आपके इंटरनेट कनेक्शन की आवश्यकता है, स्थानांतरण की समग्र गति नेटवर्क की गुणवत्ता पर निर्भर करेगी।



अब, हमें ध्यान देना चाहिए कि दो-कारक प्रमाणीकरण व्यवस्थापक खाते पर मौजूद नहीं है, इसलिए एक अस्थायी व्यवस्थापक खाता बनाएं जिसमें केवल इस उद्देश्य के लिए 2FA न हो।

आपको जिन चीजों की आवश्यकता होगी

फ़ाइलों को एक वनड्राइव खाते से दूसरे खाते में ले जाने के लिए हम एक विशेष स्क्रिप्ट का उपयोग करेंगे। इसलिए, स्क्रिप्ट के लिए समस्याओं के साथ काम करने के लिए, कृपया अभी निम्न PowerShell मॉड्यूल स्थापित करें:

शेयरपॉइंट पीएनपी पावरशेल मॉड्यूल



PowerShell टूल को एक व्यवस्थापक के रूप में खोलें, फिर निम्न कमांड चलाएँ:

लिंक भेजना स्काइप
Install-Module SharePointPnPPowerShellOnline -Force

शेयरपॉइंट ऑनलाइन प्रबंधन शेल

स्वचालित मरम्मत विंडोज 8

इस टूल का उद्देश्य उपयोगकर्ताओं के वनड्राइव खाते पर अनुमतियों को संशोधित करना है।

से मुफ्त में डाउनलोड और इंस्टॉल करें Microsoft.com .

MSOnline V1 पॉवरशेल मॉड्यूल

इस अंतिम मॉड्यूल को स्थापित करने के लिए, कृपया PowerShell में एक व्यवस्थापक के रूप में निम्न कमांड चलाएँ:

Install-Module MSOnline -Force

OneDrive फ़ाइलों को दूसरे खाते में कैसे स्थानांतरित करें

फ़ाइलों को अपने OneDrive खाते से दूसरे में स्थानांतरित करने के लिए, आपको PowerShell खोलना होगा और फिर प्रदान की गई स्क्रिप्ट को चलाना होगा।

पॉवरशेल खोलें

  Microsoft PowerShell खोज

विज़ुअल स्टूडियो कोड या पॉवरशेल खोलें।

आप खोज बटन पर क्लिक करके ऐसा कर सकते हैं, फिर 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

आप इस पर स्क्रिप्ट पा सकते हैं रेडिट पेज .

पढ़ना : Windows पर PowerShell में CSV कैसे निर्यात करें

क्या PowerShell OneDrive तक पहुँच सकता है?

SharePoint Online PowerShell उपयोगकर्ताओं के लिए PowerShell टूल का उपयोग करके किसी अन्य OneDrive खाते से कनेक्ट करना संभव बना देगा। PowerShell के लिए cmdlets के माध्यम से आपके OneDrive खातों पर काम करना शुरू करने के लिए यह आपको अपना पासवर्ड डालने के लिए कहेगा।

क्या वनड्राइव को बाहरी उपयोगकर्ताओं द्वारा एक्सेस किया जा सकता है?

आपका वनड्राइव खाता बाहरी उपयोगकर्ताओं द्वारा एक्सेस किया जा सकता है, लेकिन केवल तभी जब आप इसकी अनुमति देते हैं। उपयोगकर्ता आपकी फ़ाइलों तक हमेशा के लिए या एक निर्धारित समय अवधि के लिए पहुंच सकते हैं। आप यह भी सीमित कर सकते हैं कि वे क्या कर सकते हैं।

किसी अन्य व्यक्ति के OneDrive से फ़ाइलें कैसे कॉपी करें?

यदि आप किसी अन्य व्यक्ति के OneDrive से फ़ाइलें कॉपी करना चाहते हैं, तो आपके पास निम्न विकल्प हैं:

  • लिंक का उपयोग करके अपने ब्राउज़र में वनड्राइव खोलें, उन फ़ाइलों का चयन करें जिन्हें आप कॉपी करना चाहते हैं और डाउनलोड पर क्लिक करें। यह इसे आपके कंप्यूटर पर डाउनलोड कर देगा।
  • लिंक का उपयोग करके OneDrive खाता खोलें, उन फ़ाइलों का चयन करें जिन्हें आप कॉपी करना चाहते हैं और कॉपी पर क्लिक करें।

इतना ही!

  PowerShell के माध्यम से OneDrive फ़ाइलों को अन्य उपयोगकर्ता को कैसे स्थानांतरित करें
लोकप्रिय पोस्ट