Búsqueda de sitios web

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:

  1. Vaya a la lista para la que desea obtener todos los campos de una vista.
  2. 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
}

Artículos relacionados