PowerShell வழியாக OneDrive கோப்புகளை மற்றொரு பயனருக்கு மாற்றுவது எப்படி

Powershell Valiyaka Onedrive Koppukalai Marroru Payanarukku Marruvatu Eppati



உங்கள் Microsoft OneDrive கணக்கிலிருந்து மற்றொரு பயனருக்கு கோப்புகளை மாற்றுவது எளிதானது, அதாவது உங்கள் OneDrive இலிருந்து உள்ளடக்கத்தைப் பதிவிறக்கம் செய்து, பின்னர் அவற்றை கைமுறையாக மற்ற கணக்கில் பதிவேற்றலாம். இந்த இடுகையில், எப்படி என்பதை நாங்கள் உங்களுக்குக் காண்பிப்போம் OneDrive கோப்புகளை மற்றொரு பயனருக்கு PowerShell வழியாக மாற்றவும் .



  PowerShell வழியாக OneDrive கோப்புகளை மற்றொரு பயனருக்கு மாற்றுவது எப்படி





கருத்தில் கொள்ள வேண்டியவை

உங்கள் OneDrive இலிருந்து மற்றொரு கணக்கிற்கு கோப்புகளைப் பதிவேற்றும் போது, ​​250MB க்கும் அதிகமான கோப்புகளைப் பதிவேற்றுவது தற்போது சாத்தியமற்றது என்பதால் இது சிறிது நேரம் எடுக்கும். நல்ல செய்தி என்னவென்றால், பவர்ஷெல் பதிவேற்ற முடியாத அனைத்து கோப்புகளையும் குறிப்பெடுக்கும், எனவே நீங்கள் அவற்றைத் தேடலாம் மற்றும் வழக்கமான முறை மூலம் அவற்றைப் பகிரலாம்.





மற்ற OneDrive கணக்கில் கோப்புகளைப் பதிவேற்றும் முன், கோப்புகள் முதலில் உங்கள் கணினியில் பதிவிறக்கப்படும், எனவே முன்னோக்கிச் செல்வதற்கு முன் உங்கள் ஹார்டு டிரைவ் அல்லது SSD இல் போதுமான இடம் இருப்பதை உறுதிசெய்யவும். உங்கள் இணைய இணைப்பு தேவைப்படுவதால், பரிமாற்றத்தின் ஒட்டுமொத்த வேகம் நெட்வொர்க்கின் தரத்தைப் பொறுத்தது.



இப்போது, ​​​​நிர்வாகி கணக்கில் இரண்டு காரணி அங்கீகாரம் இல்லை என்பதை நாம் கவனிக்க வேண்டும், எனவே இந்த நோக்கத்திற்காக மட்டுமே 2FA இல்லாத ஒரு தற்காலிக நிர்வாகி கணக்கை உருவாக்கவும்.

உங்களுக்கு தேவையான பொருட்கள்

ஒரு OneDrive கணக்கிலிருந்து மற்றொன்றுக்கு கோப்புகளை நகர்த்த சிறப்பு ஸ்கிரிப்டைப் பயன்படுத்துவோம். எனவே, ஸ்கிரிப்ட் சிக்கல்களுடன் வேலை செய்ய, தயவுசெய்து பின்வரும் PowerShell தொகுதிகளை இப்போதே நிறுவவும்:

ஷேர்பாயிண்ட் PnP பவர்ஷெல் தொகுதி



பவர்ஷெல் கருவியை நிர்வாகியாகத் திறந்து, பின்வரும் கட்டளையை இயக்கவும்:

Install-Module SharePointPnPPowerShellOnline -Force

ஷேர்பாயிண்ட் ஆன்லைன் மேலாண்மை ஷெல்

இந்தக் கருவியின் நோக்கம் பயனர்களின் OneDrive கணக்கில் உள்ள அனுமதிகளை மாற்றுவதாகும்.

இதிலிருந்து இலவசமாக பதிவிறக்கம் செய்து நிறுவவும் microsoft.com .

MSOnline V1 பவர்ஷெல் தொகுதி

இந்த இறுதித் தொகுதியை நிறுவ, பவர்ஷெல்லில் பின்வரும் கட்டளையை நிர்வாகியாக இயக்கவும்:

Install-Module MSOnline -Force

OneDrive கோப்புகளை மற்றொரு கணக்கிற்கு மாற்றுவது எப்படி

