Rollen in Windows Server 2012 mit Best Practices Analyzer überprüfen

    Vorhandene BPA mit PowerShell erfragenMicrosoft lieferte bereits für Windows Server 2008 R2 mehrere Best Practice Analyzer (BPA), mit denen sich die Konfiguration von Rollen an den Empfehlungen des Herstellers messen lässt. Allerdings führen die Tools dort eher ein Schattendasein, weil sie innerhalb des Server Managers unauffällig platziert sind und immer nur eine einzelne Rolle auf dem lokalen Server gescannt werden kann. Dies ändert sich nun in Windows Server 2012, wo die BPA bereits im Dashboard des Server Manager unübersehbar präsent sind.

    Best Practices Analyzer überprüfen schon in Windows Server 2008 R2 die korrekte Konfiguration von Rollen.Für Windows Server 2008 R2 gibt es insgesamt 12 BPA, die mehrheitlich zum Lieferumfang des Systems gehören. Jener zu Hyper-V kam später hinzu und muss nachträglich installiert werden. Die Tools zur Prüfung der Konfiguration lassen sich aus dem Server Manager im Übersichtsfenster einzelner Rollen starten (Befehl Diese Rolle überprüfen). Die Ergebnisse des Scans werden an Ort und Stelle im betreffenden Abschnitt eingeblendet. Dabei lassen sich bestimmte Meldungen manuell ausblenden, beispielsweise die nur den Status Warnung haben.

    BPA-Status im Dashboard ersichtlich

    In Windows Server 2012 werden die Best Practices Analyzer deutlich aufgewertet. Sie sind nun auf 14 Tools angewachsen und sind im Dashboard des neuen Server Manager in jeder Kachel präsent, durch die jede Rolle dargestellt wird. Zum einen gibt es dort den Eintrag BPA-Ergebnisse, der auf entdeckte Konfigurationsmängel hinweist.

    Ein Administrator sieht rot: Warnungen unter 'Verwaltbarkeit' erscheinen, wenn der BPA für eine Rolle nie gestartet wurde.

    Zum anderen machen sich die Best Practices Analyzer unter dem Punkt Verwaltbarkeit bemerkbar, wenn sie noch nicht ausgeführt wurden. Daher zeigt das Dashboard bei einem frisch installierten Windows Server 2012 für die meisten hinzugefügten Rollen rot markierte Warnungen. Um diesen Zustand zu ändern, müssen die betreffenden BPA erstmalig ausgeführt werden.

    Start der Analyzer über den Server Manager

    Im Gegensatz zu Windows Server 2008 R2 lässt sich dieser Vorgang im Server Manager nun auf mehrere Server gleichzeitig anwenden. Diese Möglichkeit zur Remote-Analyse erlaubt es, BPA auch von einem Windows-8-Client mit installierten RSAT zu starten. Es gilt dabei allerdings die Einschränkung, dass bei Zielrechnern mit älteren Versionen des Betriebssystems die Kommunikation nicht mit dem BPA jeder Rolle funktioniert. So konnte ich die DNS-Konfiguration untersuchen, jene von Hyper-V aber nicht.

    Der Server Manager in Windows Server 2012 kann einen BPA-Scan für eine Rolle auf mehreren Servern starten.

    BPA über PowerShell steuern

    Unter Windows Server 2008 R2 gibt es ebenfalls die Möglichkeit, die verfügbaren BPA mittels PowerShell zu erfragen, sie zu auszuführen und anschließend die Ergebnisse abzurufen. Dafür zuständig sind die Cmdlets Get-BPAModel, Invoke-BPAModel, Get-BPAResult und Set-BPAResult. Letzteres dient dazu, bestimmte Ergebnisse ein- oder auszuschließen.

    Daran hat sich auch in Server 2012 nichts geändert, der wesentliche Fortschritt gegenüber dem Vorgänger besteht auch hier darin, dass sich Best Practices Analyzer wie im Server Manager auf mehreren Maschinen gleichzeitig ausführen lassen. Anschließend kann man die Ergebnisse ebenfalls remote einlesen. Die Namen der Rechner gibt man über den Parameter -ComputerName an.

    BPA für alle installierten Rollen ausführen

    Um auf einem frisch eingerichteten Server 2012 die Warnungen aus dem Dashboard zu entfernen, sollte man für die Konfiguration für alle installierten Rollen mittels BPA überprüfen. Das geht über die PowerShell schneller als über die GUI, allerdings erzeugen einfache Aufrufe, wie in diesem TechNet-Blog zu zahlreichen Fehlermeldungen. Der Grund besteht darin, dass ein simples

    Get-BPAModel |Invoke-BpaModel

    alle vorhandenen BPA ermittelt und sie starten möchte - auch dann, wenn die betreffenden Rollen gar nicht installiert sind. Günstiger ist es, die tatsächlich aktivierten Rollen zu erfragen sowie herauszufinden, ob es dafür einen BPA gibt - und ihn nur in diesem Fall zu starten:

    Get-WindowsFeature | Where {$_.BestPracticesModelId -ne "" -and $_.Installed} | Invoke-BpaModel

    BestPracticesModelId ist eine Eigenschaft von Feature-Objekten, die aus seiner leeren Zeichenkette besteht, wenn dafür kein BPA existiert.

    Keine Kommentare