Freigeben über


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.