உங்கள் OneDrive கணக்கிலிருந்து மற்றொன்றுக்கு கோப்புகளை மாற்ற, நீங்கள் PowerShell ஐத் திறந்து, வழங்கப்பட்ட ஸ்கிரிப்டை இயக்க வேண்டும்.

PowerShell ஐத் திறக்கவும்

  மைக்ரோசாப்ட் பவர்ஷெல் தேடல்

விஷுவல் ஸ்டுடியோ குறியீடு அல்லது பவர்ஷெல்லைத் திறக்கவும்.

தேடல் பொத்தானைக் கிளிக் செய்வதன் மூலம் இதைச் செய்யலாம், பின்னர் PowerShell ஐத் தேடுங்கள்.

அங்கிருந்து, பயன்பாட்டில் வலது கிளிக் செய்து, நிர்வாக பயன்முறையில் கருவியைத் திறக்க வடிவமைக்கப்பட்ட விருப்பத்தைத் தேர்ந்தெடுக்கவும்.

ஸ்கிரிப்டை இயக்கவும்

  OneDrive PowerShell ஸ்கிரிப்ட்

emz கோப்பு

அடுத்து, நீங்கள் தொடர்புடைய ஸ்கிரிப்டை இயக்க வேண்டும். கட்டுரையின் கீழே நீங்கள் அதைக் காணலாம்.

ஸ்கிரிப்ட் மிக நீளமாக இருப்பதால் இதைச் செய்யத் தேர்ந்தெடுத்தோம்.

ஸ்கிரிப்டைச் சேர்த்த பிறகு, உங்கள் கீபோர்டில் உள்ள Enter விசையை அழுத்தவும்.

கோப்புகளை மாற்றவும்

இறுதியாக, கோப்புகளை மற்றொரு OneDrive கணக்கிற்கு மாற்றுவதற்கான நேரம் இது.

Enter விசையை அழுத்திய உடனேயே, மின்னஞ்சல் கணக்கைச் சேர்க்கும்படி கேட்கப்படுவீர்கள் புறப்படும் பயனரின் பயனர்பெயர் .

உங்களுக்கும் தேவைப்படும் இலக்கு பயனரின் பயனர்பெயர் . கோப்புகள் நகலெடுக்கப்பட்டு மாற்றப்படும் 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 ஐ அணுக முடியுமா?

ஷேர்பாயிண்ட் ஆன்லைன் பவர்ஷெல் பயனர்கள் பவர்ஷெல் கருவியைப் பயன்படுத்தி மற்றொரு OneDrive கணக்குடன் இணைவதை சாத்தியமாக்கும். பவர்ஷெல் உங்கள் OneDrive கணக்குகளில் cmdlets மூலம் வேலை செய்யத் தொடங்க உங்கள் கடவுச்சொல்லைச் செருகுமாறு இது கேட்கும்.

வெளிப்புற பயனர்களால் OneDrive ஐ அணுக முடியுமா?

உங்கள் OneDrive கணக்கை வெளிப்புற பயனர்களால் அணுக முடியும், ஆனால் நீங்கள் அனுமதித்தால் மட்டுமே. பயனர்கள் உங்கள் கோப்புகளை எப்போதும் அல்லது ஒரு குறிப்பிட்ட காலத்திற்கு அணுகலாம். அவர்கள் என்ன செய்ய முடியும் என்பதை நீங்கள் குறைக்கலாம்.

மற்றொரு நபரின் OneDrive இலிருந்து கோப்புகளை நகலெடுப்பது எப்படி?

மற்றொரு நபரின் OneDrive இலிருந்து கோப்புகளை நகலெடுக்க விரும்பினால் பின்வரும் விருப்பங்கள் உள்ளன:

  • இணைப்பைப் பயன்படுத்தி உங்கள் உலாவியில் OneDrive ஐத் திறந்து, நீங்கள் நகலெடுக்க விரும்பும் கோப்புகளைத் தேர்ந்தெடுத்து பதிவிறக்கு என்பதைக் கிளிக் செய்யவும். இது உங்கள் கணினியில் பதிவிறக்கும்.
  • இணைப்பைப் பயன்படுத்தி OneDrive கணக்கைத் திறந்து, நீங்கள் நகலெடுக்க விரும்பும் கோப்புகளைத் தேர்ந்தெடுத்து, நகலெடு என்பதைக் கிளிக் செய்யவும்.

அவ்வளவுதான்!

  PowerShell வழியாக OneDrive கோப்புகளை மற்றொரு பயனருக்கு மாற்றுவது எப்படி
பிரபல பதிவுகள்