SharePoint Online: PowerShell para leer elementos de la lista
Requisito: PowerShell para leer elementos de la lista en SharePoint Online.
SharePoint Online: PowerShell para leer elementos de la lista
En esta publicación de blog, veremos cómo usar PowerShell para leer elementos de la lista en SharePoint Online. Cubriremos los conceptos básicos del uso de PowerShell para conectarse a SharePoint Online y luego veremos algunos ejemplos de scripts sobre cómo leer datos de una lista de SharePoint Online. Al final de esta publicación, debería comprender cómo comenzar a usar PowerShell con sus instancias de SharePoint Online. ¡Feliz guión!
Puede leer la lista de SharePoint Online con PowerShell en estos tres sencillos pasos:
Paso 1: conectarse al sitio de SharePoint Online
Para empezar, necesitamos el contexto de conexión al sitio de SharePoint Online.
#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)
Paso 2: obtener elementos de la lista de la lista de SharePoint Online
Una vez establecida la conexión, podremos leer o actualizar cualquier objeto del sitio de SharePoint Online. A continuación se explica cómo obtener datos de la lista de SharePoint Online mediante PowerShell.
#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
Paso 3: recorra la colección de elementos de la lista para leer los elementos de la lista
Una vez que obtenemos la colección de elementos de la lista, podemos leer los elementos de la lista recorriendo cada elemento.
#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"])
}
PowerShell para leer la lista de SharePoint Online
Aquí está el script completo de PowerShell para leer los elementos de la lista de SharePoint Online:
#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"])
}
Suponga que tiene una lista grande con >5000 elementos. En ese caso, es posible que tenga que procesar por lotes los elementos de la lista para evitar problemas de limitación: el intento de operación está prohibido porque excede el umbral de vista de lista impuesto por el administrador”. PowerShell para obtener todos los elementos de la lista de listas grandes (>5000 elementos) en SharePoint Online
Leer elementos de la lista usando PnP PowerShell
¡Obtener datos de la lista de SharePoint Online a través de PnP PowerShell es mucho más sencillo! Aquí está el PnP PowerShell para obtener elementos de la lista de una lista de SharePoint Online:
#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"]
}
En resumen, siguiendo los pasos descritos en este artículo, podrá leer fácilmente los elementos de la lista en SharePoint Online y usar la información para realizar diversas tareas, como la creación de informes. Si desea exportar elementos de la lista de SharePoint Online a Excel, utilice: Exportar elementos de la lista de SharePoint Online a CSV usando PowerShell
