สร้างคอลัมน์ไซต์ใน SharePoint โดยใช้ PowerShell
คอลัมน์ของไซต์เป็นเขตข้อมูลที่ใช้ซ้ำได้ซึ่งคุณสามารถเพิ่มลงในไซต์ SharePoint ของคุณได้ และคอลัมน์ของไซต์สามารถนำไปใช้ในรายการหรือไลบรารีจำนวนเท่าใดก็ได้! วิธีการเพิ่มคอลัมน์ของไซต์ของ PowerShell มีประโยชน์อย่างยิ่งเมื่อคุณต้องเพิ่มคอลัมน์ของไซต์จำนวนมาก สมมติว่า คุณอาจมีคอลัมน์ของไซต์บางคอลัมน์ที่สร้างขึ้นในสภาพแวดล้อม DEV ของคุณและต้องการให้มีคอลัมน์เหล่านี้ในสภาพแวดล้อม STAGING หรือ PROD คุณจะสร้างทีละรายการด้วย SharePoint UI หรือไม่ เลขที่! นั่นคงจะวุ่นวายมาก ฉันกำลังแชร์สคริปต์ PowerShell เพื่อสร้างคอลัมน์ไซต์ใน SharePoint ในโพสต์นี้
เพิ่มคอลัมน์ของไซต์ลงใน SharePoint ด้วย PowerShell
นี่คือตัวอย่างง่ายๆ ของการสร้างคอลัมน์ไซต์ใน SharePoint 2016 ด้วย PowerShell:
#Get the Root Web
$RootWeb = Get-SPWeb "https://intranet.crescent.com"
#Create a text Field site column
$RootWeb.Fields.Add("ProjectCode","Text",$false)
$SalaryField = $RootWeb.Fields.Add("Crescent-Salary", "Currency", $false)
สร้างคอลัมน์ไซต์โดยใช้ PowerShell - ให้เราสร้างเป็นกลุ่ม!
ตอนนี้ มาเพิ่มคอลัมน์ของไซต์เป็นกลุ่มกัน เพียงป้อนชื่อคอลัมน์ของคุณลงในอาร์เรย์: $SiteColumnsToAdd และเรียกใช้โค้ด
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Variables
$RootWebURL ="https://intranet.crescent.com"
#Get the Root Web
$RootWeb = Get-SPWeb $RootWebURL
# List of Site Column Names to be Added
$SiteColumnsToAdd = @("Branch Name", "Branch Code", "Destination")
ForEach($SiteColumn in $SiteColumnsToAdd)
{
if (!$RootWeb.Fields.ContainsField($SiteColumn))
{
#Remove Space in the Field's Internal Name
$InternalName= $SiteColumn.Replace(" ","")
#Add new site column
$RootWeb.Fields.Add($InternalName, "Text", $false)
#Get the site column
$Addedcolumn = $RootWeb.Fields.GetField($InternalName)
#Set the Column Title and Group
$Addedcolumn.Group="Crescent Columns"
$Addedcolumn.Title=$SiteColumn
$Addedcolumn.update()
Write-host "Site column $($SiteColumn) has been Added Successfully!"
}
}
$RootWeb.Dispose()
SharePoint 2013 PowerShell เพื่อสร้างคอลัมน์ไซต์ - ฟิลด์ตัวเลือก:
นี่คืออีกตัวอย่างหนึ่งของ PowerShell เพื่อสร้างคอลัมน์ไซต์ใน SharePoint:
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Variables
$RootWebURL ="https://intranet.crescent.com"
#Get the Root Web
$RootWeb = Get-SPWeb $RootWebURL
#Create a Choice Field site column
$RootWeb.Fields.Add("Departments","Choice",$false)
#Get the field by internal Name
$ChoiceField=$RootWeb.Fields.GetField("Departments")
#Set the Site column Group
$ChoiceField.Group="Crescent Columns"
#Add Choices
$ChoiceField.Choices.Add("Operations")
$ChoiceField.Choices.Add("Marketing")
$ChoiceField.Choices.Add("Sales")
$ChoiceField.Choices.Add("Finance")
#Set Title
$ChoiceField.Title="Department Selection"
#Default choice
$ChoiceField.DefaultValue="Sales"
#Allow fill in choices
$ChoiceField.FillInChoice=$true
#Apply changes to the column
$ChoiceField.Update()
Write-host "Site column $($SiteColumn) has been Added Successfully!"
$RootWeb.Dispose()
SharePoint 2016 สร้างคอลัมน์ของไซต์โดยใช้ PowerShell โดยใช้วิธี Field Schema XML
เมธอด AddFieldAsXml ช่วยให้เรามีความยืดหยุ่นมากขึ้น:
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Variables
$RootWebURL ="https://intranet.crescent.com"
#Get the Root Web
$RootWeb = Get-SPWeb $RootWebURL
#Define the Site column XML
$FieldXML = '<Field Type="Number" DisplayName="Bpt-InvoiceNo" Required="TRUE" EnforceUniqueValues="FALSE" Indexed="FALSE" Min="1" Max="10000" Group="Bpt Columns" ID="{b81c7da6-1317-46fa-a32b-9f446c30b6e9}" StaticName="Bpt-InvoiceNo" Name="Bpt-InvoiceNo"></Field>'
#Create site columns with powershell from XML
$RootWeb.Fields.AddFieldAsXml($FieldXML)
Write-host "Site column has been Added Successfully!"
โปรดดู Field Element XML เพื่อระบุตัวเลือกฟิลด์ เช่น อ่านอย่างเดียว กลุ่ม ฯลฯ
https://msdn.microsoft.com/en-us/library/office/ms437580.aspx
SharePoint เพิ่มคอลัมน์ของไซต์ด้วย PowerShell จากไฟล์ CSV
วิธีการเพิ่มคอลัมน์ของไซต์จำนวนมากจากไฟล์ CSV
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Variables
$RootWebURL ="https://intranet.crescent.com"
$CSVPath = "D:\SiteColumns.csv"
#Get the Root Web
$RootWeb = Get-SPWeb $RootWebURL
#Import from CSV File
$SiteColumnsCSV = Import-csv -Path $CSVPath #CSV has "Title" column Header
foreach($Column in $SiteColumnsCSV)
{
#Get the field title from CSV
$FieldTitle = $Column.Title
#Check if a site column exists already
if (!$RootWeb.Fields.ContainsField($FieldTitle))
{
#Frame FieldXMLString from the column Title
$FieldXMLString = [String]::Format('<Field Type="Text" Name="{0}" DisplayName="{1}" StaticName="{0}" Required="FALSE"></Field>',$fieldTitle.Replace(" ",""),$FieldTitle)
#create site column sharepoint 2010 powershell from XML string
$RootWeb.Fields.AddFieldAsXml($FieldXMLString)
Write-host "Site column '$($FieldTitle)' has been Added Successfully!"
}
}
$RootWeb.Dispose()
โพสต์ที่เกี่ยวข้อง:
- คัดลอก-วางคอลัมน์ไซต์โดยใช้ PowerShell: ส่งออกคอลัมน์ไซต์นำเข้าด้วย PowerShell
- สร้างโซลูชันตามคุณลักษณะเพื่อเพิ่มคอลัมน์ของไซต์ใน SharePoint: สร้างโซลูชันตามคุณลักษณะเพื่อปรับใช้คอลัมน์ไซต์ SharePoint
