Tìm kiếm trang web

SharePoint Online: Thêm cột hộp kiểm "Có/Không" vào danh sách bằng PowerShell


Yêu cầu: Thêm cột “Có/Không (Hộp kiểm)” vào danh sách SharePoint Online bằng PowerShell.

Cách tạo cột hộp kiểm Có/Không trong Danh sách SharePoint Online?

Cột Có/Không trong SharePoint biểu thị kiểu dữ liệu Boolean và lưu trữ giá trị Có hoặc Không dựa trên trạng thái được chọn hoặc không được chọn của trường. Trong bài viết này, chúng ta sẽ xem xét cách thêm cột hộp kiểm “Có/Không” vào danh sách bằng PowerShell.

Để thêm trường Có/Không vào danh sách SharePoint Online, hãy làm theo các bước sau:

  1. Duyệt đến trang SharePoint Online của bạn và điều hướng đến danh sách mục tiêu mà bạn muốn thêm cột Có/Không.
  2. Trong tab Danh sách, nhấp vào nút “Tạo cột” trong ruy-băng.
  3. Cung cấp Tên cột mới của bạn và chỉ định loại là “Hộp kiểm Có/Không”.

  4. Điền vào các giá trị tùy chọn khác, chẳng hạn như mô tả trường, Giá trị mặc định và Nhấp vào “OK” để tạo trường hộp kiểm Có/Không trong danh sách SharePoint Online.

PowerShell để tạo cột hộp kiểm “Có/Không” trong danh sách SharePoint Online:

Đây là tập lệnh PowerShell để thêm trường Có/Không vào danh sách Sharepoint Online, với các bước dưới đây:

  • Bước 1: Kết nối với SharePoint Online
  • Bước 2: Lấy danh sách
  • Bước 3: Kiểm tra xem danh sách đã có cột chưa
  • Bước 4: Thêm cột

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

#Custom function to add column to list
Function Add-YesNoColumnToList()
{ 
    param
    (
        [Parameter(Mandatory=$true)] [string] $SiteURL,
        [Parameter(Mandatory=$true)] [string] $ListName,
        [Parameter(Mandatory=$true)] [string] $Name,
        [Parameter(Mandatory=$true)] [string] $DisplayName,
        [Parameter(Mandatory=$false)] [string] $Description=[string]::Empty,
        [Parameter(Mandatory=$false)] [string] $DefaultValue = "0"
    )

    #Generate new GUID for Field ID
    $FieldID = New-Guid

    Try {
        $Cred= Get-Credential
        $Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)

        #Setup the context
        $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
        $Ctx.Credentials = $Credentials
        
        #Get the List
        $List = $Ctx.Web.Lists.GetByTitle($ListName)
        $Ctx.Load($List)
        $Ctx.ExecuteQuery()

        #Check if the column exists in list already
        $Fields = $List.Fields
        $Ctx.Load($Fields)
        $Ctx.executeQuery()
        $NewField = $Fields | where { ($_.Internalname -eq $Name) -or ($_.Title -eq $DisplayName) }
        if($NewField -ne $NULL)  
        {
            Write-host "Column $Name already exists in the List!" -f Yellow
        }
        else
        {
            #Define XML for Field Schema
            $FieldSchema = "<Field Type='Boolean' ID='{$FieldID}' DisplayName='$DisplayName' Name='$Name' Description='$Description'><Default>$DefaultValue</Default></Field>"
            $NewField = $List.Fields.AddFieldAsXml($FieldSchema,$True,[Microsoft.SharePoint.Client.AddFieldOptions]::AddFieldInternalNameHint)
            $Ctx.ExecuteQuery()    

            Write-host "New Column Added to the List Successfully!" -ForegroundColor Green  
        }
    }
    Catch {
        write-host -f Red "Error Adding Column to List!" $_.Exception.Message
    }
} 

#Set parameter values
$SiteURL="https://crescent.sharepoint.com"
$ListName="Projects"
$Name="IsActive"
$DisplayName="Is Active"
$Description="Specify if the Project is Active"
$DefaultValue="1" #0 for No / 1 for Yes

#Call the function to add column to list
Add-YesNoColumnToList -SiteURL $SiteURL -ListName $ListName -Name $Name -DisplayName $DisplayName -Description $Description -DefaultValue $DefaultValue

PnP PowerShell để thêm cột Có/Không vào danh sách SharePoint Online

Sử dụng lệnh ghép ngắn Add-PnPField trong PnP PowerShell để thêm trường Có/Không vào danh sách:


#Config Variables
$SiteURL = "https://Crescent.sharepoint.com/sites/marketing"
$ListName= "Projects"

#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Credentials (Get-Credential)

#Add Yes/No Field to list
Add-PnPField -Type Boolean -List $ListName -DisplayName "Is Active" -InternalName "IsActive" -AddToDefaultView

Tương tự, bạn có thể thêm cột Có/Không từ lược đồ XML.


#Define XML Schema for currency Field
$FieldXML= "<Field Type='Boolean' Name='IsActive' ID='$([GUID]::NewGuid())' DisplayName='Is Active' Required ='FALSE'></Field>"

#Add Currency Field to list from XML
Add-PnPFieldFromXml -FieldXml $FieldXML -List $ListName 

Tóm lại, cột hộp kiểm “Có/Không” rất hữu ích để lưu trữ các giá trị Boolean đơn giản trong danh sách. Bạn có thể dễ dàng thêm cột vào danh sách bằng cách làm theo các bước được nêu trong bài viết này.

Bài viết liên quan