当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] SharePoint Online:PowerShell 获取列表项字段值

作者:精品下载站 日期:2024-12-14 14:59:01 浏览:16 分类:玩电脑

SharePoint Online:PowerShell 获取列表项字段值


要求: PowerShell 获取 SharePoint Online 中的列表项字段值。

SharePoint Online PowerShell 获取列表项字段值

作为 SharePoint Online 管理员,有时您需要通过 PowerShell 获取列表项的字段值。在这篇博文中,我将向您展示如何使用 PowerShell 获取列表项的字段值。

[玩转系统] SharePoint Online:PowerShell 获取列表项字段值


#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"

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

#Set Authentication Parameters
$UserName = "[email protected]"
$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]

上面的脚本根据字段类型返回数据。例如,由于“Manager”字段是“Person or Lookup”,因此此 PowerShell 脚本返回 Microsoft.SharePoint.Client.FieldUserValue 数据类型。让我们只从字段中获取文本值,如下所示:


#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\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 获取列表项的字段值

检索 SharePoint Online 中列表项的字段值是提取数据和自动执行任务的有用方法。借助 PnP PowerShell,您可以使用 Get-PnPListItem cmdlet 轻松获取 SharePoint Online 中列表项的字段值列表。

使用 PnP PowerShell,我们可以从列表项中获取字段的值,如下所示:


#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

要获取所有字段值,请使用以下命令:


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

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

通过此脚本,您可以使用 PowerShell 获取 SharePoint Online 列表项的字段值列表。这是从 SharePoint 列表中提取数据并自动执行任务的有用方法。以下是我的其他 PowerShell 脚本,用于从 SharePoint Online 中的列表项获取数据:

  • SharePoint Online:使用 PowerShell 获取是/否复选框字段值
  • SharePoint Online:使用 PowerShell 获取查找字段值
  • SharePoint Online:使用 PowerShell 获取人员或组字段值

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