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.