Tìm kiếm trang web

SharePoint Online: PowerShell để nhận giá trị trường siêu dữ liệu được quản lý


Yêu cầu: Nhận giá trị trường siêu dữ liệu được quản lý trong SharePoint Online bằng PowerShell.

SharePoint Online: PowerShell để nhận giá trị trường siêu dữ liệu được quản lý

Siêu dữ liệu được quản lý được sử dụng để cung cấp cấu trúc thuật ngữ nhất quán trong toàn tổ chức. Các trường siêu dữ liệu được quản lý lưu trữ thuật ngữ GUID nội bộ dưới dạng giá trị của nó. Trong bài đăng này, chúng tôi sẽ đề cập đến cách truy xuất giá trị của trường siêu dữ liệu được quản lý bằng PowerShell trong SharePoint Online.

Để nhận giá trị của cột Siêu dữ liệu được quản lý, hãy sử dụng PowerShell này:


#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"
 
#Set parameters
$SiteURL="https://crescent.sharepoint.com/Sites/pmo"
$ListName="Projects" 
$FieldName="Classification" #Internal Name
$ListItemID="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 the List Item
$List = $Ctx.Web.lists.GetByTitle($ListName)
$ListItem = $List.GetItemById($ListItemID)
$Ctx.Load($ListItem)
$Ctx.ExecuteQuery()
 
#Get Managed Metadata Field Value
$MMSFieldValue = $ListItem[$FieldName]
Write-host $MMSFieldValue.Label
Write-host $MMSFieldValue.TermGuid

PnP PowerShell để nhận giá trị cột siêu dữ liệu được quản lý

Tương tự, để lấy giá trị của giá trị cột MMS, hãy sử dụng PnP PowerShell này. Ví dụ: để truy xuất giá trị cho trường có tên “Phân loại” trong danh sách có tên “Dự án” trong trang SharePoint Online, hãy sử dụng tập lệnh sau:


#Parameters
$SiteURL="https://crescent.sharepoint.com/Sites/pmo"
$ListName="Projects" 
$FieldName="Classification" #Internal Name
$ListItemID="1"

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

#Get List items from the list
$ListItem = Get-PnPListItem -List $ListName -Id $ListItemID -Fields $FieldName

#Get Managed Metadata Field Value
$MMSFieldValue = $ListItem[$FieldName]
Write-host $MMSFieldValue.Label
Write-host $MMSFieldValue.TermGuid

Truy xuất giá trị Trường siêu dữ liệu được quản lý cho phép nhiều giá trị bằng PowerShell:

Để nhận giá trị Trường MMS đa giá trị, hãy sử dụng:


#Parameters
$SiteURL="https://crescent.sharepoint.com/Sites/pmo"
$ListName="Projects" 
$FieldName="Classification" #Internal Name
$ListItemID="1"

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

#Get an item from the list
$ListItem = Get-PnPListItem -List $ListName -Id $ListItemID -Fields $FieldName

#Get the Field
$Field = Get-PnPField -List $ListName -Identity $FieldName 

#Check if the field allows Multiple values
If($Field.TypeAsString -eq "TaxonomyFieldType")
{
    #Get Managed Metadata Field Value
    $MMSFieldValue = $ListItem[$FieldName]
    Write-host $MMSFieldValue.Label
    Write-host $MMSFieldValue.TermGuid
}
Else #TaxonomyFieldTypeMulti
{
    $MMSFieldValue = $ListItem[$FieldName] | ForEach-Object {
        Write-host $_.Label
        Write-host $_.TermGuid
    }
}

Tóm lại, việc truy xuất giá trị của trường siêu dữ liệu được quản lý trong SharePoint Online là một quy trình đơn giản có thể được thực hiện bằng cách sử dụng lệnh ghép ngắn tập lệnh CSOM hoặc PnP PowerShell. Bằng cách làm theo các ví dụ được cung cấp trong bài viết này, bạn sẽ có thể truy xuất giá trị của trường siêu dữ liệu được quản lý và sử dụng nó để phân loại và sắp xếp nội dung của bạn trong SharePoint Online.

Để cập nhật giá trị trường siêu dữ liệu được quản lý, hãy sử dụng: SharePoint Online: PowerShell để cập nhật giá trị trường siêu dữ liệu được quản lý

Bài viết liên quan