ค้นหาเว็บไซต์

วิธีสร้างรายการใน SharePoint Online โดยใช้ PowerShell หรือ PnP PowerShell


ใน SharePoint Online เราสร้างรายการและไลบรารีเพื่อจัดเก็บข้อมูลและเอกสาร การสร้างรายการในไซต์ SharePoint โดยใช้เบราว์เซอร์เป็นเรื่องง่าย แต่จะแตกต่างออกไปเล็กน้อยเมื่อคุณสร้างรายการ SharePoint โดยใช้ PowerShell

ในบทช่วยสอนนี้ ฉันจะอธิบายวิธีสร้างรายการใน SharePoint Online โดยใช้ PowerShell และ PnP PowerShell

สร้างรายการใน SharePoint Online โดยใช้ PowerShell

ในตัวอย่างแรก ฉันจะแสดงวิธีสร้างรายการใน SharePoint Online โดยใช้เชลล์การจัดการของ SharePoint

ด้านล่างนี้คือสคริปต์ PowerShell ที่สมบูรณ์สำหรับการสร้างรายการแบบกำหนดเองชื่อ “งานโครงการ” บนไซต์ SharePoint

$siteUrl = "https://szg52.sharepoint.com/sites/PowerPlatformFAQs"
# Define Variables
$listTitle = "Project Tasks"
$listDescription = "A list to track project tasks."

$UserName = "bijay@szg52.onmicrosoft.com"
$Password = "Enter Your Password"
$SecurePassword= $Password | ConvertTo-SecureString -AsPlainText -Force
   
#Setup the Context
$Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($siteUrl)
$Cred = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($UserName, $SecurePassword)
$Ctx.Credentials = $Cred

$web = $ctx.Web

# Create the list
$listCreationInfo = New-Object Microsoft.SharePoint.Client.ListCreationInformation
$listCreationInfo.Title = $listTitle
$listCreationInfo.TemplateType = [Microsoft.SharePoint.Client.ListTemplateType]::GenericList
$list = $web.Lists.Add($listCreationInfo)
$list.Description = $listDescription
$list.Update()
$ctx.ExecuteQuery()

ฉันรันสคริปต์ข้างต้นสำเร็จแล้ว คุณสามารถดูด้านล่าง:

เมื่อสคริปต์ดำเนินการเสร็จเรียบร้อยแล้ว เมื่อคุณเปิดไซต์ SharePoint Online คุณจะเห็นว่ารายการถูกสร้างขึ้นเรียบร้อยแล้ว

เช็คเอาท์ สร้าง อ่าน อัปเดต และลบรายการจากรายการ SharePoint Online โดยใช้ PnP PowerShell

เพิ่มคอลัมน์ในรายการ SharePoint โดยใช้ PowerShell

เมื่อใช้ PowerShell ให้ฉันแสดงวิธีเพิ่มคอลัมน์ลงในรายการ SharePoint

คอลัมน์ข้อความบรรทัดเดียว

ด้านล่างนี้คือโค้ดของคอลัมน์ข้อความบรรทัดเดียวในรายการ SharePoint

# Add a single line of text column
$fieldXml = "<Field DisplayName='Task Name' InternalName='TaskName' Type='Text' />"
$list.Fields.AddFieldAsXml($fieldXml, $true, [Microsoft.SharePoint.Client.AddFieldOptions]::AddFieldInternalNameHint)
$ctx.ExecuteQuery()

หากคุณต้องการตั้งค่าเพิ่มเติม คุณสามารถเปลี่ยนสคริปต์ได้ดังนี้:

# Add a single line of text column with additional settings
$fieldXml = "<Field DisplayName='Task Description' InternalName='TaskDescription' Type='Text' Required='TRUE' />"
$list.Fields.AddFieldAsXml($fieldXml, $true, [Microsoft.SharePoint.Client.AddFieldOptions]::AddFieldInternalNameHint)
$ctx.ExecuteQuery()

คอลัมน์ตัวเลือก

