SharePoint Online: PowerShell kullanarak Liste Görünümüne Alan Ekleme-Kaldırma


Gereksinim: Liste Görünümünü Güncellemek için SharePoint Online PowerShell.

SharePoint Çevrimiçi Liste Görünümünde Sütunlar Nasıl Eklenir veya Kaldırılır?

SharePoint Online liste görünümü, bilgileri ihtiyaçlarınıza en uygun şekilde düzenlemenizi sağlar. Alanları eklemek veya kaldırmak için SharePoint Online görünümünü özelleştirebilirsiniz. Örneğin, onlarca sütundan oluşan bir listeniz olabilir ve günlük işlerinizde bu sütunların yalnızca bir alt kümesini görüntülemeniz gerekebilir. Bu blog gönderisinde PowerShell kullanarak görünümden alanların nasıl ekleneceği veya kaldırılacağı öğrenilecektir. Büyük bir listedeki belirli verilere hızlı bir şekilde odaklanmanız gerekiyorsa bu kullanışlı olabilir.

SharePoint Online liste görünümünde sütun eklemek veya kaldırmak için şu adımları izleyin:

  1. SharePoint Çevrimiçi Listenize gidin >> Görünüm açılır menüsünden "Geçerli Görünümü Düzenle"ye tıklayın.

  2. Görünümü Değiştir sayfasında, gereksiniminize göre sütunların yanındaki onay kutularını seçin/seçimini kaldırın

  3. Değişikliklerinizi uygulamak için Kaydet'e tıklayın. Ayrıca herhangi bir sütun açılır menüsünden Sütun ayarları >> Sütunları göster/gizle seçeneğini seçerek bir görünümdeki sütunları gösterebilir veya gizleyebilirsiniz.

  4. Görünür hale getirmek veya liste görünümünden gizlemek için herhangi bir alanı seçmeniz/seçimini kaldırmanız yeterlidir.

Şimdi PowerShell kullanarak SharePoint Online görünümüne sütun ekleyelim.

SharePoint Online: Görüntülenecek Alan Eklemek için PowerShell

SharePoint Online'da mevcut bir Liste görünümüne alan eklemek için PowerShell'i burada bulabilirsiniz:


#Load SharePoint Online 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 for Processing
$SiteUrl = "https://crescent.sharepoint.com/sites/Sales/"
$ListName="Documents"
$FieldToAdd="ID"
$UserName="Salaudeen@crescent.com"
$Password ="Password goes here"

Try {
    
    $Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($UserName,(ConvertTo-SecureString $Password -AsPlainText -Force))

    #Get Web information and subsites
    $Context = New-Object Microsoft.SharePoint.Client.ClientContext($SiteUrl)
    $Context.Credentials = $credentials
    
    #get the list
    $List = $Context.web.lists.GetByTitle($Listname)
    
    #Check if View has the field already
    $ViewFields = $List.DefaultView.ViewFields
    # Get a specific list view by Name
    #$view=$List.Views.getByTitle($ViewName)
    $Context.load($ViewFields)  
    $Context.ExecuteQuery()  

    if( ($ViewFields -Contains $FieldToAdd) -eq $false) {
        #Add the Field to View
        $List.DefaultView.ViewFields.Add($FieldToAdd)
        $List.DefaultView.Update()
        $Context.ExecuteQuery()

        Write-host "List View updated!" -ForegroundColor Green 
    }
    else { 
    write-host "Field exists in the view already!" -foregroundcolor Red 
    }

}
catch {
    write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
}

Yukarıdaki komut dosyası, verilen kitaplığın varsayılan görünümüne "ID" alanını ekler

PnP PowerShell kullanarak Liste Görünümüne Sütun Ekleme:

PnP PowerShell kullanarak SharePoint Online liste görünümünüze nasıl alan ekleyeceğinizi size göstereyim.


