Dokumentenversionen auflisten und löschen per PowerShell

Alle Dokumentenversionen einer Dokumentenbibliothek inklusive Dateigrößen per PowerShell anzeigen und löschen

Manchmal fällt es auf, dass die SharePoint-Seiten bzw. Dokumentenbibliotheken viel Speicherplatz belegen, obwohl die Summe der eigentlichen Dateien viel geringer ist.

Der Speicherplatzverbrauch ist evtl. durch verbrauchte Speicher-Quota oder durch das Betrachten der Speichermetriken (Websiteeinstellungen > Websitesammlungsverwaltung > Speichermetriken) aufgefallen.

Storage Metrics - Speichermetriken - _layouts-storman.aspx - SharePoint 2013

Die echten Dateigrößen kann man sich anzeigen lassen, indem man die Dokumentenbibliotheks- oder Dateieigenschaften im Windows-Explorer per WebDav-Protokoll öffnet.
(Dokumentenbibliothek im IE > Reiter „Bibliothek“ > „Mit Explorer öffnen“). SharePoint Bibliothek - Reiter BIBLIOTHEK - Menü lang - Mit Explorer öffnen Button - SharePoint 2013

Falls die in Speichermetriken angezeigten Datengrößen von den Tatsächlichen Dateigrößen abweichen, dann könnte es sein, dass die Speicherbelegung durch die Dokumentenversionen zustande kommt. Denn auch wenn nur geringe Änderungen in einem (großen) Dokument durchgeführt werden, wird (bei eingeschalteter Versionierung) jedes mal eine komplette Kopie dieser großen Datei erstellt.

Mehrere Probleme bei aktivierter Versionierung

Deaktivieren der Versionierung löscht die Versionen nicht

Nach dem Deaktivieren der Versionierung bzw. Begrenzung der Anzahl der Versionen werden bereits vorhandene Dokumentenversionen nicht gelöscht bzw. nicht bereinigt, somit wird der bereits belegte Speicher nicht freigegeben.

OneNote Versionen können nicht angezeigt/gelöscht werden

In unserem SharePoint 2013 System wird für OneNote-Notizbücher das Kontextmenü zum Anzeigen und Löschen der Versionen nicht angezeigt.

Die im SharePoint vorhandenen Versionen des OneNote-Dokumentes wurden nicht gelöscht, nachdem die Versionen im OneNote-Dokument selbst gelöscht und inklusive Papierkorb im Dokument deaktiviert wurden.

Skript für das Auflisten aller Dokumenten-Versionen und deren Datengröße innerhalb einer Dokumentenbibliothek

Dieses Skript wird alle Dokumente und deren Versionen einer Dokumentenbibliothek inklusive Speicherplatzbelegung und Dateigrössensummen als Tabelle und Liste ausgeben.

Das Skript am besten in einer PowerShell-ISE blockweise ausführen.

Das Skript zeigt alle Elemente der Dokumentenbibliothek (Listenelemente) und Anzahl der Versionen pro Listeneintrag.

Hinweis: OneNote-Notizbücher werden wie Ordner und OneNote-Abschnitte bzw. Reiter als einzelne Dateien mit eigenen Versionen behandelt.

Dokumentenbibliothek - Listenelemente - Versionen Anzahl - PowerShell

 

Dann werden die eigentlichen Dokumente (inklusive unter anderem Dateigröße, Anzahl der Versionen, Speicherplatzsumme der Versionen pro Dokument usw.) ausgegeben.

Am Ende der Tabelle wird die Dateigröße aller Dokumente der Dokumentenbibliothek (Dateigrössensumme) und der Speicherplatzverbrauch aller Versionen in der Dokumentenbibliothek ausgegeben.

 Dokumentenbibliothek - Tabelle - Dokumentenversionen - Dateigroesse, Anzahl Versionen, Dateisumme der Versionen - PowerShell

 

