Alle Inhaltsdatenbanken upgraden

6. Mai 2024
PowerShell
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

try {
    # Alle Webanwendungen in der Farm durchlaufen
    $webApps = Get-SPWebApplication
    foreach ($webApp in $webApps) {
        Write-Host "Verarbeite Webanwendung: $($webApp.DisplayName)" -ForegroundColor Cyan
        # Alle Inhaltsdatenbanken in der Webanwendung durchlaufen
        $contentDBs = $webApp.ContentDatabases
        foreach ($contentDB in $contentDBs) {
            Write-Host "Verarbeite Inhaltsdatenbank: $($contentDB.Name)" -ForegroundColor Cyan
            # Überprüfen und ggf. Upgrade der Datenbank durchführen
            $dbVersion = $contentDB.BuildVersion
			$requiresUpgrade = $contentDB.NeedsUpgrade
			if ($requiresUpgrade) {
				Write-Host "Die Datenbank $($contentDB.Name) erfordert ein Upgrade von Version $dbVersion" -ForegroundColor Yellow
				Write-Host "Starte Upgrade..." -ForegroundColor Yellow
				try {            
					Upgrade-SPContentDatabase -WebApplication $webApp -Name $contentDB.Name -Confirm:$false -Verbose            
					Write-Host "Upgrade für $($contentDB.Name) erfolgreich abgeschlossen." -ForegroundColor Green
				}
				catch {
					Write-Host "Fehler beim Upgrade von $($contentDB.Name): $_" -ForegroundColor Red
				}
			}
			else {
				Write-Host "Die Datenbank $($contentDB.Name) ist auf dem neuesten Stand." -ForegroundColor Green
			}
        }
    }
}
catch {
    Write-Host "Fehler beim Ausführen des Skripts: $_" -ForegroundColor Red
}
finally {
    Remove-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
}