Búsqueda de sitios web

SharePoint Online: PowerShell para obtener el valor del campo del elemento de lista


Requisito: PowerShell para obtener el valor del campo del elemento de lista en SharePoint Online.

SharePoint Online PowerShell para obtener el valor del campo del elemento de lista

Como administrador de SharePoint Online, habrá ocasiones en las que necesitará obtener el valor de campo de un elemento de la lista a través de PowerShell. En esta publicación de blog, le mostraré cómo usar PowerShell para obtener el valor de campo de un elemento de la lista.


#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"

#Parameters
$SiteURL = "https://crescent.sharepoint.com"
$ListName = "Projects"
$FieldName = "Manager"
$ItemId="1"

#Set Authentication Parameters
$UserName = "Salaudeen@Crescent.com"
$Password = "Password1"
$SecurePassword= $Password | ConvertTo-SecureString -AsPlainText -Force

#Setup the Context
$Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
$Ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($UserName, $SecurePassword)
 
#Get List Item
$List = $Ctx.Web.Lists.GetByTitle($ListName)
$ListItem = $List.GetItemById($ItemId)
$Ctx.Load($ListItem)
$Ctx.ExecuteQuery()    

#sharepoint online powershell to get list item field value
$ListItem[$FieldName]

#Also does the same: Get the Field Value
#$ListItem.FieldValues[$FieldName]

El script anterior devuelve datos según el tipo de campo. Por ejemplo, como el campo "Administrador" es "Persona o Búsqueda", este script de PowerShell devuelve el tipo de datos Microsoft.SharePoint.Client.FieldUserValue . Obtengamos solo el valor de texto de un campo como:


#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"
  
#Parameters
$SiteURL = "https://Crescent.sharepoint.com"
$ListName = "Projects"
$FieldName = "Manager"
$ItemId="1"

#Get credentials to connect
$Cred = Get-Credential

#Setup the Context
$Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
$Ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.UserName, $Cred.Password)
 
#Get List Item
$List = $Ctx.Web.Lists.GetByTitle($ListName)
$ListItem = $List.GetItemById($ItemId)
$Ctx.Load($ListItem)
$Ctx.ExecuteQuery()

#Get List Item Field Values as Text
$ListItemFieldValues = $ListItem.FieldValuesAsText
$Ctx.Load($ListItemFieldValues)
$Ctx.ExecuteQuery()

#Get the Text value of "Manager" field from the list Item
$ListItemFieldValues[$FieldName]

PnP PowerShell para obtener el valor de campo de un elemento de lista

Recuperar los valores de campo de un elemento de lista en SharePoint Online puede ser una forma útil de extraer datos y automatizar tareas. Con PnP PowerShell, puede obtener fácilmente una lista de valores de campo para un elemento de lista en SharePoint Online mediante el cmdlet Get-PnPListItem.

Con PnP PowerShell, podemos obtener el valor de un campo de un elemento de la lista como:


#Parameters
$SiteURL = "https://crescent.sharepoint.com/sites/Pmo"
$ListName = "Projects"

#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Interactive

#Get a Most recent List Item created
$ListItem = Get-PnPListItem -List $ListName -PageSize 500 | Select -Last 1
 
#Get All Field Values from the List Item
$ListItem.FieldValues

Para obtener todos los valores de los campos, utilice lo siguiente:


#Get All Field Values from the List Item
$FieldValues = $ListItem.FieldValues

ForEach ($Field in $FieldValues.Keys)
{
    Write-Host "$Field : $($FieldValues[$Field])"
}

Con esta secuencia de comandos, puede obtener una lista de valores de campo para un elemento de lista de SharePoint Online mediante PowerShell. Esta puede ser una forma útil de extraer datos de sus listas de SharePoint y automatizar tareas. Estos son mis otros scripts de PowerShell para obtener datos de elementos de lista en SharePoint Online:

  • SharePoint Online: Obtenga el valor del campo de casilla de verificación Sí/No usando PowerShell
  • SharePoint Online: obtenga el valor del campo de búsqueda mediante PowerShell
  • SharePoint Online: obtenga el valor del campo de persona o grupo usando PowerShell

Artículos relacionados