Am Ende des Skriptes werden die Dateien mit dazugehörigen Versionen als eine Liste ausgegeben und die Gesamtsumme der Dokumentenbibliothek (alle Dateien plus alle Versionen) ausgegeben.

Dokumentenbibliothek - Liste - Dokumentenversionen - Dateigroesse, Versionen - PowerShell

Dokumentenbibliothek - Liste - Dokumentenversionen - Dateigroesse, Versionen, Summe Dateien und Versionen - PowerShell

Erstellung der Versionen per PowerShell deaktivieren

Die Versionierung kann man entweder direkt im SharePoint deaktivieren: Dokumentenbibliothek > Reiter „Bibliothek“ > Bibliothekeinstellungen > „Versionsverwaltungseinstellungen

oder mit Hilfe des nachfolgenden Skriptes.

 

Versionsverwaltungseinstellungen - EnableVersioning - Disable Versioning - PowerShell Skript

Dokumentenbibliothek - Reiter Bibliothek - Bibliothekeinstellungen - Versionsverwaltungseinstellungen - Keine Versionskontrolle - SharePoint 2013

Alle Versionen in einer Dokumentenbibliothek löschen per PowerShell-Skript

Dieses Skript löscht alle Versionen aller Dokumente in einer Dokumentenbibliothek. Dabei ist es für das Skript irrelevant, ob die Versionierung in den „Versionsverwaltungseinstellungen“ aktiviert oder deaktiviert ist.

Wie immer gilt: Vorher immer ein Backup anfertigen!

Das Skript auch am besten in einer PowerShell-ISE blockweise ausführen.

 

Alle versionen in einer Dokumentenbibliothek löschen - PowerShell

Nun sind alle Versionen entfernt und nur noch die Dokumente selbst sind vorhanden.

 Dokumentenbibliothek - Listenelemente - Versionen Anzahl 1 - PowerShell

Dokumentenbibliothek - Tabelle - Dokumentenversionen - Dateigroesse, Anzahl Versionen, Dateisumme der Versionen 0 - PowerShell

Dokumentenbibliothek - Liste - Dokumentenversionen - Dateigroesse, Versionen - Nur Summe der Dateien geblieben - PowerShell

Links und Quellen

Nintex – System.CodeDom.CodeTypeReferenceExpression

Nintex – System.CodeDom.CodeTypeReferenceExpression – Workflows werden abgebrochen

Nintex Workflows werden vom System abgebrochen. In den ULS-Logs findet man folgende und ähnliche Fehlermeldungen.

Type System.CodeDom.CodeBinaryOperatorExpression is not marked as authorized in the application configuration file.

ULS-Log (English-System)

SharePoint Foundation Workflow Infrastructure 72fs Unexpected RunWorkflow: Microsoft.SharePoint.SPException: <Error><CompilerError Line=“-1″ Column=“-1″ Text=“Type System.CodeDom.CodeBinaryOperatorExpression is not marked as authorized in the application configuration file.“ />

Der Typ &quot;System.CodeDom.CodeBinaryOperatorExpression&quot; ist in der Konfigurationsdatei der Anwendung nicht als autorisiert gekennzeichnet.

ULS-Log (Deutsches System)

SharePoint Foundation Workflow Infrastructure 72fs Unexpected RunWorkflow: Microsoft.SharePoint.SPException: <Error><CompilerError Line=“-1″ Column=“-1″ Text=“Der Typ &quot;System.CodeDom.CodeBinaryOperatorExpression&quot; ist in der Konfigurationsdatei der Anwendung nicht als autorisiert gekennzeichnet.“ />

Type System.CodeDom.CodeTypeReferenceExpression is not marked as authorized in the application configuration file.

ULS-Log (English-System)

SharePoint Foundation Legacy Workflow Infrastructure 98d8 Unexpected Microsoft.SharePoint.SPException: <Error><CompilerError Line=“-1″ Column=“-1″ Text=“Type System.CodeDom.CodeTypeReferenceExpression is not marked as authorized in the application configuration file.“ />

