PowerShell kullanarak SharePoint Online'da Bir Klasör Nasıl Kopyalanır?
Gereksinim: PowerShell'i kullanarak SharePoint Online'da bir Klasörü kopyalayın.
SharePoint Online'da Klasör Nasıl Kopyalanır?
SharePoint Online'da bir klasörü kopyalamak, içeriği hızlı bir şekilde çoğaltmanın ve yeni siteler veya kitaplıklar oluştururken zamandan tasarruf etmenin yararlı bir yolu olabilir. SharePoint Online'da bir klasörü kopyalamanız gerekiyorsa PowerShell, işlemi standart SharePoint kullanıcı arayüzünü kullanmaktan çok daha kolay hale getirebilir. Bu yazıda, SharePoint siteleri arasında ve site içinde klasörleri kopyalamak için PowerShell'i nasıl kullanacağınızı göstereceğiz.
SharePoint Online modern deneyiminde bir klasörü kopyalamak basittir:
- SharePoint Çevrimiçi Belge Kitaplığınıza gidin >> Kopyalanacak Klasörü seçin.
Araç Çubuğundan “Kopyala” düğmesine tıklayın.
-
Klasörü kopyalamak istediğiniz hedef konumu seçin. Aynı belge kitaplığını/sitesini seçebilir veya farklı bir site koleksiyonunu veya alt sitesini seçebilirsiniz. Kopyalayabileceğiniz sitelerin tam listesini görmek için "Sitelere Göz At" seçeneğini kullanın.
“Yeni Klasör”e tıklayın ve kopyaya bir ad verin ve ardından klasörü kopyalamaya başlamak için “Buraya kopyala” butonuna tıklayın.
Bu, klasörü tüm dosyaları ve alt klasörleriyle birlikte seçilen hedefe kopyalar. Lütfen "Kopyala" seçeneğinin SharePoint Online klasik deneyiminde mevcut olmadığını unutmayın. SharePoint Online'da klasörleri kopyalamak için yukarıdaki yöntem basit olsa da çoğu durumda PowerShell'i kullanmak en verimli ve esnek yöntemdir.
SharePoint Online: PowerShell'i kullanarak Klasörü Kopyalayın
SharePoint Online'da bir klasörü kopyalamanız gerekiyorsa PowerShell bunu yapmanın kolay bir yolunu sunar. PowerShell kullanarak SharePoint Online'da bir klasörü kopyalayalım (Klasörü kopyalamak için her iki sitenin de iznine ihtiyacınız olacağını unutmayın):
#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
#Function to Copy a Folder
Function Copy-SPOFolder([String]$SiteURL, [String]$SourceFolderURL, [String]$TargetFolderURL)
{
Try{
#Setup the context
$Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
$Ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)
#Copy the Folder
$MoveCopyOpt = New-Object Microsoft.SharePoint.Client.MoveCopyOptions
[Microsoft.SharePoint.Client.MoveCopyUtil]::CopyFolder($Ctx, $SourceFolderURL, $TargetFolderURL, $MoveCopyOpt)
$Ctx.ExecuteQuery()
Write-host -f Green "Folder Copied Successfully!"
}
Catch {
write-host -f Red "Error Copying the Folder!" $_.Exception.Message
}
}
#Set Config Parameters
$SiteURL="https://Crescent.sharepoint.com/sites/Marketing"
$SourceFolderURL="https://Crescent.sharepoint.com/sites/Marketing/Shared Documents/2017"
$TargetFolderURL="https://Crescent.sharepoint.com/sites/Marketing/Shared Documents/2019"
#Get Credentials to connect
$Cred= Get-Credential
#Call the function to Copy the Folder
Copy-SPOFolder $SiteURL $SourceFolderURL $TargetFolderURL
Bu betiği, bir klasörü başka bir kütüphane SharePoint Online'a kopyalamak için de kullanabiliriz. SharePoint Online'da bir klasörü taşımak için başka bir makale: SharePoint Online PowerShell'den Klasörü Taşımaya
PnP PowerShell'i kullanarak SharePoint Online'da bir Klasörü Kopyalama
PnP PowerShell kullanarak SharePoint Online'da bir klasörü bir klasörden diğerine kopyalayalım:
#Config Variables
$SiteURL = "https://Crescent.sharepoint.com/sites/marketing"
$SourceFolderURL= "Shared Documents/2017"
$TargetFolderURL = "Shared Documents/2018"
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Interactive
#Copy Folder to same library
Copy-PnPFile -SourceUrl $SourceFolderURL -TargetUrl $TargetFolderURL -Force
Bu PowerShell betiği, verilen klasörü alt klasörleri ve dosyalarıyla birlikte hedefe kopyalar. Benzer şekilde, bir klasörü farklı bir site koleksiyonuna kopyalamak için bile bu yöntemi kullanabilirsiniz!
#Config Variables
$SiteURL = "https://Crescent.sharepoint.com/sites/marketing"
$SourceFolderURL= "Shared Documents/2017"
$TargetFolderURL = "/Sites/Sales/Shared Documents/2017"
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Credentials (Get-Credential)
#Copy Folder to different site collection
Copy-PnPFile -SourceUrl $SourceFolderURL -TargetUrl $TargetFolderURL -Force
“Copy-PnPFolder” cmdlet'i de aynı şeyi yapar. Yerel makinenizden bir klasörü SharePoint Online'a kopyalamak istiyorsanız şunu kullanın: PowerShell kullanarak SharePoint Online'a Klasör Nasıl Yüklenir?


