SharePoint Online: Webhelyoszlop hozzáadása a listához a PowerShell segítségével
Követelmény: Adjon hozzá egy meglévő webhelyoszlopot a SharePoint-listához vagy -tárhoz a PowerShell segítségével.
Hogyan lehet webhelyoszlopot hozzáadni a SharePoint Online listához?
A SharePoint webhelyoszlopai nagyszerű újrafelhasználhatóságot biztosítanak anélkül, hogy ugyanazokat az oszlopokat többször kellene újra létrehozni! Miután létrehoztuk a legfelső szintű webhelyen, felhasználhatjuk őket a metaadatok tárolására a hierarchia alatti tetszőleges számú listában és könyvtárban. Ha webhelyoszlopot szeretne hozzáadni a SharePoint-listához, kövesse az alábbi lépéseket:
- Lépjen a Listabeállításokhoz >> Az Oszlopok alatt kattintson a „Hozzáadás a meglévő webhelyoszlopokból” hivatkozásra.
A rendelkezésre álló webhelyoszlopok közül válassza ki a kívánt webhelyoszlopo(ka)t, és kattintson a Hozzáadás gombra.
- Kattintson az OK gombra a módosítások mentéséhez.
Adjunk hozzá egy webhelyoszlopot a SharePoint Online listához a PowerShell segítségével.
Webhelyoszlop hozzáadása a listához vagy a könyvtárhoz a PowerShell segítségével:
Ez a PowerShell CSOM-szkript hozzáad egy meglévő „Osztály” webhelyoszlopot a „Projektek” listához.
#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 webhelyoszlop hozzáadásához a SharePoint-listához:
Adjunk hozzá néhány hibakezelést a fenti kódhoz a forgatókönyvek kezeléséhez, például:
- Mi van, ha az adott webhely oszlop nem létezik?
- Mi a teendő, ha az adott webhelyoszlop már felkerült a listára?
- Mi van, ha a megadott lista nem létezik? Vagy mi van, ha a megadott hitelesítő adatok érvénytelenek? Stb.
#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
}
Íme egy másik példa:
#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 webhelyoszlop hozzáadása a listához
A következőképpen adhat hozzá webhelyoszlopot a SharePoint Online listához a PnP PowerShell használatával:
#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 oszlop hozzáadásához a listához
Ha SharePoint Online PowerShell-t keres egy oszlop hozzáadásához a listához, például „Egyetlen szövegsor” vagy „Választás” stb. használd:
- SharePoint Online: Egysoros szövegmező hozzáadása a listához a PowerShell segítségével
- SharePoint Online: Többsoros szövegoszlop hozzáadása a listához a PowerShell segítségével
- SharePoint Online: Számított oszlop hozzáadása a listához a PowerShell segítségével
- SharePoint Online: Hiperhivatkozás vagy képoszlop hozzáadása a listához a PowerShell segítségével
- SharePoint Online: Keresési oszlop hozzáadása a listához a PowerShell segítségével
- SharePoint Online: Hogyan adhatunk Geolocation (Bing Maps) mezőt a listához a PowerShell segítségével?
- SharePoint Online: Számoszlop hozzáadása a listához a PowerShell segítségével
- SharePoint Online: Adjon hozzá választási mezőt a listához a PowerShell segítségével
- SharePoint Online: Adjon valutaoszlopot a listához a PowerShell segítségével
- SharePoint Online: Kezelt metaadatoszlop hozzáadása a listához a PowerShell segítségével
- SharePoint Online: Adja hozzá az „Igen/Nem” jelölőnégyzet oszlopát a listához a PowerShell segítségével
- SharePoint Online: Személy vagy csoport (Személyválasztó) oszlop hozzáadása a listához a PowerShell segítségével
- SharePoint Online: Dátum és idő oszlop létrehozása a listában a PowerShell segítségével
- SharePoint Online: Kezelt metaadatoszlop hozzáadása a listához a PowerShell segítségével
