PowerShell kullanarak SharePoint Listesi Öğesi Sürüm Geçmişini Karşılaştırın


Gereksinim: SharePoint Listesi öğelerinin sürüm geçmişi verilerini karşılaştırın ve belirli bir alanın değer değişikliğine göre bir meta veri sütununu güncelleyin.

Biraz arka plan bilgisi: “Durum” sütununu içeren bir proje takip listemiz var. Belirli bir öğenin durumunun "Reddedildi" olarak ayarlandığı durum hakkında bilgi sahibi olmak istedik.

Sürüm Geçmişi Verilerini Karşılaştırmak ve bir sütun değerini güncellemek için PowerShell:

Yukarıdaki gereksinime çözüm olarak, belirli bir öğenin "durum" sütununun "reddedildi" olarak değiştirildiği zamanı yakalamak için liste öğesi sürümlerini karşılaştıralım ve listenin "Reddedilme Tarihi" sütununu güncellemek için belirli sürümün oluşturulma tarihini alalım. öğe. PowerShell kullanarak SharePoint'teki sürüm geçmişini karşılaştıralım:


Add-PSSnapin Microsoft.SharePoint.Powershell -ErrorAction SilentlyContinue

#Parameters
$SiteURL="https://intranet.crescent.com"
$ListName = "Projects"

#Get web and List 
$Web = Get-SPWeb $SiteURL
$List = $web.Lists.TryGetList($ListName)

#Get all list items
$ListItems = $List.Items

#Iterate through each list item
Foreach($Item in $ListItems)
{
    #Iterate through each version
    ForEach($Version in $Item.Versions) 
    {
        #Check if the status column is "Rejected"
        If($($version['Status']) -eq "Rejected")
        {
            #Update Rejected Date value of the item from version
            $Item["RejectedDate"] = $($version.Created)
            $Item.SystemUpdate()
            Write-host "ID:$($item.id), Version:$($version.VersionLabel), CreatedBy:-$($version.CreatedBy.User.DisplayName), Status:-$($version['Status'])"
            Break
        }
    }
}

Bu komut dosyası, her liste öğesi sürümünü karşılaştırır ve "RejectedDate" sütun değerini günceller. Liste öğesi sürüm geçmişini dışa aktarmak istiyorsanız şunu kullanın: PowerShell kullanarak SharePoint Liste Öğesi Sürüm Geçmişi Nasıl Dışa Aktarılır?

İlgili makaleler