#Config Variables
$SiteURL = "https://Crescent.sharepoint.com"
$ListName= "Projects"
$ViewName= "Active Projects"
$ColumnName = "Category" #Internal Name

#Get Credentials to connect
$Cred = Get-Credential

Try {
    #Connect to PnP Online
    Connect-PnPOnline -Url $SiteURL -Credentials $Cred

    #Get the Context
    $Context = Get-PnPContext

    #Get the List View from the list
    $ListView  =  Get-PnPView -List $ListName -Identity $ViewName -ErrorAction Stop

    #Check if view doesn't have the column already
    If($ListView.ViewFields -notcontains $ColumnName)
    {
        #Add Column to View
        $ListView.ViewFields.Add($ColumnName)
        $ListView.Update()
        $Context.ExecuteQuery()
        Write-host -f Green "Column '$ColumnName' Added to View '$ViewName'!"
    }
    else
    {
        Write-host -f Yellow "Column '$ColumnName' Already Exists in View '$ViewName'!"
    }
}
catch {
    write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
}

SharePoint Online'da PowerShell'i kullanarak Alanı Liste Görünümünden Kaldırma:

Benzer şekilde, bir alanı görünümden kaldırmak için PowerShell betiği şöyle olur:


#Load SharePoint Online 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 for Processing
$SiteUrl = "https://crescent.sharepoint.com/sites/Sales/"
$ListName="Documents"
$FieldToAdd="ID"
$UserName="Salaudeen@crescent.com"
$Password ="Password goes here"

Try {    
    $Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($UserName,(ConvertTo-SecureString $Password -AsPlainText -Force))

    #Setup the context
    $Context = New-Object Microsoft.SharePoint.Client.ClientContext($SiteUrl)
    $Context.Credentials = $credentials
    
    #get the list
    $List = $Context.web.lists.GetByTitle($Listname)
    
    #Check if the View has the field in it
    $ViewFields = $List.DefaultView.ViewFields
    $Context.load($ViewFields)  
    $Context.ExecuteQuery()  

    if( ($ViewFields -Contains $FieldToAdd) -eq $true) {
        #Add the Field to View
        $List.DefaultView.ViewFields.Remove($FieldToAdd)
        $List.DefaultView.Update()
        $Context.ExecuteQuery()

        Write-host "Field Has been removed from the List View!" -ForegroundColor Green 
    }
    else { 
    write-host "Field doesn't exist in the view!" -foregroundcolor Red 
    }

}
catch {
    write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
}

PnP PowerShell kullanarak SharePoint Çevrimiçi Görünümünden Sütunu Kaldırma:

Bir sütunu görünümden kaldırmak için PnP PowerShell'i kullanalım.


#Config Variables
$SiteURL = "https://Crescent.sharepoint.com"
$ListName= "Projects"
$ViewName= "Active Projects"
$ColumnName = "Category" #Internal Name

#Get Credentials to connect
$Cred = Get-Credential

Try {
    #Connect to PnP Online
    Connect-PnPOnline -Url $SiteURL -Credentials $Cred

    #Get the Context
    $Context = Get-PnPContext

    #Get the List View from the list
    $ListView  =  Get-PnPView -List $ListName -Identity $ViewName -ErrorAction Stop

    #Check if view doesn't have the column already
    If($ListView.ViewFields -contains $ColumnName)
    {
        #Add Column to View
        $ListView.ViewFields.Remove($ColumnName)
        $ListView.Update()
        $Context.ExecuteQuery()
        Write-host -f Green "Column '$ColumnName' Removed from View '$ViewName'!"
    }
    else
    {
        Write-host -f Yellow "Column '$ColumnName' doesn't exist in View '$ViewName'!"
    }
}
catch {
    write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
}

ListView'ı Güncellemek için Görünüm Filtresi gibi SharePoint Online PowerShell'e ihtiyacınız varsa şuraya bakın: SharePoint Online: Görünümü Güncellemek için PowerShell

İlgili makaleler