Roger Pollini-Haueter

Modern Workplace Strategist | Senior Director

Microsoft Regional DirectorMicrosoft Most Valuable Professional

SharePoint Health Analyzer: Drives are running out of free space

Bei vielen SharePoint 2010 Installationen zeigt der SharePoint Health Analyzer in der Central Administration früher oder später folgende Meldung an: "Drives are running out of free space" oder "Drives are at risk of running out of free space".

Oft stiftet diese Meldung Verwirrung, denn nach einem ersten Blick auf das betroffene Laufwerk werden die meisten feststellen, dass dort noch genügend Platz vorhanden ist. SharePoint bezieht sich bei dieser Meldung jedoch nicht auf den tatsächlich freien Speicherplatz sondern wendet folgende Formel an:
Warnung = Weniger Diskspace als das Fünffache des installiertem RAM vorhanden
Error = Weniger Diskspace als das Doppelte des installierten RAM vorhanden

Ein Beispiel: Auf Ihrem Web Front-End Server haben Sie 16 GB Arbeitsspeicher installiert und auf dem 100 GB grossen Systemlauferk C:\ haben Sie noch 30 GB freien Speicherplatz.
Warnung: < 5 x 16 = 80 GB respektive Error: < 2 x 16 = 32 GB
Sie erhalten also eine Error Meldung, weil weniger als 2 x 16 GB Speicherplatz auf C: verfügbar ist.

Warning im Event Log
Log Name:      Application
Source:        Microsoft-SharePoint Products-SharePoint Foundation
Date:          31.12.2010 12:00:00
Event ID:      2138
Task Category: Health
Level:         Warning
Keywords:
User:          DOMAIN\MyFarmUser
Computer:      mycomputer.mydomain.com
Description:
The SharePoint Health Analyzer detected a condition requiring your attention.  Drives are at risk of running out of free space.
Available drive space is less than five times the value of physical memory. This is dangerous because it does not provide enough room for a full memory dump with continued operation. It also could cause problems with the Virtual Memory swap file: System (SERVERNAME - C:\), Data (SERVERNAME - D:\).
Examine the failing servers and delete old logs or free space on the drives. For more information about this rule, see "http://go.microsoft.com/fwlink/?LinkID=142688".

Error im Event Log
Log Name:      Application
Source:        Microsoft-SharePoint Products-SharePoint Foundation
Date:          31.12.2010 12:00:00
Event ID:      2137
Task Category: Health
Level:         Error
Keywords:
User:          DOMAIN\MyFarmUser
Computer:      mycomputer.mydomain.com
Description:
The SharePoint Health Analyzer detected an error.  Drives are running out of free space.
Available drive space is less than twice the value of physical memory. This is dangerous because it does not provide enough room for a full memory dump with continued operation. It also could cause problems with the Virtual Memory swap file: System (SERVERNAME - C:\).
Examine the failing servers and delete old logs or free space on the drives. For more information about this rule, see "http://go.microsoft.com/fwlink/?LinkID=142688".


Installieren oder Erneuern eines SSL Zertifikates unter IIS 7

Um ein bestehendes SSL Zertifikat im Internet Informations Services 7 (IIS) Manager zu erneuern gehen Sie wie folgt vor:

Erstellen einer Renewal Certificate Request Datei

  • Start > All Programs > Administrative Tools > Internet Information Services Manager
  • Im IIS Manager in der Spalte Connections den Server auswählen
  • In der mittleren Spalte mit der Überschrift "SERVERNAME Home" auf Server Certificates doppelklicken. Das Symbol befindet im Abschnitt IIS.
  • Es werden nun alle bereits installierten Server Zertifikate angezeigt. Klicken Sie auf das Zertifikat, welches erneuert werden soll und prüfen Sie das Ablaufdatum des Zertifikats.
  • Klicken Sie nun in der Spalte Actions (rechts) auf Renew. Wählen Sie in der Dialog Box Create a renewal certificate request und klicken fahren Sie fort.
  • Geben Sie nun einen Dateinamen für die Renewal Certificate Request Datei an. Es spielt keine Rolle wie die Datei heisst oder wohin diese gespeichert wird.
  • Beenden Sie den Certificate Request Wizard.
  • Öffnen Sie die so eben erstellte Renewal Certificate Request Datei mit einem Texteditor (z.B. Notepad). Kopieren Sie den gesamten Inhalt der Datei und fügen Sie diesen während dem Zertifikats-Erneuerungs-Prozess bei Ihrer Zertifizierungsstelle ein.