ด้านล่างนี้คือโค้ดสำหรับสร้างคอลัมน์ตัวเลือกในรายการ SharePoint Online

# Add a choice column
$fieldXml = "<Field DisplayName='Priority' InternalName='Priority' Type='Choice' Format='Dropdown'>
                <CHOICES>
                    <CHOICE>High</CHOICE>
                    <CHOICE>Medium</CHOICE>
                    <CHOICE>Low</CHOICE>
                </CHOICES>
                <Default>Medium</Default>
             </Field>"
$list.Fields.AddFieldAsXml($fieldXml, $true, [Microsoft.SharePoint.Client.AddFieldOptions]::AddFieldInternalNameHint)
$ctx.ExecuteQuery()

สำหรับการตั้งค่าเพิ่มเติมในคอลัมน์ตัวเลือก คุณสามารถเขียนสคริปต์ได้ดังนี้:

# Add a choice column with additional settings
$fieldXml = "<Field DisplayName='Status' InternalName='Status' Type='Choice' Format='Dropdown' Required='TRUE'>
                <CHOICES>
                    <CHOICE>Not Started</CHOICE>
                    <CHOICE>In Progress</CHOICE>
                    <CHOICE>Completed</CHOICE>
                </CHOICES>
                <Default>Not Started</Default>
             </Field>"
$list.Fields.AddFieldAsXml($fieldXml, $true, [Microsoft.SharePoint.Client.AddFieldOptions]::AddFieldInternalNameHint)
$ctx.ExecuteQuery()

เช็คเอาท์ เพิ่มคอลัมน์ตัวเลือกลงในรายการ SharePoint Online โดยใช้ PnP PowerShell

ใช่/ไม่ใช่คอลัมน์

นี่คือสคริปต์ในการเพิ่มคอลัมน์ใช่/ไม่ใช่ลงในรายการ SharePoint Online

# Add a yes/no column
$fieldXml = "<Field DisplayName='Completed' InternalName='Completed' Type='Boolean' />"
$list.Fields.AddFieldAsXml($fieldXml, $true, [Microsoft.SharePoint.Client.AddFieldOptions]::AddFieldInternalNameHint)
$ctx.ExecuteQuery()

คอลัมน์บุคคลหรือกลุ่ม

นี่คือสคริปต์ PowerShell เพื่อสร้างคอลัมน์บุคคลหรือกลุ่มในรายการ SharePoint Online

# Add a person or group column
$fieldXml = "<Field DisplayName='Assigned To' InternalName='AssignedTo' Type='User' UserSelectionMode='PeopleAndGroups' />"
$list.Fields.AddFieldAsXml($fieldXml, $true, [Microsoft.SharePoint.Client.AddFieldOptions]::AddFieldInternalNameHint)
$ctx.ExecuteQuery()

ด้านล่างนี้คือสคริปต์ PowerShell ที่สมบูรณ์ซึ่งจะสร้างรายการ SharePoint Online และเพิ่มคอลัมน์เพิ่มเติม

$siteUrl = "https://szg52.sharepoint.com/sites/PowerPlatformFAQs"
# Define Variables
$listTitle = "Project Tasks"
$listDescription = "A list to track project tasks."

$UserName = "bijay@szg52.onmicrosoft.com"
$Password = "Enter Your Password"
$SecurePassword= $Password | ConvertTo-SecureString -AsPlainText -Force

# Create a new list
$ctx = New-Object Microsoft.SharePoint.Client.ClientContext($siteUrl)
$web = $ctx.Web

$listCreationInfo = New-Object Microsoft.SharePoint.Client.ListCreationInformation
$listCreationInfo.Title = $listTitle
$listCreationInfo.TemplateType = [Microsoft.SharePoint.Client.ListTemplateType]::GenericList
$list = $web.Lists.Add($listCreationInfo)
$list.Description = $listDescription
$list.Update()
$ctx.ExecuteQuery()

# Add a single line of text column
$fieldXml = "<Field DisplayName='Task Name' InternalName='TaskName' Type='Text' />"
$list.Fields.AddFieldAsXml($fieldXml, $true, [Microsoft.SharePoint.Client.AddFieldOptions]::AddFieldInternalNameHint)
$ctx.ExecuteQuery()

