Get-ScriptAnalyzerRule

Hämtar skriptanalysreglerna på den lokala datorn.

Syntax

Default (Standard)

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 specifika ord i regelbeskrivningen.

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

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 standarder för bästa praxis.

Exempel

EXEMPEL 1 – Hämta alla Script Analyzer-regler på den lokala datorn

Get-ScriptAnalyzerRule

EXEMPEL 2 – Hämtar endast regler med allvarlighetsgraden 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 IncludeRule för Invoke-ScriptAnalyzerRule är effektivare än att använda parametern allvarlighetsgrad, som endast tillämpas efter att alla regler har använts 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

PsScriptAnalyzer hämtar som standard 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 skriptanalys.

Ange sökvägen till en .NET-sammansättning eller -modul som innehåller script analyzer-regler. 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 Rules på GitHub-lagringsplatsen.

Parameteregenskaper

Typ:

String[]

Standardvärde:None
Stöder jokertecken:True
DontShow:False
Alias:CustomizedRulePath (på engelska)

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Name

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

Parameteregenskaper

Typ:

String[]

Standardvärde:All rules
Stöder jokertecken:True
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-RecurseCustomRulePath

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

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Severity

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

  • Information
  • Varning
  • Fel

Parameteregenskaper

Typ:

String[]

Standardvärde:All rules
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

CommonParameters

Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.

Indata

None

Du kan inte skicka indata till den här cmdleten.

Utdata

Microsoft.Windows.PowerShell.ScriptAnalyzer.Generic.RuleInfo

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