Installieren der neuen Zertifikatsdatei

  • Wenn Sie das neue Zertifikat von ihrer Zertifizierungsstelle erhalten haben prüfen Sie als erstes, ob das Zertifikat die Endung *.cer besitzt. Ist dies nicht der Fall, benennen Sie dieses um (z.B. ihre-domain.p7b heisst neu ihre-domain.cer).
  • Start > All Programs > Administrative Tools > Internet Information Services Manager
  • Im IIS Manager in der Spalte Connections den Server auswählen
  • In der mittleren Spalte mit der Überschrift "SERVERNAME Home" auf Server Certificates doppelklicken. Das Symbol befindet im Abschnitt IIS.
  • Es werden nun alle bereits installierten Server Zertifikate angezeigt. Klicken Sie auf das Zertifikat, welches erneuert werden soll und prüfen Sie das Ablaufdatum des Zertifikats.
  • Klicken Sie in der Spalte Actions (rechts) auf Complete Certificate Request. Es öffnet sich eine Dialog Box (Complete Certificate Request). Im Feld File name containing the certification authority's response: geben Sie den Pfad zu Ihrem neu erstellen Zertifikat (ihre-domain.cer) an. Im darunterstehenden Feld Friendly name: geben Sie Ihren Domainnamen ein, z.B. www.ihre-domain.com.


Unter Umständen erhalten Sie folgende Fehlermeldung: Cannot find the certificate request associated with this certificate file. A certificate request must be completed on the computer where it was created.
Sie können diese Fehlermeldung ignorieren. Dies ist ein bekannter Fehler in IIS 7.

Bindings in IIS erstellen / überprüfen
Das Zertifikat ist nun installiert und Sie sollten diese unter Server Certificates sehen können.
Klicken Sie im IIS Manager unter Sites mit der rechten Maustaste auf die entsprechende Seite, welcher ein Zertifikat hinterlegt werden soll und wählen Sie Edit Bindings...
Es öffnet sich ein neues Fenster (Site Bindings), in welchem bereits ein Eintrag für HTTP stehen sollte. Klicken Sie auf Add... und machen Sie in der neu erscheinenden Dialog Box (Add Site Bindings) folgende Einstellungen:
Type: HTTPS
IP address: All unassigned
Port: 443
SSL Certificate: Wählen Sie das soeben erstellte, neue Zertifikat aus und klick Sie ok.

Es ist möglich, dass Sie bei dieser Aktion folgende Meldung erhalten: There was an error while performing this operation Details: CertEnroll::CX509Enrollment::p_InstallResponse: ASN1 bad tag value met. 0x8009310b (ASN:276)
Sie können diese Fehlermeldung ignorieren. Dies ist ein bekannter Fehler in IIS 7.

