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 SourceType oder sogar bestimmten Wörtern in der Regelbeschreibung auswählen.
Verwenden Sie dieses Cmdlet, um Sammlungen von Regeln zu erstellen, die beim Ausführen des Cmdlets Invoke-ScriptAnalyzer
eingeschlossen und ausgeschlossen werden sollen.
Informationen zu den Regeln finden Sie im Wert der Description-Eigenschaft jeder Regel.
Das PSScriptAnalyzer-Modul testet den PowerShell-Code in einer Skript-, Modul- oder DSC-Ressource, um festzustellen, ob es best practice Standards erfüllt.
Beispiele
BEISPIEL 1: Abrufen aller Skriptanalyseregeln auf dem lokalen Computer
Get-ScriptAnalyzerRule
BEISPIEL 2 : Ruft nur Regeln mit dem Schweregrad des Fehlers 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 MyDSCModule Modul 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 Schweregrad--Parameters, der nur nach Verwendung aller Regeln zum Analysieren aller Moduldateien angewendet wird.
BEISPIEL 4 : Regeln nach Name und Schweregrad abrufen
Dieses Beispiel ruft Regeln mit "Parameter" oder "Alias" im Namen ab, der einen Fehler oder eine Warnung generiert. Sie können diese Regelgruppe verwenden, um die Parameter Ihres Skripts oder Moduls zu testen.
$TestParameters = Get-ScriptAnalyzerRule -Severity Error, Warning -Name *Parameter*, *Alias*
BEISPIEL 5 : Abrufen von benutzerdefinierten Regeln
In diesem Beispiel werden die Standardregeln und die Regeln in den Modulen VeryStrictRules und ExtremelyStrictRules-Module ab. Der Befehl verwendet den RecurseCustomRulePath Parameter zum Abrufen von Regeln, 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 datei Microsoft.Windows.PowerShell.ScriptAnalyzer.BuiltinRules.dll
im Modul angegeben sind. Verwenden Sie diesen Parameter, um die benutzerdefinierten Skriptanalyseregeln im angegebenen Pfad und den standardmäßigen Script Analyzer-Regeln abzurufen.
Geben Sie den Pfad zu einer .NET-Assembly oder einem Modul ein, die Skriptanalyseregeln enthält. Sie können nur einen Wert eingeben, aber Die Wildcards werden unterstützt. Um Regeln in Unterverzeichnissen des Pfads abzurufen, verwenden Sie den RecurseCustomRulePath Parameter.
Sie können benutzerdefinierte Regeln mithilfe einer .NET-Assembly oder eines PowerShell-Moduls erstellen, z. B. die Community Analyzer Rules 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. Wildcards werden unterstützt. Wenn Sie mehrere Namen oder Muster auflisten, ruft sie alle Regeln ab, die mit einem der Namensmuster übereinstimmen.
Typ: | String[] |
Position: | Named |
Standardwert: | All rules |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | True |
-RecurseCustomRulePath
Durchsucht den CustomRulePath Speicherort rekursiv, um in Dateien in Unterverzeichnissen des Pfads definierte Regeln hinzuzufügen. Standardmäßig fügt Get-ScriptAnalyzerRule
nur die benutzerdefinierten Regeln im angegebenen Pfad hinzu.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Severity
Ruft nur Regeln mit den angegebenen Schweregradwerten 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 weiterleiten.
Ausgaben
Microsoft.Windows.PowerShell.ScriptAnalyzer.Generic.RuleInfo
Das RuleInfo--Objekts ist ein benutzerdefiniertes Objekt, das speziell für Script Analyzer erstellt wurde.