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

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

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

The request was aborted: Could not create SSL/TLS secure channel

.NET – Strong Cryptography – Starke Verschlüsselung

In diesem Artikel zeige ich, wie man „Strong Cryptography“ bzw. starke Verschlüsselung (speziell TLS1.2) für .NET Framework bzw. für PowerShell aktiviert (s. Abschnitt „Fix“) und welche Fehlermeldungen bei uns ohne Aktivierung auftraten (z.B. „Error message: The request was aborted: Could not create SSL/TLS secure channel„)

Problem

Error message: The request was aborted: Could not create SSL/TLS secure channel

Error – AD FS Management
An error occurred during an attempt to read the federation metadata. Verify that the specified URL or host name is valid federation metadata endpoint.

Verify your proxy server setting. For more information about how to verify your proxy server setting, see the AD FS Troubleshooting Guide (http://go.microsoft.com/fwlink/?LinkId=182180).
Error message: The request was aborted: Could not create SSL/TLS secure channel.

Fehlermeldung: Die Anfrage wurde abgebrochen: Es konnte kein geschützter SSL/TLS-Kanal erstellt werden

Fehler – AD FS-Verwaltung
Beim Lesen der Verbundmetadaten ist ein Fehler aufgetreten. Stellen Sie sicher, dass es sich bei der angegebenen URL bzw. dem Hostnamen um einen gültigen Verbundmetadaten-Endpunkt handelt.

Überprüfen Sie Ihre Proxyservereinstellung. Weitere Informationen zur Überprüfung Ihrer Proxyservereinstellung finden Sie im AD FS-Problembehebungshandbuch (http://go.microsoft.com/fwlink/?LinkId=182180).
Fehlermeldung: Die Anfrage wurde abgebrochen: Es konnte kein geschützter SSL/TLS-Kanal erstellt werden..

This claims provider trust is out of date

This claims provider trust is out of date due to trust monitoring errors.
Please check the event log for details.

Invoke-WebRequest : The request was aborted: Could not create SSL/TLS secure channel

PowerShell Fehlermeldung:

Invoke-WebRequest : The request was aborted: Could not create SSL/TLS secure channel.

The request was aborted: Could not create SSL/TLS secure channel weiterlesen

SpShellAdmin – Benutzer für die PowerShell-Verwaltung der SharePoint-Farm berechtigen

Damit ein Benutzer die PowerShell-CMDlets zur Verwaltung der SharePoint-Farm verwenden kann, muss dieser zuerst dafür mit dem CMDlet Add-SPShellAdmin berechtigt werden.

Hier zeige ich kurz wie das gemacht wird, was dabei im Hintergrund passiert und was die Voraussetzungen für die Durchführung sind.

SpShellAdmin – Benutzer für die PowerShell-Verwaltung der SharePoint-Farm berechtigen weiterlesen

Websitesammlung in eine neue Inhaltsdatenbank verschieben – Kurzanleitung

Vorhandene Websitesammlung in eine neue Inhaltsdatenbank verschieben

Es gibt einige Gründe, um eine zusätzliche Inhaltsdatenbank für SharePoint zu erstellen. Zum einen kann z.B. die maximal empfohlene Größe der Content-DB erreicht sein, zum anderen kann der Wunsch nach etwas mehr Performance-Gewinn die Aufteilung der Inhaltsdatenbanken rechtfertigen.

Man sollte aber nach Möglichkeit nicht einfach die Option „Inhaltsdatenbank hinzufügen“ (Add a content database) in der Zentraladministration benutzen, da die Einstellungen noch optimiert werden sollten.

Websitesammlung in eine neue Inhaltsdatenbank verschieben - Nicht benutzen - Inhaltsdatenbank hinzufügen - No - Add a content database - SharePoint 2013

In diesem Artikel zeige ich, wie man eine neue Inhaltsdatenbank für den SharePoint anlegt, konfiguriert und die vorhandene Websitesammlung (Sitecollection) in diese neue Datenbank verschiebt.

Websitesammlung in eine neue Inhaltsdatenbank verschieben – Kurzanleitung weiterlesen

SharePoint Unterseiten Liste – PowerShell Skript

SharePoint Unterseiten Liste (inklusive „SiteAdministrators“, „Created“ Date, „LastItemModifiedDate“, „Author“, „URL“, „ID“) per PowerShell Skript generieren

Das PowerShell-Skript in diesem Artikel erstellt eine SharePoint Unterseiten Liste. Diese Liste der Unterseiten (SubSites) enthält natürlich auch die dazugehörigen Websitesammlungen (Sitecollections) und die wichtigsten Informationen wie „ServerRelativeUrl“, „Title“, „SiteAdministrators“, „Created“ Date, „LastItemModifiedDate“, „Author“, „URL“, „ID“ und „ParentWebId“.

Beispielausgabe:

 

Diese SharePoint Unterseiten Liste wird in der PowerShell-Konsole ausgegeben. Außerdem wird die Tabelle in eine Text-Datei (TXT) und eine CSV-Datei geschrieben und bei Bedarf per Mail verschickt. Die Erstellung bzw. den Versand kann man per Windows-Task z.B. einmal pro Woche automatisieren.

Das Skript könnte, zusammen mit den anderen Skripten aus unserer Artikelreihe „Inventarisierung„, dem SharePoint-Admin dabei helfen, seine SharePoint-Umgebung zu erfassen und den Überblick über Sitecollections, Datenbanken und andere Sharepointfarmkomponenten zu behalten und Reporting-Anfragen schnell beantworten zu können.

SharePoint Unterseiten Liste – PowerShell Skript weiterlesen

SharePoint Dienste Tabelle inklusive Status – PowerShell Skript

SharePoint Dienste Tabelle inklusive Dienst-Status per PowerShell Skript generieren

Das PowerShell-Skript in diesem Artikel erstellt eine SharePoint Dienste Tabelle. In dieser Tabelle werden alle SharePoint-Dienste, die in der Farm vorhanden sind, mit dem Status auf den SharePoint-Servern der SharePoint-Farm ausgegeben.

Beispielausgabe:

Service Server01 Server02 Server03 Server04
Server Suche Online Online Disabled Disabled
Verteilter Cache Online Online
Zentraladministration Online Online Disabled Disabled
. . . . . . . . . . . . . . .

Diese Tabelle der SharePoint Dienste inklusive Dienst-Status wird in der PowerShell-Konsole ausgegeben. Zusätzlich wird die Tabelle in eine Text-Datei (TXT) und eine CSV-Datei geschrieben und per Mail verschickt. Die Erstellung bzw. den Versand kann man per Windows-Task z.B. einmal pro Woche automatisieren.

Das Skript könnte, zusammen mit den anderen Skripten aus unserer Artikelreihe „Inventarisierung„, dem SharePoint-Admin dabei helfen, seine SharePoint-Umgebung zu erfassen und den Überblick über Sitecollections, Datenbanken und andere Sharepointfarmkomponenten zu behalten.

SharePoint Dienste Tabelle inklusive Status – PowerShell Skript weiterlesen

SharePoint DB Liste nach Größe sortiert – PowerShell Skript

SharePoint DB Liste (nach Größe) sortiert per PowerShell Skript generieren

Das folgende PowerShell-Skript generiert eine SharePoint DB Liste, die nach Größe sortiert ist. Am Ende wird auch die Summe dieser Datenbanken berechnet.

Diese Liste wird in der PowerShell-Konsole ausgegeben. Zusätzlich wird die Liste in eine Text-Datei (TXT) und eine CSV-Datei geschrieben und per Mail verschickt. Die Erstellung bzw. den Versand der SharePoint DBs Liste kann man per Windows-Task z.B. einmal pro Woche automatisieren.

Das Skript könnte, zusammen mit den anderen Skripten aus unserer Artikelreihe „Inventarisierung„, dem SharePoint-Admin dabei helfen, seine SharePoint-Umgebung zu erfassen und Überblick über Sitecollections, Datenbanken und andere Sharepointfarmkomponenten zu behalten.

SharePoint DB Liste nach Größe sortiert – PowerShell Skript weiterlesen

SharePoint AAM – Alternate Access Mapping – Liste – PowerShell Skript

SharePoint AAM (Alternate Access Mapping) Liste per PowerShell generieren

Das folgende PowerShell-Skript generiert eine Liste von SharePoint AAM (Alternate Access Mapping).

Diese Liste wird in der PowerShell-Konsole ausgegeben. Zusätzlich wird die Liste in eine Text-Datei (TXT) und eine CSV-Datei geschrieben und per Mail verschickt. Die Erstellung bzw. den Versand der SharePoint AAM Liste kann man per Windows-Task z.B. einmal pro Woche automatisieren.

Das Skript könnte, zusammen mit den anderen Skripten aus unserer Artikelreihe „Inventarisierung„, dem SharePoint-Admin dabei helfen, seine SharePoint-Umgebung zu erfassen und Überblick über Sitecollections, Datenbanken und andere Sharepointfarmkomponenten zu behalten.

SharePoint AAM – Alternate Access Mapping – Liste – PowerShell Skript weiterlesen