Udostępnij za pośrednictwem


Get-ScriptAnalyzerRule

Pobiera reguły analizatora skryptów na komputerze lokalnym.

Składnia

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

Opis

Pobiera reguły analizatora skryptów na komputerze lokalnym. Reguły można wybrać według nazwy, ważności, źródła lub wartości SourceType, a nawet określonych słów w opisie reguły.

Użyj tego polecenia cmdlet, aby utworzyć kolekcje reguł do uwzględnienia i wykluczenia podczas uruchamiania polecenia cmdlet Invoke-ScriptAnalyzer.

Aby uzyskać informacje o regułach, zobacz wartość właściwości Description każdej reguły.

Moduł PSScriptAnalyzer testuje kod programu PowerShell w skrypcie, module lub zasobie DSC, aby określić, czy spełnia standardy najlepszych rozwiązań.

Przykłady

PRZYKŁAD 1 — pobieranie wszystkich reguł analizatora skryptów na komputerze lokalnym

Get-ScriptAnalyzerRule

PRZYKŁAD 2 — pobiera tylko reguły z ważnością błędu

Get-ScriptAnalyzerRule -Severity Error

PRZYKŁAD 3 — uruchamianie tylko reguł DSC z ważnością błędu

W tym przykładzie są uruchamiane tylko reguły DSC z ważnością błędu dla plików w module MyDSCModule.

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

Użycie parametru IncludeRuleInvoke-ScriptAnalyzerRule jest bardziej wydajne niż użycie jego parametru Ważność, który jest stosowany tylko po użyciu wszystkich reguł do analizowania wszystkich plików modułu.

PRZYKŁAD 4 — Pobieranie reguł według nazwy i ważności

Ten przykład pobiera reguły z wartością "Parametr" lub "Alias" w nazwie, która generuje błąd lub ostrzeżenie. Możesz użyć tego zestawu reguł, aby przetestować parametry skryptu lub modułu.

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

PRZYKŁAD 5 — Pobieranie reguł niestandardowych

Ten przykład pobiera standardowe reguły i reguły w modułach VeryStrictRu les i ExtremelyStrictRules. Polecenie używa parametru RecurseCustomRulePath w celu pobrania reguł zdefiniowanych w podkatalogach pasujących ścieżek.

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

Parametry

-CustomRulePath

Domyślnie narzędzie PSScriptAnalyzer pobiera tylko standardowe reguły określone w pliku Microsoft.Windows.PowerShell.ScriptAnalyzer.BuiltinRules.dll w module. Użyj tego parametru, aby uzyskać niestandardowe reguły analizatora skryptów w określonej ścieżce i standardowe reguły analizatora skryptów.

Wprowadź ścieżkę do zestawu lub modułu platformy .NET, który zawiera reguły analizatora skryptów. Można wprowadzić tylko jedną wartość, ale są obsługiwane symbole wieloznaczne. Aby uzyskać reguły w podkatalogach ścieżki, użyj parametru RecurseCustomRulePath.

Reguły niestandardowe można tworzyć przy użyciu zestawu .NET lub modułu programu PowerShell, takiego jak reguły analizatora społeczności w repozytorium GitHub.

Typ:String[]
Aliasy:CustomizedRulePath
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:True

-Name

Pobiera tylko reguły z określonymi nazwami lub wzorcami nazw. Obsługiwane są symbole wieloznaczne. Jeśli wyświetlasz listę wielu nazw lub wzorców, pobiera ona wszystkie reguły zgodne z dowolnymi wzorcami nazw.

Typ:String[]
Position:Named
Domyślna wartość:All rules
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:True

-RecurseCustomRulePath

Wyszukuje lokalizację CustomRulePath rekursywnie, aby dodać reguły zdefiniowane w plikach w podkatalogach ścieżki. Domyślnie Get-ScriptAnalyzerRule dodaje tylko reguły niestandardowe w określonej ścieżce.

Typ:SwitchParameter
Position:Named
Domyślna wartość:False
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Severity

Pobiera tylko reguły z określonymi wartościami ważności. Prawidłowe wartości to:

  • Informacja
  • Ostrzeżenie
  • Błąd
Typ:String[]
Position:Named
Domyślna wartość:All rules
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

Dane wejściowe

None

Nie można przekazać danych wejściowych potoku do tego polecenia cmdlet.

Dane wyjściowe

Microsoft.Windows.PowerShell.ScriptAnalyzer.Generic.RuleInfo

Obiekt RuleInfo jest obiektem niestandardowym utworzonym specjalnie dla analizatora skryptów.