Get-ScriptAnalyzerRule
Ruft die Skriptanalyseregeln auf dem lokalen Computer ab.
Syntax
Get-ScriptAnalyzerRule
[[-Name] <string[]>]
[-CustomRulePath <string[]>]
[-RecurseCustomRulePath]
[-Severity <string[]>]
[<CommonParameters>]
Beschreibung
Ruft die Skriptanalyseregeln auf dem lokalen Computer ab. Sie können Regeln nach Name, Schweregrad, Quelle oder Quelltyp oder sogar nach bestimmten Wörtern in der Regelbeschreibung auswählen.
Verwenden Sie dieses Cmdlet, um Auflistungen von Regeln zu erstellen, die beim Ausführen des Invoke-ScriptAnalyzer
Cmdlets eingeschlossen und ausgeschlossen werden sollen.
Informationen zu den Regeln finden Sie unter dem Wert der Description-Eigenschaft jeder Regel.
Das PSScriptAnalyzer-Modul testet den PowerShell-Code in einem Skript, Modul oder einer DSC-Ressource, um festzustellen, ob er bewährte Methodenstandards erfüllt.
Beispiele
BEISPIEL 1: Abrufen aller Skriptanalyseregeln auf dem lokalen Computer
Get-ScriptAnalyzerRule
BEISPIEL 2: Ruft nur Regeln mit dem Fehlerschweregrad ab.
Get-ScriptAnalyzerRule -Severity Error
BEISPIEL 3: Führen Sie nur die DSC-Regeln mit dem Schweregrad Fehler aus.
In diesem Beispiel werden nur die DSC-Regeln mit dem Schweregrad Fehler für die Dateien im Modul MyDSCModule ausgeführt.
$DSCError = Get-ScriptAnalyzerRule -Severity Error | Where-Object SourceName -eq PSDSC
$Path = "$home\Documents\WindowsPowerShell\Modules\MyDSCModule\*"
Invoke-ScriptAnalyzerRule -Path $Path -IncludeRule $DSCError -Recurse
Die Verwendung des IncludeRule-Parameters von Invoke-ScriptAnalyzerRule
ist effizienter als die Verwendung des Parameters Severity , der nur angewendet wird, nachdem alle Regeln zum Analysieren aller Moduldateien verwendet wurden.
BEISPIEL 4: Abrufen von Regeln nach Name und Schweregrad
In diesem Beispiel werden Regeln mit "Parameter" oder "Alias" im Namen abgerufen, die einen Fehler oder eine Warnung generieren. Sie können diesen Satz von Regeln verwenden, um die Parameter Ihres Skripts oder Moduls zu testen.
$TestParameters = Get-ScriptAnalyzerRule -Severity Error, Warning -Name *Parameter*, *Alias*
BEISPIEL 5: Abrufen benutzerdefinierter Regeln
In diesem Beispiel werden die Standardregeln und die Regeln in den Modulen VeryStrictRules und ExtremelyStrictRules abgerufen. Der Befehl verwendet den Parameter RecurseCustomRulePath , um Regeln abzurufen, die in Unterverzeichnissen der übereinstimmenden Pfade definiert sind.
Get-ScriptAnalyzerRule -CustomRulePath $home\Documents\WindowsPowerShell\Modules\*StrictRules -RecurseCustomRulePath
Parameter
-CustomRulePath
Standardmäßig ruft PSScriptAnalyzer nur die Standardregeln ab, die in der Microsoft.Windows.PowerShell.ScriptAnalyzer.BuiltinRules.dll
Datei im Modul angegeben sind. Verwenden Sie diesen Parameter, um die benutzerdefinierten Script Analyzer-Regeln im angegebenen Pfad und die Script Analyzer-Standardregeln abzurufen.
Geben Sie den Pfad zu einer .NET-Assembly oder einem .NET-Modul ein, das Script Analyzer-Regeln enthält. Sie können nur einen Wert eingeben, jedoch werden Wildcards unterstützt. Verwenden Sie den Parameter RecurseCustomRulePath , um Regeln in Unterverzeichnissen des Pfads abzurufen.
Sie können benutzerdefinierte Regeln mithilfe einer .NET-Assembly oder eines PowerShell-Moduls erstellen, z. B. mit den Community Analyzer-Regeln im GitHub-Repository.
Typ: | String[] |
Aliase: | CustomizedRulePath |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | True |
-Name
Ruft nur Regeln mit den angegebenen Namen oder Namensmustern ab. Platzhalter werden unterstützt. Wenn Sie mehrere Namen oder Muster auflisten, werden alle Regeln abgerufen, die mit einem der Namensmuster übereinstimmen.
Typ: | String[] |
Position: | Named |
Standardwert: | All rules |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | True |
-RecurseCustomRulePath
Durchsucht rekursiv den CustomRulePath-Speicherort , um Regeln hinzuzufügen, die in Dateien in Unterverzeichnissen des Pfads definiert sind. Standardmäßig Get-ScriptAnalyzerRule
werden nur die benutzerdefinierten Regeln im angegebenen Pfad hinzugefügt.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Severity
Ruft nur Regeln mit dem angegebenen Schweregrad ab. Gültige Werte sind:
- Information
- Warnung
- Fehler
Typ: | String[] |
Position: | Named |
Standardwert: | All rules |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Eingaben
None
Sie können keine Eingabe an dieses Cmdlet übergeben.
Ausgaben
Microsoft.Windows.PowerShell.ScriptAnalyzer.Generic.RuleInfo
Das RuleInfo-Objekt ist ein benutzerdefiniertes Objekt, das speziell für Script Analyzer erstellt wurde.