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