SharePoint Online: Liste Öğelerini Okumak için PowerShell
Gereksinim: SharePoint Online'daki liste öğelerini okumak için PowerShell.
SharePoint Online: Liste Öğelerini Okumak İçin PowerShell
Bu blog yazısında, SharePoint Online'daki liste öğelerini okumak için PowerShell'in nasıl kullanılacağını ele alacağız. SharePoint Online'a bağlanmak için PowerShell kullanmanın temellerini ele alacağız ve ardından SharePoint Online listesinden veri okumaya ilişkin bazı komut dosyası örneklerini inceleyeceğiz. Bu yazının sonunda, SharePoint Online örneklerinizle PowerShell'i kullanmaya nasıl başlayacağınızı anlayacaksınız. Mutlu senaryolar!
PowerShell ile SharePoint Online listesini şu üç basit adımda okuyabilirsiniz:
1. Adım: SharePoint Çevrimiçi Sitesine Bağlanın
Başlangıç olarak, SharePoint Online sitesine bağlantı bağlamına ihtiyacımız var.
#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"
#Variables for Processing
$SiteUrl = "https://crescent.sharepoint.com/"
#Get Credentials to connect
$Cred = Get-Credential
#Setup the context
$Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
$Ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.UserName,$Cred.Password)
Adım 2: SharePoint Çevrimiçi Listesinden Liste Öğelerini Alın
Bağlantı kurulduktan sonra SharePoint Online sitesindeki herhangi bir nesneyi okuyabilir veya güncelleyebiliriz. PowerShell kullanarak SharePoint Online listesinden nasıl veri alacağınız aşağıda açıklanmıştır.
#List Name Variable
$ListName = "Projects"
#Get the list
$List = $Ctx.Web.Lists.GetByTitle($ListName)
#Read All Items from the list
$ListItems = $List.GetItems([Microsoft.SharePoint.Client.CamlQuery]::CreateAllItemsQuery())
$Ctx.Load($ListItems)
$Ctx.ExecuteQuery()
Write-host "Total Number of Items Found in the List:"$ListItems.Count
Adım 3: Liste Öğelerini Okumak için Liste Öğeleri Koleksiyonunda Döngü Yapın
Liste öğeleri koleksiyonunu aldıktan sonra, her öğeyi yineleyerek liste öğelerini okuyabiliriz.
#Iterate through List Items
ForEach($Item in $ListItems)
{
#sharepoint online powershell read list items
Write-Host ("List Item ID:{0} - Title:{1}" -f $Item["ID"], $Item["Title"])
}
SharePoint Çevrimiçi Listesini Okuyacak PowerShell
SharePoint Çevrimiçi Liste Öğelerini okumak için PowerShell betiğinin tamamı burada:
#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"
#Variables for Processing
$SiteUrl = "https://crescent.sharepoint.com/"
$ListName = "Projects"
#Get Credentials to connect
$Cred = Get-Credential
#Setup the context
$Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
$Ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.UserName,$Cred.Password)
#Get the list
$List = $Ctx.Web.Lists.GetByTitle($ListName)
#sharepoint online powershell read list items
$ListItems = $List.GetItems([Microsoft.SharePoint.Client.CamlQuery]::CreateAllItemsQuery())
$Ctx.Load($ListItems)
$Ctx.ExecuteQuery()
Write-host "Total Number of Items Found in the List:"$ListItems.Count
#Iterate through List Items
ForEach($Item in $ListItems)
{
#sharepoint online powershell read list items
Write-Host ("List Item ID:{0} - Title:{1}" -f $Item["ID"], $Item["Title"])
}
5000'den fazla öğeden oluşan geniş bir listeniz olduğunu varsayalım. Bu durumda, kısıtlama sorunlarından kaçınmak için liste öğelerini toplu olarak işlemeniz gerekebilir: Girişilen işlem, yönetici tarafından uygulanan liste görüntüleme eşiğini aştığı için yasaklanmıştır. PowerShell, SharePoint Online'daki Büyük Listelerden (>5000 Öğe) Tüm Liste Öğelerini Alacak
PnP PowerShell kullanarak Liste Öğelerini Oku
PnP PowerShell aracılığıyla SharePoint Online listesinden veri almak çok daha basit! SharePoint Online listesinden liste öğeleri almak için PnP PowerShell'i burada bulabilirsiniz:
#Config Variables
$SiteURL="https://crescent.sharepoint.com/sites/marketing"
$ListName= "Projects"
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Interactive
#PnP powershell to get list items
$ListItems = Get-PnPListItem -List $ListName -PageSize 2000
#Iterate through each Item in the list
foreach($ListItem in $ListItems)
{
Write-Host "Title:" $ListItem["Title"]
}
Özetle, bu makalede özetlenen adımları izleyerek, SharePoint Online'daki liste öğelerini kolayca okuyabilir ve bilgileri rapor oluşturma gibi çeşitli görevleri gerçekleştirmek için kullanabilirsiniz. SharePoint Çevrimiçi Liste öğelerini Excel'e aktarmak istiyorsanız şunu kullanın: PowerShell kullanarak SharePoint Çevrimiçi Liste Öğelerini CSV'ye Aktarma
