SharePoint Online: PowerShell kullanarak Listeye Site Sütunu Ekleme
Gereksinim: PowerShell'i kullanarak SharePoint listesine veya kitaplığına mevcut bir site sütununu ekleyin.
SharePoint Çevrimiçi Listesine Site Sütunu Nasıl Eklenir?
SharePoint'teki site sütunları, aynı sütunları birden çok kez yeniden oluşturmaya gerek kalmadan mükemmel yeniden kullanılabilirlik sağlar! Üst düzey sitede oluşturulduktan sonra bunları hiyerarşi altındaki herhangi bir sayıda liste ve kitaplıkta meta verileri depolamak için kullanabiliriz. SharePoint listesine site sütunu eklemek için şu adımları izleyin:
- Liste Ayarları >> Sütunlar bölümüne gidin, “Mevcut site sütunlarından ekle” bağlantısını tıklayın.
Mevcut site sütunlarından gerekli site sütununu/sütunlarını seçin ve Ekle düğmesine tıklayın.
- Değişikliklerinizi kaydetmek için Tamam'ı tıklayın.
PowerShell kullanarak SharePoint Online listesine bir site sütunu ekleyelim.
PowerShell ile Listeye veya Kitaplığa Site Sütunu Ekleme:
Bu PowerShell CSOM betiği, "Projeler" listesine mevcut bir site sütunu olan "Departman"ı ekler.
#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
SharePoint Listesine Site Sütunu Eklemek için PowerShell:
Aşağıdaki gibi senaryoları işlemek için yukarıdaki koda bazı hata işleme ekleyelim:
- Verilen site sütunu mevcut değilse ne olur?
- Verilen site sütunu zaten listeye eklenmişse ne olur?
- Ya verilen liste mevcut değilse? Peki ya verilen kimlik bilgileri geçersizse? Vesaire.
#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
}
İşte başka bir örnek:
#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
Listeye Site Sütunu Eklemek İçin PnP PowerShell
PnP PowerShell kullanarak SharePoint Online listesine site sütununun nasıl ekleneceği aşağıda açıklanmıştır:
#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
}
Listeye Sütun Eklemek için SharePoint Online PowerShell
Listeye “Tek Satır Metin” veya “Seçim” vb. gibi bir sütun eklemek için SharePoint Online PowerShell'i arıyorsanız. kullanmak :
- SharePoint Online: PowerShell kullanarak Listeye Tek Satır Metin Alanı Ekleme
- SharePoint Online: PowerShell kullanarak Listeye Birden Çok Satır Metin Sütunu Ekleme
- SharePoint Online: PowerShell kullanarak Hesaplanan Sütunu Listeye Ekleme
- SharePoint Online: PowerShell kullanarak Listeye Köprü veya Resim Sütunu Ekleme
- SharePoint Online: PowerShell kullanarak Listeye Arama Sütunu Ekleme
- SharePoint Online: PowerShell kullanarak Listeye Coğrafi Konum (Bing Haritaları) Alanı Nasıl Eklenir?
- SharePoint Online: PowerShell kullanarak Listeye Sayı Sütunu Ekleme
- SharePoint Online: PowerShell kullanarak Seçim Alanını Listeye Ekleme
- SharePoint Online: PowerShell kullanarak Listeye Para Birimi Sütunu Ekleme
- SharePoint Online: PowerShell kullanarak Yönetilen Meta Veri Sütunu'nu Listeye Ekleme
- SharePoint Online: PowerShell kullanarak Listeye "Evet/Hayır" Onay Kutusu Sütunu Ekleme
- SharePoint Online: PowerShell kullanarak Listeye Kişi veya Grup (Kişi Seçici) Sütunu Ekleme
- SharePoint Online: PowerShell kullanarak Listede Tarih ve Saat Sütunu Oluşturma
- SharePoint Online: PowerShell kullanarak Yönetilen Meta Veri Sütunu'nu Listeye Ekleme
