SharePoint Online: PowerShell'i kullanarak Tüm Liste ve Kitaplıklarda Sürüm Oluşturmayı Etkinleştirin
Gereksinim: SharePoint Online sitesindeki tüm listelerde Sürüm Oluşturmayı etkinleştirin.
SharePoint'teki Liste veya Kitaplıkta Sürüm Oluşturma Nasıl Etkinleştirilir?
SharePoint'teki Sürüm Geçmişi özelliği, bir belgenin veya liste öğesinin önceden kaydedilmiş bir kopyasına erişmenize olanak tanır. Varsayılan olarak, SharePoint Online'daki belge kitaplığınızda sürüm oluşturma etkindir. Bir kaydetme işlemi gerçekleştiğinde, SharePoint, öğeyi kimin kaydettiği, ne zaman oluşturulduğu gibi meta verilerle birlikte yeni bir sürüm oluşturur. SharePoint Online'da bir liste veya kitaplık için sürüm oluşturmayı etkinleştirmek için şu adımları izleyin:
- Belge kitaplığınıza gidin >> Şeritteki Kitaplık sekmesine tıklayın >> Kitaplık Ayarları'na tıklayın.
- Genel Ayarlar altında Sürüm Oluşturma Ayarları bağlantısını tıklayın.
Sürüm Oluşturma Ayarları sayfasından “Ana sürümler oluştur”u seçin. İsteğe bağlı olarak sürüm sayısına bir sınır belirleyebilirsiniz.
- Bu, SharePoint Online belge kitaplığı sürümünün oluşturulmasına olanak tanır. Sürüm oluşturma özelliği etkinleştirildiğinde, bir belge veya liste öğesi seçip bağlam menüsünden veya Şeritten "Sürüm Geçmişi"ne tıklayarak oluşturulan sürümleri görüntüleyebilirsiniz.
SharePoint Online: Sürüm Oluşturmayı Etkinleştirmek için PowerShell
SharePoint Online'da bir belge kitaplığı için sürüm oluşturmayı etkinleştirmeniz gerekiyor mu? PowerShell yardımcı olabilir! Belirli bir liste veya kitaplıkta sürüm geçmişini etkinleştirmek için PowerShell'i burada bulabilirsiniz:
#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 Enable-SPOVersioning()
{
param
(
[Parameter(Mandatory=$true)] [string] $SiteURL,
[Parameter(Mandatory=$true)] [string] $ListName
)
Try {
#Setup Credentials to connect
$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
#Get the List
$List = $Ctx.Web.Lists.GetByTitle($ListName)
#sharepoint online powershell enable versioning
$List.EnableVersioning = $True
$List.MajorVersionLimit = 50
$List.Update()
$Ctx.ExecuteQuery()
Write-host -f Green "Versioning has been turned ON at $ListName"
}
Catch {
write-host -f Red "Error:" $_.Exception.Message
}
}
#Set Parameters
$SiteURL="https://Crescent.sharepoint.com"
$ListName="Projects"
#Call the function
Enable-SPOVersioning -SiteURL $SiteURL -ListName $ListName
SharePoint Online'daki tüm liste ve kitaplıklarda sürüm oluşturmayı etkinleştirmek için PowerShell betiği:
Eğer siz de benim gibiyseniz, her zaman görevleri otomatikleştirmenin ve zamandan tasarruf etmenin yollarını arıyorsunuz demektir. Bunu aklımda tutarak, PowerShell kullanarak bir SharePoint Online sitesindeki tüm listeler ve kitaplıklar için sürüm oluşturmayı etkinleştirmeye ilişkin kısa bir ipucu paylaşmak istedim. Bir SharePoint Online sitesinin tüm listelerinde ve kitaplıklarında sürüm geçmişini etkinleştirelim:
#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://portal.crescent.com.com/sites/Sales/"
$UserName="Salaudeen@crescent.com"
$Password ="Password goes here"
try{
#Setup the context
$Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($UserName,(ConvertTo-SecureString $Password -AsPlainText -Force))
$Context = New-Object Microsoft.SharePoint.Client.ClientContext($SiteUrl)
$Context.Credentials = $credentials
#get the site and lists
$web = $context.Web
$context.Load($web)
$context.load($web.lists)
$Context.executeQuery()
#Iterate through each list in the web
foreach($list in $web.lists){
if ($list.hidden -eq $false)
{
#Enable versioning
$list.EnableVersioning = $true
$lIST.MajorVersionLimit = 50
$list.Update()
$Context.ExecuteQuery()
Write-host "Versioning has been turned ON at :"$List.title
}
}
}
catch{
write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
}
Bu betik, belirli sitedeki tüm listeler ve kitaplıklar için SharePoint Online'da sürüm oluşturmayı etkinleştirir. Yalnızca belge kitaplıklarında sürüm oluşturmayı filtrelemek ve etkinleştirmek istiyorsanız aşağıdakileri kullanın:
If($List.BaseType -eq "DocumentLibrary")
{
#Enable version history
}
SharePoint Online: PnP PowerShell kullanarak Sürüm Oluşturmayı Etkinleştirin
Liste için sürüm oluşturma özelliğinin etkin olup olmadığını kontrol etmek için şunu kullanın: $List.EnableVersioning
#Config Variables
$SiteURL = "https://Crescent.sharepoint.com"
$ListName ="Projects"
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Credentials (Get-Credential)
#Get List
$List = Get-PnPList $ListName
If($List)
{
#sharepoint online enable versioning powershell
Set-PnPList -Identity $ListName -EnableVersioning $True -MajorVersions 20
}
Benzer şekilde, bir sitedeki tüm listeler için sürüm oluşturma ayarlarını yapılandırabilirsiniz.
#Config Variables
$SiteURL = "https://Crescent.sharepoint.com"
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Credentials (Get-Credential)
#Get All Lists from the web
$Lists = Get-PnPList | Where {$_.Hidden -eq $false}
ForEach($List in $Lists)
{
#Enable versioning and set Number of versions to 50
Set-PnPList -Identity $List -EnableVersioning $True -MajorVersions 50
Write-host -f Yellow "Configured Versioning on List:"$List.Title
}
Benzer şekilde, küçük sürümleri etkinleştirmek için şunu kullanın:
Set-PnPList -Identity $ListName -EnableVersioning $True -EnableMinorVersions $True -MajorVersions 25 -MinorVersions 25
Bir sitedeki Tüm Belge Kitaplıkları için Ana ve İkincil sürümlerle Sürüm Oluşturmayı etkinleştirin
Tüm kitaplıklar için küçük sürümleri etkinleştirmek için PnP PowerShell'i burada bulabilirsiniz:
#Config Variables
$SiteURL = "https://crescent.sharepoint.com/sites/Neo"
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Interactive
#Get all document libraries
$Libraries = Get-PnPList | Where {$_.BaseType -eq "DocumentLibrary" -and $_.Hidden -eq $False}
ForEach($Library in $Libraries)
{
#sharepoint online enable versioning powershell
Set-PnPList -Identity $Library -EnableVersioning $True -EnableMinorVersions $True
}
Site koleksiyonunun tamamı için tüm belge kitaplıklarında sürüm geçmişi yapılandırmasını ayarlamaya ne dersiniz?
#Config Variables
$SiteURL = "https://crescent.sharepoint.com/Sites/Retail"
#Exclude certain libraries
$ExcludedLists = ("Preservation Hold Library","Site Assets","Site Pages","Style Library","Form Templates")
Function Enable-PnPVersionHistory($SiteURL)
{
Write-host "Processing Web $($_.URL)" -f Cyan
Connect-PnPOnline -Url $SiteURL -Interactive
#Get All Document Libraries
$Lists = Get-PnPList | Where-Object {$_.Hidden -eq $False -and $_.BaseType -eq "DocumentLibrary" -and $ExcludedLists -notcontains $_.Title}
#Enable Version History for Document Libraries
$Lists | ForEach-Object {
$Params = @{
"Identity" = $_.Title
"EnableVersioning" = $True
"MajorVersions" = 50
"MinorVersions" = 10
}
#Set-PnPList @Params
Write-host "Enabled Version History for "$_.Title -f Green
}
}
#Connect to SharePoint Online Site from PnP Online
Connect-PnPOnline -Url $SiteURL -Interactive
#Get all Webs and call the function to set version history
Get-PnPSubWeb -IncludeRootWeb | ForEach-Object { Enable-PnPVersionHistory $_.URL }
