SharePoint Online: PowerShell'i kullanarak Yeni Menüdeki İçerik Türü Sırasını Değiştirme


Gereksinim: PowerShell'i kullanarak SharePoint Çevrimiçi Listesindeki içerik türü sırasını değiştirin.

SharePoint Çevrimiçi Listesinde veya Kitaplığında İçerik Türü Sırası Nasıl Değiştirilir?

Birden çok içerik türüne sahip bir SharePoint Online listesinde, bunların "Yeni" menüsünde görünme sırasını değiştirmek, hatta bunları yeni düğmeden gizlemek isteyebilirsiniz. Yeni menü, bir kitaplık veya listede belgeler veya liste öğeleri gibi yeni öğeler oluşturmak için kullanılır ve içerik türlerinin sırası, varsayılan olarak hangi türün seçileceğini belirler. Yeni menüde içerik türlerinin sırasını değiştirerek en sık kullanılan içerik türüne kolaylıkla ulaşılmasını sağlayabilirsiniz.

  1. İçerik türlerinin yönetilmesi gereken SharePoint Online listesine veya kitaplığına gidin.
  2. Liste veya Kitaplık Ayarlarına gidin >> Ayarlar sayfasında, İçerik Türleri bölümünün altındaki “Yeni Düğme Sırasını ve Varsayılan İçerik Türünü Değiştir” bağlantısını tıklayın.
  3. Yeni Düğme Sırasını Değiştir sayfasında, görünürlük onay kutusunu ayarlayarak mevcut içerik türlerini yeniden sıralayabilir ve bunların yeni menüde görünmesini etkinleştirebilir veya devre dışı bırakabilirsiniz. İlk konumda görünen içerik türü, listenin varsayılan içerik türü olur.

  4. Değişiklikleri kaydetmek için Tamam düğmesine tıklayın.

SharePoint Online'da İçerik türü Sırasını Değiştirmek için PowerShell

SharePoint Online listesinde veya kitaplığında içerik türlerinin sırasını değiştirmek için PowerShell betiği aşağıda verilmiştir:


#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"
    
#Set Variables
$SiteURL= "https://crescent.sharepoint.com/sites/Marketing"
$ListName = "Contacts"
$ContentTypesOrder = @("Contact", "Item", "Announcement")

#Setup Credentials to connect
$Cred = Get-Credential
  
Try {
    #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.Load($List.ContentTypes)
    $Ctx.ExecuteQuery()

    #Create a List for content types order
    $ContentTypeOrder = New-Object System.Collections.Generic.List[Microsoft.SharePoint.Client.ContentTypeId]

    #Arrange Content Types Order
    ForEach($ContentType in $ContentTypesOrder)
    {
        #Get the Content Type from List and Add to Content Type Order List
        $CType = $List.ContentTypes | Where {$_.Name -eq $ContentType}
        If($CType -ne $Null)
        {
            $ContentTypeOrder.Add($CType.Id)
        }
    }
    #Set Content type Order
    $List.RootFolder.UniqueContentTypeOrder = $ContentTypeOrder
    $List.RootFolder.Update()
    $Ctx.ExecuteQuery()
    Write-host -f Green "Content Type Order has been updated Successfully!"#>
}
Catch {
    write-host -f Red "Error: " $_.Exception.Message
}

Bu komut dosyasının listeden herhangi bir içerik türünü kaldırmadığını veya yeniden eklemediğini lütfen unutmayın. Yalnızca içerik türü sırasının sırasını değiştirir ve ilk dizindeki içerik türü, varsayılan içerik türü olur.

Bir içerik türünü Yeni menüden gizlemek için adını $ContentTypesOrder değişkenine bırakmanız yeterlidir!

PnP PowerShell, Yeni Menüde İçerik Türü Sırasını Ayarlayacak

İşte betiğin PnP PowerShell sürümü!


#Set Variables
$SiteURL= "https://crescent.SharePoint.com/sites/Retail"
$ListName = "Contacts"
$ContentTypesOrder = @("Contact", "Item", "Announcement")

#Connect to the site
Connect-PnPOnline -Url $SiteURL -Interactive

#Get the List
$List = Get-PnPList -Identity $ListName -Includes ContentTypes,RootFolder.UniqueContentTypeOrder

#Create a List for content types order
$ContentTypeOrder = New-Object System.Collections.Generic.List[Microsoft.SharePoint.Client.ContentTypeId]

#Arrange Content Types Order
ForEach($ContentType in $ContentTypesOrder)
{
    #Get the Content Type from List and Add to Content Type Order List
    $CType = $List.ContentTypes | Where {$_.Name -eq $ContentType}
    If($CType -ne $Null)
    {
        $ContentTypeOrder.Add($CType.Id)
    }
}

#Set Content type Order
$List.RootFolder.UniqueContentTypeOrder = $ContentTypeOrder
$List.RootFolder.Update()
Invoke-PnPQuery
Write-host -f Green "Content Type Order has been updated Successfully!"

Özetle, SharePoint Online'daki bir kitaplığın veya listenin yeni menüsünde içerik türü sırasını ayarlamak, iş süreçlerinin verimliliğini artırmaya yardımcı olabilecek basit bir işlemdir. Ekipler, sıralamada değişiklik yaparak en sık kullanılan içerik türlerine kolayca erişilmesini sağlayabilir ve yeni öğeler oluşturmak için gereken zaman ve çabayı azaltabilir.

İlgili makaleler