Dela via


Get-ScriptAnalyzerRule

Hämtar skriptanalysreglerna på den lokala datorn.

Syntax

Get-ScriptAnalyzerRule
   [[-Name] <string[]>]
   [-CustomRulePath <string[]>]
   [-RecurseCustomRulePath]
   [-Severity <string[]>]
   [<CommonParameters>]

Description

Hämtar skriptanalysreglerna på den lokala datorn. Du kan välja regler efter Namn, Allvarlighetsgrad, Källa eller SourceType, eller till och med särskilda ord i regelbeskrivningen.

Använd den här cmdleten för att skapa samlingar med regler som ska inkluderas och exkluderas när cmdleten Invoke-ScriptAnalyzer körs.

Information om reglerna finns i värdet för egenskapen Beskrivning för varje regel.

PSScriptAnalyzer-modulen testar PowerShell-koden i ett skript, en modul eller en DSC-resurs för att avgöra om den uppfyller bästa praxis.

Exempel

EXEMPEL 1 – Hämta alla skriptanalysregler på den lokala datorn

Get-ScriptAnalyzerRule

EXEMPEL 2 – Hämtar endast regler med allvarlighetsgrad för fel

Get-ScriptAnalyzerRule -Severity Error

EXEMPEL 3 – Kör endast DSC-reglerna med allvarlighetsgraden Fel

Det här exemplet kör endast DSC-reglerna med allvarlighetsgraden Fel på filerna i modulen MyDSCModule .

$DSCError = Get-ScriptAnalyzerRule -Severity Error | Where-Object SourceName -eq PSDSC
$Path = "$home\Documents\WindowsPowerShell\Modules\MyDSCModule\*"
Invoke-ScriptAnalyzerRule -Path $Path -IncludeRule $DSCError -Recurse

Att använda parametern Invoke-ScriptAnalyzerRuleIncludeRule i är mer effektivt än att använda parametern Allvarlighetsgrad, som endast tillämpas när du har använt alla regler för att analysera alla modulfiler.

EXEMPEL 4 – Hämta regler efter namn och allvarlighetsgrad

Det här exemplet hämtar regler med "Parameter" eller "Alias" i namnet som genererar ett fel eller en varning. Du kan använda den här uppsättningen regler för att testa parametrarna för skriptet eller modulen.

$TestParameters = Get-ScriptAnalyzerRule -Severity Error, Warning -Name *Parameter*, *Alias*

EXEMPEL 5 – Hämta anpassade regler

Det här exemplet hämtar standardreglerna och reglerna i modulerna VeryStrictRules och ExtremelyStrictRules . Kommandot använder parametern RecurseCustomRulePath för att hämta regler som definierats i underkataloger för matchande sökvägar.

Get-ScriptAnalyzerRule -CustomRulePath $home\Documents\WindowsPowerShell\Modules\*StrictRules -RecurseCustomRulePath

Parametrar

-CustomRulePath

Som standard hämtar PSScriptAnalyzer endast de standardregler som anges i Microsoft.Windows.PowerShell.ScriptAnalyzer.BuiltinRules.dll filen i modulen. Använd den här parametern för att hämta anpassade Script Analyzer-regler i den angivna sökvägen och standardreglerna för Script Analyzer.

Ange sökvägen till en .NET-sammansättning eller -modul som innehåller skriptanalysregler. Du kan bara ange ett värde, men jokertecken stöds. Om du vill hämta regler i underkataloger för sökvägen använder du parametern RecurseCustomRulePath .

Du kan skapa anpassade regler med hjälp av en .NET-sammansättning eller en PowerShell-modul, till exempel Community Analyzer-regler på GitHub-lagringsplatsen.

Typ:String[]
Alias:CustomizedRulePath
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:True

-Name

Hämtar endast regler med de angivna namnen eller namnmönstren. Jokertecken stöds. Om du listar flera namn eller mönster hämtas alla regler som matchar något av namnmönstren.

Typ:String[]
Position:Named
Standardvärde:All rules
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:True

-RecurseCustomRulePath

Söker rekursivt på CustomRulePath-platsen för att lägga till regler som definierats i filer i underkataloger för sökvägen. Som standard Get-ScriptAnalyzerRule lägger endast till anpassade regler i den angivna sökvägen.

Typ:SwitchParameter
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Severity

Hämtar endast regler med angivna allvarlighetsgradsvärden. Giltiga värden är:

  • Information
  • Varning
  • Fel
Typ:String[]
Position:Named
Standardvärde:All rules
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

Indata

None

Du kan inte skicka indata till denna cmdlet.

Utdata

Microsoft.Windows.PowerShell.ScriptAnalyzer.Generic.RuleInfo

RuleInfo-objektet är ett anpassat objekt som skapats specifikt för Script Analyzer.