SSL Funktionstest
Um die Funktionalität des Zertifikats zu überprüfen, geben Sie im Webbroser einfach Ihre zugeordnete URL ein und sprechen Sie diese über HTTPS an (z.B: https://verschluesselt.ihre-domain.com).


Application Pool in SharePoint 2010 (anhand seiner ID) löschen

Das Löschen eines Application Pools in SharePoint 2010 kann sich einfacher oder schwerer gestalten.

Application Pool einer Web Application löschen
Ich fange mit der einfachen Variante, einem Application Pool einer Web Application, an. Dieser kann ganz einfach entfernt werden, in dem man auf den Web Servern im IIS Manager unter Application Pools den gewünschten Eintrag löscht.

Application Pool mit PowerShell löschen

Etwas schwerer wirds, wenn es sich um einen Application Pool einer Service Application handelt. Dieser wird am besten via PowerShell gelöscht. Führen Sie dazu die SharePoint 2010 Management Shell als Administrator aus (Start -> All Programs -> Microsoft SharePoint 2010 Products -> Rechte Maustaste auf SharePoint 2010 Management Shell -> Run as administrator) und geben Sie folgendes ein:

  • Get-SPServiceApplicationPool
  • Get-SPServiceApplicationPool -Identity NameDesApplicationPools
  • Remove-SPServiceApplicationPool NameDesApplicationPools
  • Bestätigen Sie das Löschen des Application Pools mit Y

Wichtig zu wissen: Identity != Id / Identity = Name

Enthält der Names des Application Pools z.B. Leerzeichen muss dieser zum Ausführen obigen Befehle ggf. in Anführungszeichen gesetzt werden ("Name des Application Pools").

Application Pool anhand seiner ID löschen
Ganz schwer wirds, wenn sich der Application Pools nicht mit dem vergebenen Namen ansprechen lässt. Das kann beispielsweise der Fall sein, wenn ein Anführungszeichen (...) enthalten ist. Dann muss man auf einen kleinen Trick zurückgreifen, da PowerShell das Löschen via ID nicht unterstützt.
Führen Sie dazu die SharePoint 2010 Management Shell als Administrator aus (Start -> All Programs -> Microsoft SharePoint 2010 Products -> Rechte Maustaste auf SharePoint 2010 Management Shell -> Run as administrator) und geben Sie folgendes ein, um einen Application Pool anhand seiner ID zu löschen:

  • Get-SPServiceApplicationPool | select Id, Name
  • Stsadm -o deleteconfigurationobject -id DieObenAngezeigteIDeingeben

Load control template file TaxonomyPicker.ascx failed

Das Taxonomy Picker Problem kann zum Beispiel beim Verwenden von externen Listen oder einer Dritthersteller-Applikation auftreten. Im Application Eventlog wird folgender Fehler angezeigt:

Log Name: Application
Source: Microsoft-SharePoint Products-SharePoint Foundation
Date: 01.01.2010 01:01:01
Event ID: 7043
Task Category: Web Controls
Level: Error
Keywords:
User: domain\username
Computer: meinserver.meinedomain.com

Description:
Load control template file /_controltemplates/TaxonomyPicker.ascx failed: Could not load type 'Microsoft.SharePoint.Portal.WebControls.TaxonomyPicker' from assembly 'Microsoft.SharePoint.Portal, Version=14.0.0.0, Culture=neutral, PublicKeyToken=12a3bcd456e7890f'.

Bei einigen ist Auslöser dieser Fehlermeldung eine falsche Angabe in der TaxonomyPicker.ascx. Öffnen Sie TaxonomyPicker.ascx mit einem beliebigen Texteditor (z.B. Notepad). Sie finden diese hier:
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\CONTROLTEMPLATES\

Suchen Sie in der TaxonomyPicker.ascx nach folgendem Textabschnitt:
<%@ Control className="TaxonomyPickerControl" Language="C#" Inherits="Microsoft.SharePoint.Portal.WebControls.TaxonomyPicker,Microsoft.SharePoint.Portal, Version=14.0.0.0, Culture=neutral, PublicKeyToken=12a3bcd456e7890f" %>

Ersetzen Sie TaxonomyPicker,Microsoft durch TaxonomyPicker, Microsoft

Das müsste dann so aussehen:
<%@ Control className="TaxonomyPickerControl" Language="C#" Inherits="Microsoft.SharePoint.Portal.WebControls.TaxonomyPicker, Microsoft.SharePoint.Portal, Version=14.0.0.0, Culture=neutral, PublicKeyToken=12a3bcd456e7890f" %>

Bei einigen wird der Fehler trotz dieser Änderungen nach einer gewissen Zeit wieder auftauchen. Dort sollte die Datei TaxonomyPicker.ascx in TaxonomyPicker.ascx_defekt umbenannt werden. Hierdurch wird die Datei deaktiviert und nicht bei jedem Start des Application Pools wieder neu kompiliert. User Control wird innerhalb von SharePoint nicht verwendet und hat daher keine wirklichen Verwendungszweck.


Fehlende Treiber für unbekannte Geräte manuell finden

Auch wenn die neueren Windows Betriebssystem-Versionen immer mehr Treiber beretis vorinstalliert haben, so kommt es trotzdem vor, dass Geräte nicht erkannt werden können - weshalb eine manuelle Installation notwendig werden kann. Kann Windows kein Treiber für das angeschlossene Gerät finden, wird dieses im Geräte Manager mit einem gelben Fragezeichen markiert.

Geräte mit fehlendem Treiber manuell ausfindig machen

  1. Links unten auf Start (resp. das Windows Symbol) klicken, danach geben Sie im Feld "Programme/Dateien durchsuchen" msinfo32 ein und drücken die Enter-Tase.
  2. Erweitern Sie im Systeminformationen-Fenster den Punkt Komponenten und erweitern Sie Problemgeräte
  3. Dort finden Sie eine Liste von Geräten, welche auf Ihrem Computer Probleme haben. Zudem finden Sie hier detaillierte Beschreibungen zu folgenden Punkten.
    Gerät Name des Gerätes oder des dazugehörigen Treibers.
    PNP-Gerätekennung Zeigt die Geräte ID, PCI ID, Bus Typ oder einen unbekannten Typen.
    Fehlercode Zeigt den Fehlercode für das aufgetretene Problem an und kann wie folgt aussehen:
  4. Device Name | PCI\VEN_00000&DEV_0000&SUBSYS_00000000&REV_00\0&0000 | Error Code
  5. Je nach Gerät wird der Unique Device Identifier (einzigartige Gerätenummer) in der Spalte PNP-Gerätekennung oder der Fehlercode angezeigt und sieht in etwa so aus:
    PCI\VEN_000&DEV_000&SUBSYS_00000000&REV_00
  6. Im obigen Beispiel bezeichnet VEN die Hersteller ID und DEV die Geräte ID.
  7. Öffnen Sie in Ihrem Browser die Internetseite http://www.pcidatabase.com. Diese Seite verfügt über eine Datenbank mit fast allen PCI Geräte IDs.
  8. Suchen Sie jetzt nach der Hersteller ID oder nach der Geräte ID, um Informationen über den  Hersteller und eine Beschreibung über das fehlerhafte Gerät zu finden. Sollten Sie hier nichts finden, ist Google sicher einen Versuch wert.

Fehlende Geräte über den Geräte Manager ausfindig machen

  1. Links unten auf Start (resp. das Windows Symbol) klicken, danach geben Sie im Feld "Programme/Dateien durchsuchen" devmgmt.msc ein und drücken die Enter-Tase.
  2. Suchen Sie das unbekannte Gerät, welches normalerweise unter Andere Geräte abgelegt und mit einem gelben Fragezeichen versehen ist, wenn es vom System nicht erkannt wurde.
  3. Klicken Sie mit der rechten Maustaste und wählen Sie Eigenschaften.
  4. Dort wählen Sie das Tab Details.
  5. Wählen Sie dort Hardware IDs oder Geräteinstanzpfad aus.
  6. Unter einem der beiden Punkte sollte jetzt ein solcher String erscheinen: PCI\VEN_000&DEV_000&SUBSYS_00000000&REV_00
  7. Öffnen Sie in Ihrem Browser die Internetseite http://www.pcidatabase.com. Diese Seite verfügt über eine Datenbank mit fast allen PCI Geräte IDs.
  8. Suchen Sie jetzt nach der Hersteller ID oder nach der Geräte ID, um Informationen über den  Hersteller und eine Beschreibung über das fehlerhafte Gerät zu finden. Sollten Sie hier nichts finden, ist Google sicher einen Versuch wert.