Der Typ &quot;System.CodeDom.CodeTypeReferenceExpression&quot; ist in der Konfigurationsdatei der Anwendung nicht als autorisiert gekennzeichnet.

ULS-Log (Deutsches System)

OWSTIMER.EXE (0x2654)        0x2278        SharePoint Foundation        Legacy Workflow Infrastructure        98d8        Unexpected        Microsoft.SharePoint.SPException: <Error><CompilerError Line=“-1″ Column=“-1″ Text=“Der Typ &quot;System.CodeDom.CodeTypeReferenceExpression&quot; ist in der Konfigurationsdatei der Anwendung nicht als autorisiert gekennzeichnet.“ />

Nintex – System.CodeDom.CodeTypeReferenceExpression weiterlesen

SharePoint-Kalender: „Item does not exist. It may have been deleted by another user.“ Fix

Problem

Item does not exist. It may have been deleted by another user.

Ein Kalendereintrag (Serientermin) im SharePoint-Kalender lässt sich nicht aufrufen. Es wird eine Fehlermeldung „Item does not exist. It may have been deleted by another user.“ angezeigt.
SharePoint-Kalender: „Item does not exist. It may have been deleted by another user.“ Fix weiterlesen

MissingSetupFile – Missing Server Side Dependencies – Fix

MissingSetupFile

MissingSetupFile – File is referenced [1] times in the database, but is not installed on the current farm

MissingSetupFile – File [Features\Brandysoft.SharePoint.ADSelfService\ADSelfService.dwp] is referenced [1] times in the database [WSS_Content], but is not installed on the current farm. Please install any feature/solution which contains this file.

MissingSetupFile – Auf die Datei wird in der Datenbank [1] Mal verwiesen, sie ist jedoch für die aktuelle Farm nicht installiert

MissingSetupFile – Auf die Datei ‚[Features\Brandysoft.SharePoint.ADSelfService\ADSelfService.dwp]‘ wird in der Datenbank [‚WSS_Content‘] [1] Mal verwiesen, sie ist jedoch für die aktuelle Farm nicht installiert. Installieren Sie ein Feature oder eine Lösung, das bzw. die diese Datei enthält. Auf mindestens eine nicht in der aktuellen Farm installierte Setupdatei wird in der Datenbank [‚WSS_Content‘] verwiesen. Installieren Sie die Features oder Lösungen, die diese Dateien enthalten.

Serverseitige Abhängigkeiten fehlen

Title
Serverseitige Abhängigkeiten fehlen.

[MissingSetupFile] Auf die Datei ‚[Features\Brandysoft.SharePoint.ADSelfService\ADSelfService.dwp]‘ wird in der Datenbank [‚WSS_Content‘] [1] Mal verwiesen, sie ist jedoch für die aktuelle Farm nicht installiert. Installieren Sie ein Feature oder eine Lösung, das bzw. die diese Datei enthält. Auf mindestens eine nicht in der aktuellen Farm installierte Setupdatei wird in der Datenbank [‚WSS_Content‘] verwiesen. Installieren Sie die Features oder Lösungen, die diese Dateien enthalten. MissingSetupFile – Missing Server Side Dependencies – Fix weiterlesen

Windows Update – Code 80243004 – Fix

Problem

Windows Update Fehler: Code 80243004

Windows Update

Einige Updates wurden nicht installiert.

Fehler:
Code 80243004 Unbekannter Fehler bei Windows Update.

Windows Update Error: Code 80243004

Windows Update

Some updates were not installed

Error(s) found:
Code 80243004 Windows Update encountered an unknown error.

Windows Update – Code 80243004 – Fix weiterlesen

Restore-SPSite : No content databases in the web application were available to store your site collection

Problem

