Prüfen ob ein Powershell Snap-In geladen ist

Häufig benötigt man zusätzliche Snap-In's für die Powershell um mehr Funktionalität zu erhalten. Diese müssen vor der Nutzung natürlich erst noch zum Standard Befehlssatz hinzugefügt werden. Das blinde Hinzufügen  quittiert die Powershell aber schon mal mit einer Fehlermeldung wenn das betreffende Snap-In bereits geladen wurde.

In einem früheren Artikel habe ich solch eine Prüfung bereits verwendet, bin aber nicht näher darauf eingegangen. Auch war die Prüfung ziemlich aufwändig und umständlich. Aber man entwickelt sich ja weiter und lernt immer neu dazu. Hier nun also die modernere Version der Prüfung:

if ( (Get-PSSnapin -Name SnapinName -ErrorAction SilentlyContinue) -eq $null ) {
    Add-PsSnapin SnapinName
}

In der früheren Version der Prüfung habe ich das ErrorReporting zuerst abgeschaltet, dann die Prüfung durchgeführt, anschließend entsprechend dem Prüfungsergebniss reagiert und danach das ErrorReporting wieder eingeschaltet.

Bei dieser Version passiert nun aber alles zusammen, bzw das einschalten des ErrorReportings entfällt sogar vollständig, da das ErrorReporting tatsächlich nur für die eigentliche Prüfung ausgeschaltet bzw. unterdrückt wird. Auch entfällt das Zwischenspeichern des Prüfungsergebnisses in einer zusätzlichen Variable.