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 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.