Restore-SPSite : Der Vorgang, den Sie auszuführen möchten, kann nicht erfolgreich abgeschlossen werden. Es waren keine Inhaltsdatenbanken in der Webanwendung verfügbar, um Ihre Websitesammlung zu speichern.

Restore-SPSite : Der Vorgang, den Sie auszuführen möchten, kann nicht erfolgreich abgeschlossen werden. Es waren keine Inhaltsdatenbanken in der Webanwendung verfügbar, um Ihre Websitesammlung zu speichern. Die vorhandenen Inhaltsdatenbanken haben möglicherweise die maximale Anzahl von Websitesammlungen erreicht, wurden als schreibgeschützt festgelegt, sind offline oder enthalten bereits eine Kopie dieser Websitesammlung. Erstellen Sie eine andere Inhaltsdatenbank für die Webanwendung, und versuchen Sie den Vorgang dann erneut.

Restore-SPSite : The operation that you are attempting to perform cannot be completed successfully. No content databases in the web application were available to store your site collection.

Restore-SPSite : The operation that you are attempting to perform cannot be completed successfully. No content databases in the web application were available to store your site collection. The existing content databases may have reached the maximum number of site collections, or be set to read-only, or be offline, or may already contain a copy of this site collection. Create another content database for the Web application and then try the operation again.

Restore-SPSite : No content databases in the web application were available to store your site collection weiterlesen

Windows Update Error Code 0x80070006 – Fix

Problem

Windows Update Fehlercode 0x80070006

Beim Installieren von Updates sind Probleme aufgetreten. Wir versuchen es allerdings später noch einmal. Falls dieser Fehler weiterhin auftritt und Sie Informationen im Web suchen oder sich an den Support wenden möchten, kann dieser Fehlercode hilfreich sein: (0x80070006)

Windows Update Error Code 0x80070006

There were some problems installing updates, but we’ll try again later. If you keep seeing this and want to search the web or contact support for information, this may help: (0x80070006)

Windows Update Error Code 0x80070006 – Fix weiterlesen

SiteOrphan – Database contains a site that is not found in the site map

SiteOrphan – Database contains a site that is not found in the site map

Die Datenbank enthält eine Website, die in der Websiteübersicht nicht gefunden wurde

Folgende Fehlermeldung wird nach dem Update durch den SharePoint-Assistenten (bzw. durch das Kommandozeilentool PsConfig) angezeigt:

. . .
Fehler beim Ausführen des Upgrades für SharePoint-Produkte.

Eine Ausnahme vom Typ ‚Microsoft.SharePoint.Upgrade.SPUpgradeException‘ wurde ausgelöst. Weitere Ausnahmeinformationen:
Die Datenbank [‚<SP_Database>‚] enthält eine Website (ID = [‚<ID>‚], URL = [‚/managedpath/site‚]), die in der Websiteübersicht nicht gefunden wurde. Trennen Sie die Datenbank, und fügen Sie sie dann erneut an. (EventID:ajxkz)

Das Upgrade wurde mit Fehlern abgeschlossen. Überprüfen Sie die Upgradeprotokolldatei unter ‚C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\LOGS\Upgrade-<Date>-<Time>-169.log‘. Die Anzahl der Fehler und Warnungen ist am Ende der Updateprotokolldatei aufgeführt.

Folgen Sie diesem Link, um weitere Informationen zur Behandlung von Upgradefehlern zu erhalten:
http://go.microsoft.com/fwlink/?LinkId=259653

Database contains a site that is not found in the site map

Database [<SP_Database>] contains a site (Id = [<ID>], Url = [/managedpath/site]) that is not found in the site map. Consider detach and reattach the database which contains the orphaned sites.
Restart upgrade if neccesary.

SiteOrphan – Database contains a site that is not found in the site map weiterlesen

System.Data.SqlClient.SqlException (0x80131904): The INSERT permission was denied on the object ‚Locks‘, database ‚‚, schema ‚dbo‘

Problem

