SharePoint Online: เพิ่มคอลัมน์ของไซต์ลงในรายการโดยใช้ PowerShell
ความต้องการ: เพิ่มคอลัมน์ของไซต์ที่มีอยู่ลงในรายการหรือไลบรารี SharePoint โดยใช้ PowerShell
จะเพิ่มคอลัมน์ของไซต์ลงในรายการ SharePoint Online ได้อย่างไร
คอลัมน์ของไซต์ใน SharePoint ช่วยให้สามารถนำกลับมาใช้ใหม่ได้อย่างดีโดยไม่ต้องสร้างคอลัมน์เดิมซ้ำหลายครั้ง! เมื่อสร้างที่ไซต์ระดับบนสุดแล้ว เราสามารถใช้ข้อมูลเหล่านี้เพื่อจัดเก็บข้อมูลเมตาในรายการและไลบรารีจำนวนเท่าใดก็ได้ภายใต้ลำดับชั้น เมื่อต้องการเพิ่มคอลัมน์ของไซต์ลงในรายการ SharePoint ให้ทำตามขั้นตอนเหล่านี้:
- ไปที่การตั้งค่ารายการ >> ใต้คอลัมน์ คลิกลิงก์ "เพิ่มจากคอลัมน์ของไซต์ที่มีอยู่"
จากคอลัมน์ของไซต์ที่มีอยู่ ให้เลือกคอลัมน์ของไซต์ที่ต้องการและคลิกที่ปุ่มเพิ่ม
- คลิกตกลงเพื่อบันทึกการเปลี่ยนแปลงของคุณ
มาเพิ่มคอลัมน์ของไซต์ลงในรายการ SharePoint Online โดยใช้ PowerShell
เพิ่มคอลัมน์ของไซต์ลงในรายการหรือไลบรารีด้วย PowerShell:
สคริปต์ PowerShell CSOM นี้เพิ่มคอลัมน์ไซต์ที่มีอยู่ “แผนก” ลงในรายการ ” โครงการ ”
#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"
#Variables
$SiteURL="https://crescent.sharepoint.com/sites/pmo"
$ListName="Projects"
$SiteColumnName="Department"
$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
$Web = $Ctx.web
#Get the list
$List=$Ctx.Web.Lists.GetByTitle($ListName)
#Get the Site column
$Field = $Web.Fields.GetByTitle($SiteColumnName)
#Add the site column to the list
$List.Fields.Add($Field)
$ctx.ExecuteQuery()
Write-host "Site Column Added to the List Successfully!" -f Green
PowerShell เพื่อเพิ่มคอลัมน์ของไซต์ในรายการ SharePoint:
มาเพิ่มการจัดการข้อผิดพลาดในโค้ดด้านบนเพื่อจัดการกับสถานการณ์ต่างๆ เช่น:
- จะเกิดอะไรขึ้นหากไม่มีคอลัมน์ของไซต์ที่ระบุ
- จะเกิดอะไรขึ้นหากคอลัมน์ของไซต์ที่ระบุถูกเพิ่มลงในรายการแล้ว?
- จะเกิดอะไรขึ้นหากไม่มีรายการที่ระบุ? หรือจะเกิดอะไรขึ้นถ้าข้อมูลรับรองที่ระบุไม่ถูกต้อง? ฯลฯ
#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"
$SiteColumnName="Department"
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
$Web = $Ctx.web
#Get the Site column from web
$SiteColumns = $Web.Fields
$Ctx.Load($SiteColumns)
$Ctx.ExecuteQuery()
$SiteColumn = $SiteColumns | Where {$_.Title -eq $SiteColumnName}
#Check if given site column exists
if($SiteColumn -eq $Null)
{
Write-host "Site Column $SiteColumnName doesn't exists!" -f Yellow
}
else
{
#Get the list
$List=$Ctx.Web.Lists.GetByTitle($ListName)
#Check if the Filed exist in list already
$Fields = $List.Fields
$Ctx.Load($List)
$Ctx.Load($Fields)
$Ctx.ExecuteQuery()
$Field = $Fields | where {$_.Title -eq $SiteColumnName}
if($Field -ne $NULL)
{
Write-host "Column Name $SiteColumnName already exists in the list!" -f Yellow
}
else
{
#Add the site column to the list
$NewColumn = $List.Fields.Add($SiteColumn)
$ctx.ExecuteQuery()
Write-host "Site Column Added to the List Successfully!" -f Green
}
}
}
Catch {
write-host -f Red "Error Adding Site Column to List!" $_.Exception.Message
}
นี่เป็นอีกตัวอย่างหนึ่ง:
#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"
#Function to Add Fields to List
Function Add-SPOSiteColumnToList([Microsoft.SharePoint.Client.List]$List, [GUID]$FieldID)
{
#Get Fields from List
$Ctx.Load($List.Fields)
$Ctx.ExecuteQuery()
#Get the Site Column from Web
$SiteColumn = $List.ParentWeb.AvailableFields.GetById($FieldID)
$Ctx.Load($SiteColumn)
$Ctx.ExecuteQuery()
#Check if the Field exist in list
$ListField = $List.Fields | where {$_.ID -eq $SiteColumn.Id}
if($ListField -eq $NULL)
{
#Add the site column to the list
$NewColumn = $List.Fields.Add($SiteColumn)
$ctx.ExecuteQuery()
Write-host "Site Column '$($SiteColumn.Title)' Added to the List Successfully!" -f Green
}
else
{
Write-host "Site Column '$($SiteColumn.Title)' already exists in the list!" -f Yellow
}
}
#Set Variables
$SiteURL= "https://crescent.sharepoint.com/sites/Marketing"
$ListName="Team Documents"
#Setup 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
$List = $Ctx.Web.Lists.GetByTitle($ListName)
$Ctx.Load($List)
$Ctx.ExecuteQuery()
#Add Rating Fields to List
$AverageRatingFieldID = [guid]"5a14d1ab-1513-48c7-97b3-657a5ba6c742"
$RatingCountFieldID = [guid]"b1996002-9167-45e5-a4df-b2c41c6723c7"
#Call the function to Add Site column to List
Add-SPOSiteColumnToList -List $List -FieldID $AverageRatingFieldID
Add-SPOSiteColumnToList -List $List -FieldID $RatingCountFieldID
PnP PowerShell เพื่อเพิ่มคอลัมน์ไซต์ลงในรายการ
ต่อไปนี้เป็นวิธีเพิ่มคอลัมน์ของไซต์ลงในรายการ SharePoint Online โดยใช้ PnP PowerShell:
#Config Variables
$SiteURL = "https://Crescent.sharepoint.com"
$ListName= "Team Projects"
$ColumnName= "ProjectStartDate" #Internal Name
#Get Credentials to connect
$Cred = Get-Credential
Try {
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Credentials $Cred
#Add Existing Site column to list
Add-PnPField -List $ListName -Field $ColumnName -ErrorAction Stop
Write-host "Site Column '$ColumnName' Added to List Successfully!" -f Green
}
catch {
write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
}
SharePoint Online PowerShell เพื่อเพิ่มคอลัมน์ลงในรายการ
หากคุณกำลังมองหา SharePoint Online PowerShell เพื่อเพิ่มคอลัมน์ลงในรายการ เช่น "ข้อความบรรทัดเดียว" หรือ "ตัวเลือก" ฯลฯ ใช้ :
- SharePoint Online: เพิ่มฟิลด์ข้อความบรรทัดเดียวลงในรายการโดยใช้ PowerShell
- SharePoint Online: เพิ่มคอลัมน์ข้อความหลายบรรทัดลงในรายการโดยใช้ PowerShell
- SharePoint Online: เพิ่มคอลัมน์จากการคำนวณลงในรายการโดยใช้ PowerShell
- SharePoint Online: เพิ่มไฮเปอร์ลิงก์หรือคอลัมน์รูปภาพลงในรายการโดยใช้ PowerShell
- SharePoint Online: เพิ่มคอลัมน์การค้นหาลงในรายการโดยใช้ PowerShell
- SharePoint Online: วิธีเพิ่มฟิลด์ตำแหน่งทางภูมิศาสตร์ (Bing Maps) ลงในรายการโดยใช้ PowerShell
- SharePoint Online: เพิ่มคอลัมน์ตัวเลขลงในรายการโดยใช้ PowerShell
- SharePoint Online: เพิ่มฟิลด์ตัวเลือกลงในรายการโดยใช้ PowerShell
- SharePoint Online: เพิ่มคอลัมน์สกุลเงินลงในรายการโดยใช้ PowerShell
- SharePoint Online: เพิ่มคอลัมน์ Metadata ที่มีการจัดการลงในรายการโดยใช้ PowerShell
- SharePoint Online: เพิ่มคอลัมน์กล่องกาเครื่องหมาย "ใช่/ไม่ใช่" ลงในรายการโดยใช้ PowerShell
- SharePoint Online: เพิ่มคอลัมน์บุคคลหรือกลุ่ม (ตัวเลือกบุคคล) ลงในรายการโดยใช้ PowerShell
- SharePoint Online: สร้างคอลัมน์วันที่และเวลาในรายการโดยใช้ PowerShell
- SharePoint Online: เพิ่มคอลัมน์ Metadata ที่มีการจัดการลงในรายการโดยใช้ PowerShell
