Spring til indholdet

Versionering på alle dokumentbiblioteker med PowerShell

Slå versionering til og sæt grænser på alle biblioteker på en række websteder med PnP PowerShell, og hvornår versionsgrænserne i SharePoint Online er det bedre værktøj.

Opdateret PowerShellSharePoint Online 3 min. læsning

Nye dokumentbiblioteker i SharePoint Online får versionering og de grænser, organisationen har sat under Version history limits i SharePoint admin center. Det er de gamle biblioteker, der er problemet: flyttet fra et fildrev eller en ældre SharePoint, oprettet med et script eller sat op i hånden for mange år siden. Dem skal der gås igennem.

Med PnP PowerShell#

Alle synlige dokumentbiblioteker på en liste af websteder. BaseTemplate 101 er et dokumentbibliotek, og skjulte biblioteker springes over.

 1$sites = @(
 2    "https://<tenant>.sharepoint.com/sites/<websted1>",
 3    "https://<tenant>.sharepoint.com/sites/<websted2>"
 4)
 5
 6foreach ($site in $sites) {
 7    Connect-PnPOnline -Url $site -Interactive -ClientId "<app-id>"
 8    $libraries = Get-PnPList | Where-Object { $_.BaseTemplate -eq 101 -and -not $_.Hidden }
 9    foreach ($lib in $libraries) {
10        Set-PnPList -Identity $lib -EnableVersioning $true -MajorVersions 500
11        Write-Host "$site | $($lib.Title) | major-versioner: 500"
12    }
13}

-ClientId er en app-registrering i egen tenant. PnP’s fælles app blev fjernet i september 2024.

Skal der også være minorversioner (kladder):

1Set-PnPList -Identity $lib -EnableVersioning $true -MajorVersions 500 -EnableMinorVersions $true -MinorVersions 10

-MinorVersions er ikke et antal minorversioner. Det er antallet af majorversioner, hvis kladder gemmes. Med 10 har de seneste ti majorversioner deres minorversioner, de ældre kun selve majorversionen. Godkendelse af indhold er en anden indstilling (-EnableModeration) og følger ikke med.

Skal hele tenantens websteder med, kan listen i $sites bygges med Get-PnPTenantSite, hvilket kræver SharePoint-administratorrettigheder.

Grænserne i SharePoint Online#

Er versioneringen allerede slået til, og handler det kun om grænserne, har SharePoint Online sine egne kommandoer i SharePoint Online Management Shell. De virker på tre niveauer, og det nederste vinder:

NiveauKommandoGælder
OrganisationSet-SPOTenantNye biblioteker på websteder uden egne grænser
WebstedSet-SPOSiteNye biblioteker, eksisterende eller begge
BibliotekSet-SPOListVersionPolicyÉt bibliotek

Grænsen kan være automatisk, hvor Microsoft afgør, hvilke versioner der gemmes, eller manuel, med et antal majorversioner og eventuelt en udløbstid:

1# Alle eksisterende biblioteker på et websted: 500 majorversioner, ingen udløb
2Set-SPOSite -Identity https://<tenant>.sharepoint.com/sites/<websted> `
3    -EnableAutoExpirationVersionTrim $false -MajorVersionLimit 500 -ExpireVersionsAfterDays 0 `
4    -ApplyToExistingDocumentLibraries
5
6# Følg jobbet
7Get-SPOSiteVersionPolicyJobProgress -Identity https://<tenant>.sharepoint.com/sites/<websted>

-ApplyToExistingDocumentLibraries starter et job, der opdaterer bibliotekerne efterhånden. Uden -ApplyToNewDocumentLibraries eller -ApplyToExistingDocumentLibraries gælder det begge dele.

En ny grænse fjerner ikke de versioner, der allerede ligger ud over den. Det gør et oprydningsjob, New-SPOSiteFileVersionBatchDeleteJob for et websted eller New-SPOListFileVersionBatchDeleteJob for et bibliotek.

Det der driller#

  • Versioner slettet af en grænse eller et oprydningsjob er væk. De går uden om papirkurven og kan ikke gendannes.
  • Opbevaringspolitikker vinder. Er et element omfattet af en opbevaringspolitik eller en eDiscovery-tilbageholdelse, bliver versionsgrænsen ignoreret, indtil perioden er slut.
  • Under 100. Brugerfladen tillader ikke færre end 100 majorversioner eller under 30 dages udløb. API’et og PowerShell gør, men Microsoft advarer om, at det kan koste data.
  • Loftet er 50.000 majorversioner og 511 minorversioner pr. fil.
  • Lister (BaseTemplate 100) har også versionering, men grænserne ovenfor gælder dokumentbiblioteker. Scriptet rører dem ikke.

En visning, der kun viser major- eller minorversioner, står i En visning med kun major- eller minorversioner.

Alle noter