# Add a choice column
$fieldXml = "<Field DisplayName='Priority' InternalName='Priority' Type='Choice' Format='Dropdown'>
                <CHOICES>
                    <CHOICE>High</CHOICE>
                    <CHOICE>Medium</CHOICE>
                    <CHOICE>Low</CHOICE>
                </CHOICES>
                <Default>Medium</Default>
             </Field>"
$list.Fields.AddFieldAsXml($fieldXml, $true, [Microsoft.SharePoint.Client.AddFieldOptions]::AddFieldInternalNameHint)
$ctx.ExecuteQuery()

# Add a yes/no column
$fieldXml = "<Field DisplayName='Completed' InternalName='Completed' Type='Boolean' />"
$list.Fields.AddFieldAsXml($fieldXml, $true, [Microsoft.SharePoint.Client.AddFieldOptions]::AddFieldInternalNameHint)
$ctx.ExecuteQuery()

# Add a person or group column
$fieldXml = "<Field DisplayName='Assigned To' InternalName='AssignedTo' Type='User' UserSelectionMode='PeopleAndGroups' />"
$list.Fields.AddFieldAsXml($fieldXml, $true, [Microsoft.SharePoint.Client.AddFieldOptions]::AddFieldInternalNameHint)
$ctx.ExecuteQuery()

# Add a single line of text column with additional settings
$fieldXml = "<Field DisplayName='Task Description' InternalName='TaskDescription' Type='Text' Required='TRUE' />"
$list.Fields.AddFieldAsXml($fieldXml, $true, [Microsoft.SharePoint.Client.AddFieldOptions]::AddFieldInternalNameHint)
$ctx.ExecuteQuery()

# Add a choice column with additional settings
$fieldXml = "<Field DisplayName='Status' InternalName='Status' Type='Choice' Format='Dropdown' Required='TRUE'>
                <CHOICES>
                    <CHOICE>Not Started</CHOICE>
                    <CHOICE>In Progress</CHOICE>
                    <CHOICE>Completed</CHOICE>
                </CHOICES>
                <Default>Not Started</Default>
             </Field>"
$list.Fields.AddFieldAsXml($fieldXml, $true, [Microsoft.SharePoint.Client.AddFieldOptions]::AddFieldInternalNameHint)
$ctx.ExecuteQuery()

# Disconnect from SharePoint Online
Disconnect-SPOService

นี่คือวิธีการสร้างรายการใน SharePoint Online และเพิ่มคอลัมน์เพิ่มเติมลงไป

อ่านการลบและกู้คืนไซต์ SharePoint Online โดยใช้ PowerShell และ PnP PowerShell

สร้างรายการ SharePoint Online โดยใช้ PnP PowerShell

ตอนนี้ ให้ฉันแสดงวิธีสร้างรายการ SharePoint Online โดยใช้ PnP PowerShell

ใน PnP PowerShell คุณสามารถใช้ New-PnPList cmdlet เพื่อสร้างรายการบนไซต์ SharePoint Online

นี่คือสคริปต์ PowerShell ที่สมบูรณ์:

# Create a new list
$siteUrl = "https://szg52.sharepoint.com/sites/MarketingTeam"
Connect-PnPOnline -Url $siteUrl -Credentials (Get-Credential)

New-PnPList -Title "Marketing Tasks" -Template GenericList

เมื่อคุณรันสคริปต์ PowerShell ข้างต้น คุณจะเห็นผลลัพธ์ในภาพหน้าจอด้านล่าง:

ในตอนนี้ ถ้าคุณเปิดไซต์ SharePoint ของคุณ คุณจะเห็นรายการที่สร้างขึ้นสำเร็จโดยใช้ PnP PowerShell

นี่คือวิธีการสร้างรายการแบบกำหนดเองในไซต์ SharePoint Online โดยใช้ PnP PowerShell

