Búsqueda de sitios web

Obtenga todos los campos de lista en SharePoint Online usando PnP PowerShell


Recientemente, uno de mis clientes quería enumerar todos los nombres de columnas de una lista de SharePoint Online. Probé PnP PowerShell para hacerlo. En este tutorial, explicaré cómo obtener todos los campos de la lista en SharePoint Online usando PnP PowerShell.

También le mostraré cómo obtener todas las columnas de la lista, incluidas las columnas listas para usar y las columnas personalizadas, de la lista o biblioteca de documentos de SharePoint Online.

Obtenga todos los campos de lista en SharePoint Online usando PnP PowerShell

Aquí tengo una lista de SharePoint que tiene algunas columnas. Puede ver el resultado en la siguiente captura de pantalla:

Para obtener todos los nombres de columnas de una lista específica en el sitio de SharePoint Online, utilice el cmdlet Get-PnPField .

$siteUrl = "https://szg52.sharepoint.com/sites/PowerShellFAQs"
Connect-PnPOnline -Url $siteUrl -Interactive

$listName = "Employee Onboarding"
$fields = Get-PnPField -List $listName
foreach ($field in $fields) {
    Write-Host "Field Title: $($field.Title) - Internal Name: $($field.InternalName) - Type: $($field.TypeAsString)"
}

Después de ejecutar el script de PowerShell anterior, podrá ver la lista de columnas de la lista de SharePoint Online. También incluye todas las columnas ocultas, columnas personalizadas y columnas listas para usar. Consulte la captura de pantalla a continuación para su referencia.

Obtenga columnas personalizadas de una lista de SharePoint usando PnP PowerShell

A veces, es posible que desee obtener las columnas personalizadas de la lista de SharePoint Online mediante PnP PowerShell.

Aquí está el script completo de PowerShell.

$siteUrl = "https://szg52.sharepoint.com/sites/PowerShellFAQs"
Connect-PnPOnline -Url $siteUrl -Interactive

$listName = "Employee Onboarding"
$fields = Get-PnPField -List $listName
$customFields = $fields | Where-Object { $_.CanBeDeleted -eq $true }
foreach ($field in $customFields) {
    Write-Host "Custom Field Title: $($field.Title) - Internal Name: $($field.InternalName) - Type: $($field.TypeAsString)"
}

Ejecuté el script anterior; Puede ver el resultado en la captura de pantalla a continuación. Muestra todas las columnas personalizadas de la lista de SharePoint Online.

Obtenga columnas listas para usar de la lista de SharePoint usando PnP PowerShell

Ahora es el momento de mostrarle cómo crear columnas listas para usar de una lista de SharePoint Online usando PnP PowerShell.

Aquí está el PnP PowerShell completo.

$siteUrl = "https://szg52.sharepoint.com/sites/PowerShellFAQs"
Connect-PnPOnline -Url $siteUrl -Interactive

$listName = "Employee Onboarding"
$fields = Get-PnPField -List $listName
$ootbFields = $fields | Where-Object { $_.CanBeDeleted -eq $false }
foreach ($field in $ootbFields) {
    Write-Host "OOTB Field Title: $($field.Title) - Internal Name: $($field.InternalName) - Type: $($field.TypeAsString)"
}

Puede ver el resultado en la siguiente captura de pantalla:

Aquí está el script completo para todos los ejemplos anteriores.

$siteUrl = "https://szg52.sharepoint.com/sites/PowerShellFAQs"Connect-PnPOnline -Url $siteUrl -Interactive$listName = "Employee Onboarding"

# Retrieve all fields
$fields = Get-PnPField -List $listName

# Display all fields
Write-Host "All Fields:"
foreach ($field in $fields) {
    Write-Host "Field Title: $($field.Title) - Internal Name: $($field.InternalName) - Type: $($field.TypeAsString)"
}

# Retrieve custom fields
$customFields = $fields | Where-Object { $_.CanBeDeleted -eq $true }
Write-Host "`nCustom Fields:"
foreach ($field in $customFields) {
    Write-Host "Custom Field Title: $($field.Title) - Internal Name: $($field.InternalName) - Type: $($field.TypeAsString)"
}

# Retrieve out-of-the-box fields
$ootbFields = $fields | Where-Object { $_.CanBeDeleted -eq $false }
Write-Host "`nOOTB Fields:"
foreach ($field in $ootbFields) {
    Write-Host "OOTB Field Title: $($field.Title) - Internal Name: $($field.InternalName) - Type: $($field.TypeAsString)"
}

Conclusión

En este tutorial, he explicado cómo usar PnP PowerShell para recuperar todos los nombres de columnas de una lista de SharePoint Online, incluidas las columnas personalizadas y listas para usar.

Artículos relacionados