SharePoint Online: obtenga todos los campos de una vista de lista usando PowerShell
Requisito: Obtener todos los campos de una vista de lista de SharePoint Online.
¿Cómo obtener columnas desde una vista de SharePoint Online?
Recuperar todos los campos de una vista de lista de SharePoint Online puede resultar útil para diversos fines, como analizar el uso de columnas, administrar campos o exportar datos a sistemas externos. Este artículo lo guiará a través de los pasos para obtener todos los campos de una vista de lista de SharePoint Online.
Para ver todas las columnas incluidas en una vista de lista de SharePoint Online, haga lo siguiente:
- Vaya a la lista para la que desea obtener todos los campos de una vista.
- Haga clic en la pequeña flecha hacia abajo al lado de cualquier columna en la vista >> Elija Configuración de columna >> Mostrar/ocultar columnas. Todos los campos incluidos en la vista se enumerarán en esta sección.
También puede usar: Editar la vista actual para incluir los campos en la vista de lista particular.
SharePoint Online: PowerShell para obtener todos los campos de una vista de lista
Este script de PowerShell obtiene todos los campos de una vista de lista determinada en 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"
#Config Parameters
$SiteURL= "https://crescent.sharepoint.com/"
$ListName="Projects"
$ViewTitle ="All Items"
#Setup Credentials to connect
$Cred = Get-Credential
$Cred = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.UserName,$Cred.Password)
Try {
#Setup the context
$Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
$Ctx.Credentials = $Cred
#Get the List
$List=$Ctx.Web.Lists.GetByTitle($ListName)
#Get the List View
$ListView = $List.views.GetByTitle($ViewTitle)
$Ctx.load($ListView)
$Ctx.executeQuery()
#Get all fields from the list view
$ViewFields= $ListView.ViewFields
$Ctx.Load($ViewFields)
$Ctx.ExecuteQuery()
#Loop through all the fields of the view
ForEach($ViewField in $ViewFields)
{
#Get the Field Name
Write-Host $ViewField
}
}
Catch {
write-host -f Red "Error Getting List View Fields!" $_.Exception.Message
}
PnP PowerShell para obtener todas las columnas desde una vista de SharePoint Online
Aquí está PnP PowerShell para obtener todos los campos de una vista de Lista:
#Parameters
$SiteURL = "https://crescent.sharepoint.com/sites/pmo"
$ListName = "Projects"
$ViewName = "Active Projects"
Try {
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Interactive
#Get the View
$View = Get-PnPView -List $ListName -Identity $ViewName -Includes ViewFields
#Get all Fields from the view - Internal Name
$View.ViewFields
}
catch {
write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
}