หากคุณต้องการเพิ่มคอลัมน์ในรายการ SharePoint คุณสามารถใช้สคริปต์ด้านล่างนี้ ฉันได้อธิบายวิธีการเพิ่มคอลัมน์ข้อความบรรทัดเดียว คอลัมน์ตัวเลือก คอลัมน์ใช่/ไม่ใช่ คอลัมน์บุคคลหรือกลุ่ม ฯลฯ

# Add a single line of text column
Add-PnPField -List "Project Tasks" -DisplayName "Task Name" -InternalName "TaskName" -Type Text

# Add a choice column
Add-PnPField -List "Project Tasks" -DisplayName "Priority" -InternalName "Priority" -Type Choice -AddToDefaultView `
-Choices "High", "Medium", "Low" -DefaultValue "Medium"

# Add a yes/no column
Add-PnPField -List "Project Tasks" -DisplayName "Completed" -InternalName "Completed" -Type Boolean -AddToDefaultView

# Add a person or group column
Add-PnPField -List "Project Tasks" -DisplayName "Assigned To" -InternalName "AssignedTo" -Type User -AddToDefaultView

หากคุณต้องการการตั้งค่าเพิ่มเติม คุณสามารถเขียนดังนี้ ที่นี่ฉันได้เพิ่มคุณสมบัติบางอย่าง เช่น -Required, -DefaultValue เป็นต้น

# Add a single line of text column with additional settings
Add-PnPField -List "Project Tasks" -DisplayName "Task Description" -InternalName "TaskDescription" -Type Text `
-Required $true -AddToDefaultView

# Add a choice column with additional settings
Add-PnPField -List "Project Tasks" -DisplayName "Status" -InternalName "Status" -Type Choice -AddToDefaultView `
-Choices "Not Started", "In Progress", "Completed" -DefaultValue "Not Started" -Required $true

นี่คือสคริปต์ PowerShell ที่สมบูรณ์:

# Define Variables
$siteUrl = "https://szg52.sharepoint.com/sites/MarketingTeam"
$listTitle = "Project Tasks"

# Connect to SharePoint Online
Connect-PnPOnline -Url $siteUrl -Credentials (Get-Credential)

# Create a new list
New-PnPList -Title $listTitle -Template GenericList

# Add a single line of text column
Add-PnPField -List $listTitle -DisplayName "Task Name" -InternalName "TaskName" -Type Text -AddToDefaultView

# Add a choice column
Add-PnPField -List $listTitle -DisplayName "Priority" -InternalName "Priority" -Type Choice -AddToDefaultView `
-Choices "High", "Medium", "Low" -DefaultValue "Medium"

# Add a yes/no column
Add-PnPField -List $listTitle -DisplayName "Completed" -InternalName "Completed" -Type Boolean -AddToDefaultView

# Add a person or group column
Add-PnPField -List $listTitle -DisplayName "Assigned To" -InternalName "AssignedTo" -Type User -AddToDefaultView

# Add a single line of text column with additional settings
Add-PnPField -List $listTitle -DisplayName "Task Description" -InternalName "TaskDescription" -Type Text `
-Required $true -AddToDefaultView

# Add a choice column with additional settings
Add-PnPField -List $listTitle -DisplayName "Status" -InternalName "Status" -Type Choice -AddToDefaultView `
-Choices "Not Started", "In Progress", "Completed" -DefaultValue "Not Started" -Required $true

# Disconnect from SharePoint Online
Disconnect-PnPOnline

บทสรุป

เมื่อคุณต้องการสร้างรายการในสภาพแวดล้อมการใช้งานจริงของ SharePoint คุณใช้ PowerShell หรือ PnP PowerShell เป็นส่วนใหญ่ ในบทช่วยสอนนี้ ฉันได้อธิบายวิธีสร้างรายการใน SharePoint Online โดยใช้ PowerShell และ PnP PowerShell ฉันได้อธิบายวิธีเพิ่มคอลัมน์ในรายการ SharePoint Online โดยใช้ PnP PowerShell และ PowerShell แล้ว

บทความที่เกี่ยวข้อง