¿Cómo comprobar si existe una lista en el sitio de SharePoint usando PnP PowerShell?
Recientemente, estaba trabajando en un proyecto de SharePoint en el que queríamos escribir un script para crear una lista de SharePoint. Sin embargo, primero es necesario comprobar si la lista ya existe. En este tutorial, le mostraré cómo comprobar si existe una lista en el sitio de SharePoint usando PnP PowerShell.
Hay diferentes maneras de hacerlo. Mostraré aquí tres métodos diferentes para verificar si existe una lista en SharePoint usando PnP PowerShell.
También le mostraré cómo verificar si existe un elemento de la lista en SharePoint Online usando PnP PowerShell.
Compruebe si existe una lista en el sitio de SharePoint usando PnP PowerShell
Estos son los diferentes métodos para verificar si existe una lista en un sitio de SharePoint Online.
1. Usando Get-PnPList
La mejor manera de comprobar si existe una lista en SharePoint Online es mediante el cmdlet Get-PnPList . Este cmdlet recupera una lista según su título, ID o URL. Si la lista existe, devolverá el objeto de la lista; de lo contrario, arrojará un error.
Aquí hay una secuencia de comandos para verificar si existe una lista por su título en un sitio de SharePoint Online. Funcionará tanto para listas de SharePoint como para bibliotecas de documentos.
$siteUrl = "https://szg52.sharepoint.com/sites/PowerShellFAQs"
Connect-PnPOnline -Url $siteUrl -Interactive
# Provide your list title
$listTitle = "Employee onboarding"
try {
$list = Get-PnPList -Identity $listTitle
Write-Host "List '$listTitle' exists."
} catch {
Write-Host "List '$listTitle' does not exist."
}Ejecuté el script de PowerShell anterior usando código VS y puede mostrar el mensaje tal como existe la lista, tal como existe la lista en el sitio de SharePoint Online. Puedes ver la captura de pantalla a continuación:
2. Uso del bloque Try-Catch
Permítame mostrarle otro método para verificar si existe una lista de SharePoint Online usando PnP PowerShell. Puede utilizar un bloque Try-Catch para gestionar la excepción si la lista no existe.
Aquí hay una secuencia de comandos que usa el bloque Try-Catch para verificar si existe una lista de SharePoint usando PnP PowerShell.
# Replace with your list title
$listTitle = "Documents"
try {
$list = Get-PnPList -Identity $listTitle
if ($list) {
Write-Host "List '$listTitle' exists."
}
} catch {
Write-Host "List '$listTitle' does not exist."
}Ejecuté el script de PowerShell anterior y puedes ver el resultado en la siguiente captura de pantalla:
3. Uso del modelo de objetos del lado del cliente (CSOM)
También puede usar CSOM con PnP PowerShell para verificar si existe una lista en SharePoint Online.
Aquí hay un script que usa CSOM:
# Replace with your list title
$listTitle = "Documents"
# Load the client context
$context = Get-PnPContext
# Get the list by title
$list = $context.Web.Lists.GetByTitle($listTitle)
$context.Load($list)
try {
$context.ExecuteQuery()
Write-Host "List '$listTitle' exists."
} catch {
Write-Host "List '$listTitle' does not exist."
}Consulte Obtener todos los campos de la lista en SharePoint Online usando PnP PowerShell
Compruebe si el elemento de la lista de SharePoint existe utilizando PnP PowerShell
Le mostraré cómo verificar si existe un elemento de la lista en SharePoint Online usando PnP PowerShell. Discutiremos diferentes métodos.
Aquí, creé una lista en el sitio de SharePoint Online y agregué algunos elementos a la lista. La lista solo tiene la columna Título. En general, la lista de SharePoint se ve a continuación:
Usaremos esta lista de SharePoint para verificar si el elemento existe en la lista.
Método 1: uso de Get-PnPListItem
En el primer método, le mostraré cómo usar el cmdlet Get-PnPListItem PnP PowerShell para obtener elementos de la lista de SharePoint y luego verificar si existe un elemento específico según una condición.
Aquí está el script completo, donde he usado la columna Título para verificar si el elemento de la lista de SharePoint existe.
$siteUrl = "https://szg52.sharepoint.com/sites/PowerShellFAQs"
Connect-PnPOnline -Url $siteUrl -Interactive
$listTitle = "Departments"
$itemTitle = "Marketing"
$listItems = Get-PnPListItem -List $listTitle -PageSize 1000
$itemExists = $false
foreach ($item in $listItems) {
if ($item["Title"] -eq $itemTitle) {
$itemExists = $true
break
}
}
if ($itemExists) {
Write-Host "Item exists in the list."
} else {
Write-Host "Item does not exist in the list."
}Dado que el elemento de la lista ya existe, puede ver que muestra el mensaje "El elemento existe en la lista". Mire la captura de pantalla a continuación, ejecuté el script PnP PowerShell anterior usando código VS.
Leer Comprobar si existe un archivo en una biblioteca de documentos de SharePoint usando PnP PowerShell
Método 2: usar la consulta CAML
Permítame mostrarle otro método para verificar si existe un elemento de la lista en SharePoint Online usando PnP PowerShell. También podemos usar CAML.
Las consultas CAML (lenguaje de marcado de aplicaciones colaborativas) se pueden utilizar para filtrar elementos directamente en el lado del servidor, lo que puede ser más eficiente.
Aquí hay un ejemplo y estoy marcando el mismo elemento en la lista de SharePoint Online anterior.
$siteUrl = "https://szg52.sharepoint.com/sites/PowerShellFAQs"
Connect-PnPOnline -Url $siteUrl -Interactive
$listTitle = "Departments"
$itemTitle = "Marketing"
$camlQuery = "<View><Query><Where><Eq><FieldRef Name='Title'/><Value Type='Text'>$itemTitle</Value></Eq></Where></Query></View>"
$listItems = Get-PnPListItem -List $listTitle -Query $camlQuery
if ($listItems.Count -gt 0) {
Write-Host "Item exists in the list."
} else {
Write-Host "Item does not exist in the list."
}Ejecuté el script PnP PowerShell anterior usando código VS y puedes ver el resultado en la captura de pantalla a continuación.
Método 3: usar Get-PnPListItem con filtro
Permítame mostrarle otro método eficaz para comprobar si existe un elemento de la lista de SharePoint. Podemos usar el parámetro -Filter con Get-PnPListItem para filtrar elementos directamente desde una lista de SharePoint Online.
Aquí hay un ejemplo.
$siteUrl = "https://szg52.sharepoint.com/sites/PowerShellFAQs"
Connect-PnPOnline -Url $siteUrl -Interactive
$listTitle = "Departments"
$itemTitle = "Marketing"
$listItems = Get-PnPListItem -List $listTitle -Filter "Title eq '$itemTitle'"
if ($listItems.Count -gt 0) {
Write-Host "Item exists in the list."
} else {
Write-Host "Item does not exist in the list."
}Puede usar cualquiera de los tres métodos para verificar si existe un elemento de lista en una lista de SharePoint Online usando PnP PowerShell.
Conclusión
En este tutorial, he explicado cómo comprobar si existe una lista en un sitio de SharePoint usando PnP PowerShell, usando diferentes métodos y ejemplos. Recomiendo usar el cmdlet Get-PnPList para verificar si la lista de SharePoint Online existe usando PnP PowerShell.
Déjame saber si todavía tienes alguna pregunta.




