Búsqueda de sitios web

¿Cómo comprobar si existe un campo en una lista de SharePoint Online usando PnP PowerShell?


Recientemente, recibí el requisito de verificar si existe una columna en una lista de SharePoint. En lugar de comprobarlo manualmente, utilicé PowerShell. En este tutorial, le mostraré cómo comprobar si existe un campo en una lista de SharePoint Online usando PnP PowerShell. El mismo script también funcionará para una biblioteca de documentos.

Comprobar si existe un campo en una lista de SharePoint Online usando PnP PowerShell

Aquí, le mostraré dos métodos para verificar si existe un campo en una lista de SharePoint Online usando PowerShell.

Aquí, he creado una lista de SharePoint Online llamada "EmployeeRecords" y queremos verificar si existe un campo llamado "EmployeeID". Puede ver la lista y la columna como a continuación:

Método 1: usar Get-PnPField

El cmdlet Get-PnPField recupera campos de una lista de SharePoint Online especificada. Puede usarlo para verificar si existe un campo al intentar recuperarlo por nombre usando estos cmdlets PnP PowerShell.

Aquí está el script PnP PowerShell completo.

Connect-PnPOnline -Url "https://szg52.sharepoint.com/sites/PowerShellFAQs" -Interactive
$listName = "EmployeeRecords"
$fieldName = "EmployeeID"

try {
    $field = Get-PnPField -List $listName -Identity $fieldName
    if ($field) {
        Write-Output "Field 'EmployeeID' exists in the list 'EmployeeRecords'."
    }
} catch {
    Write-Output "Field 'EmployeeID' does not exist in the list 'EmployeeRecords'."
}

Una vez que ejecute el script de PowerShell anterior, podrá verlo mostrando el resultado exacto en la captura de pantalla a continuación. Dado que la columna existe, muestra un mensaje como "El campo 'EmployeeID' existe en la lista 'EmployeeRecords'".

Este es uno de los mejores métodos para comprobar si existe un campo en la lista de SharePoint Online utilizando PnP PowerShell.

Consulte Obtener todos los campos de la lista en SharePoint Online usando PnP PowerShell

Método 2: uso de la propiedad Get-PnPList y Fields

Permítame mostrarle otro método para comprobar si existe un campo en la lista de SharePoint Online. Le mostraré cómo usar el cmdlet Get-PnPList y la propiedad Fields para verificar si el campo existe en la lista de SharePoint Online.

Connect-PnPOnline -Url "https://szg52.sharepoint.com/sites/PowerShellFAQs" -Interactive
$listName = "EmployeeRecords"
$fieldName = "EmployeeID"

# Get the list
$list = Get-PnPList -Identity $listName

# Load the fields collection
$ctx = Get-PnPContext
$ctx.Load($list.Fields)
$ctx.ExecuteQuery()

# Check if the field exists
$fieldExists = $list.Fields | Where-Object { $_.InternalName -eq $fieldName }

if ($fieldExists) {
    Write-Output "Field 'EmployeeID' exists in the list 'EmployeeRecords'."
} else {
    Write-Output "Field 'EmployeeID' does not exist in the list 'EmployeeRecords'."
}

Esta secuencia de comandos recupera la lista de SharePoint Online y comprueba su colección Campos para ver si existe un campo con el nombre interno especificado. Ejecuté el script PnP PowerShell anterior y puedes ver el resultado en la siguiente captura de pantalla:

Conclusión

El uso de PnP PowerShell para comprobar si un campo existe en una lista de SharePoint Online se puede hacer de manera eficiente con el cmdlet Get-PnPField o examinando los Campos propiedad de una lista. Recomiendo encarecidamente utilizar Get-PnPField PnP PowerShell para comprobar si existe un campo en una lista de SharePoint Online.

Artículos relacionados