System.Data.SqlClient.SqlException (0x80131904): The INSERT permission was denied on the object ‚Locks‘, database ‚<SharePoint Config DB>‘, schema ‚dbo‘

Exception: System.Data.SqlClient.SqlException (0x80131904): The INSERT permission was denied on the object ‚Locks‘, database ‚<SharePoint Config DB>‘, schema ‚dbo‘.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)

Eine Ausnahme vom Typ ‚System.Data.SqlClient.SqlException‘ wurde ausgelöst. Weitere Ausnahmeinformationen: Die INSERT-Berechtigung wurde für das Locks-Objekt, SP_Configuration-Datenbank, dbo-Schema, verweigert.

Fehler beim Initialisieren der Konfiguration der SharePoint-Produkte.

Eine Ausnahme vom Typ ‚System.Data.SqlClient.SqlException‘ wurde ausgelöst. Weitere Ausnahmeinformationen: Die INSERT-Berechtigung wurde für das Locks-Objekt, <SharePoint Config DB>, dbo-Schema, verweigert.

Gesamtanzahl der ausgeführten Konfigurationseinstellungen: 1
Gesamtanzahl der erfolgreichen Konfigurationseinstellungen: 0
Gesamtanzahl der erfolglosen Konfigurationseinstellungen: 6
Die Konfiguration der SharePoint-Produkte wurde erfolgreich beendet.
Fehler bei der Konfiguration der SharePoint-Produkte. Die Konfiguration muss vor Verwendung der SharePoint-Produkte ausgeführt werden. Weitere Informationen finden Sie im Diagnoseprotokoll unter ‚C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\LOGS\PSCDiagnostics_1_10_2015_10_6_57_509_1008856628.log‘ und im Anwendungsereignisprotokoll.

System.Data.SqlClient.SqlException (0x80131904): Die INSERT-Berechtigung wurde für das Locks-Objekt, SP_Configuration-Datenbank, dbo-Schema, verweigert.

In der Log-Datei C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\LOGS\PSCDiagnostics_....log ist folgendes zu finden:

ERR Fehler beim Initialisieren der Konfiguration der SharePoint-Produkte.
Eine Ausnahme vom Typ 'System.Data.SqlClient.SqlException' wurde ausgelöst. Weitere Ausnahmeinformationen: Die INSERT-Berechtigung wurde für das Locks-Objekt, <SharePoint Config DB>, dbo-Schema, verweigert.
System.Data.SqlClient.SqlException (0x80131904): Die INSERT-Berechtigung wurde für das Locks-Objekt, <SharePoint Config DB>, dbo-Schema, verweigert.
bei System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
bei System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
bei System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
. . .

Event-ID: 5214

Unzureichende SQL-Datenbankberechtigungen für den Benutzer ‚Name: <Domain>\<User> SID: S-1-5-21-… ImpersonationLevel: None‘ in der Datenbank ‚<SharePoint Config DB>‚ für die SQL Server-Instanz ‚<SQL-Server>‚. Weitere Fehlerinformationen aus SQL Server finden Sie unten.

Die INSERT-Berechtigung wurde für das Locks-Objekt, <SharePoint Config DB>, dbo-Schema, verweigert.

System.Data.SqlClient.SqlException (0x80131904): The INSERT permission was denied on the object ‚Locks‘, database ‚‚, schema ‚dbo‘ weiterlesen

DocAve – There is no agent installed in the server x or the Agent service in the server x is down – Error

DocAve – There is no agent installed in the server <ServerName> or the Agent service in the server <ServerName> is down – Error

Die DocAve-Sicherung vom Backup Type „Full Backup“ endet immer mit dem Status „Finished with Exception„.

In den Details des Backup-Jobs gibt es Zeile(n) mit dem Status „Failed“ und dem Comment:

There is no agent installed in the server <ServerName> or the Agent service in the server <ServerName> is down

 

DocAve – There is no agent installed in the server x or the Agent service in the server x is down – Error weiterlesen