Best Practices Analyzer per PowerShell ausführen

Best Practice Analyzer per PowerShell bedienenEs ist bei Microsoft üblich, zu neu eingeführten Windows-Server-Funktionen neben der Möglichkeit der Bedienung per GUI auch immer die entsprechenden PowerShell-Cmdlets zu liefern. Damit kann man etwa die entsprechenden Funktionen auch auf Server Core ausführen. Dies trifft auch auf den Best Practices Analyzer zu: Die dazugehörigen Cmdlets erlauben seine komplette Verwendung in einer PowerShell-Umgebung.

Best Practices Analyzer-Cmdlets einbinden

Die BPA-Cmdlets müssen zunächst eingebunden werdenUm Best Practices Analyzer in PowerShell auszurufen, öffnet man auf dem Server eine PowerShell-Shell mit administrativen Rechten. Mittels der beiden Kommandos

Import-Module ServerManager
Import-Module BestPractices

bindet man die Best Practices Analyzer-Cmdlets ein. Die verfügbaren Möglichkeiten, Rollen zu scannen, werden in den Cmdlets jeweils BestPracticesModelId, kurz ID, genannt. Welche davon bereitgestellt sind, hängt von der Rollenkonfiguration des Servers ab und kann mittels des Kommandos

Get-BPAModel

abgefragt werden.

Rollen scannen und Ergebnisse ausgeben

Best-Practice-Scan der Active-Directory-Dienste mittels PowerShellDie ausgegebenen IDs kann man nun mit dem Befehl

Invoke-BpaModel ‹ID›

einer Best-Practice-Analyse unterziehen, etwa

Invoke-BpaModel Microsoft/Windows/DirectoryServices

für die Active-Directory-Dienste. Man kann die IDs dem Befehl Invoke-BPAModel auch per Pipe übergeben, das ist etwa nützlich, um mehrere Rollen in einem Durchlauf zu scannen. Alle Rollen auf einmal etwa scannt der Befehl

Get-BPAModel |Invoke-BpaModel

Nach Abschluss eines oder mehrerer Scans gibt das Cmdlet jeweils eine kurze Meldung darüber aus.

Ergebnisse anzeigen oder speichern

Nach dem Scan an sich kann man dessen Ergebnis ausgebenDie Ergebnisse eines Scans sieht man mittels des Befehls

Get-BPAResult ‹ID›

Welcher Kategorie ein Ergebnis entspricht und ob es sich um einen Fehler, eine Warnung oder eine Kompatibilitätsbestätigung handelt, sieht man anhand der Textausgabe. Eine gewisse Gliederung wird durch die Reihenfolge in die Ausgabe gebracht – zuerst erscheinen die Fehler, dann die Warnungen, zuletzt die Best Practices, zu denen man bereits kompatibel ist. Auch hier kann man nach obigen Muster die IDs per Pipe an Get-BPAResult schicken, etwa um die Ausgabe gleich mehrerer Rollen-Scans zusammenzufassen.

Für eine übersichtlichere Ausgabe kann man den Ergebnistext durch einen HTML-Filter schicken, der ihn formatiert. Zu den Best Practices Analyzer-Modulen gehört ein dazu passendes Stylesheet unter %windir%\​system32\​WindowsPowerShell\​v1.0\​Modules\​BestPractices\​BestPracticesReportFormat.css. Der Befehl für eine HTML-Ausgabe in Listenform etwa lautet

Get-BPAResult ‹ID› |ConvertTo-Html -As List –CssUri windir\​system32\​WindowsPowerShell\​v1.0\​Modules\​BestPractices\​BestPracticesReportFormat.css >report.html

Verwendet man statt List das Schlüsselwort Table, wird stett dessen eine Tabelle erstellt.

Keine Kommentare

Kommentar hinzufügen

Der Inhalt dieses Feldes wird nicht öffentlich zugänglich angezeigt. Wenn mit der von Ihren angegebenen Mail-Adresse ein Gravatar verknüpft ist, dann wird dieser neben Ihrem Kommentar eingeblendet.
  • Internet- und E-Mail-Adressen werden automatisch umgewandelt.
  • Zulässige HTML-Tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Zeilen und Absätze werden automatisch erzeugt.
  • Mail-Adressen werden im Seitenquelltext unkenntlich gemacht, um sie vor dem automatischen Erfassen durch Spammer zu schützen.

Weitere Informationen über Formatierungsoptionen