Get-ScriptAnalyzerRule
ローカル コンピューターのスクリプト アナライザールールを取得します。
構文
Get-ScriptAnalyzerRule
[[-Name] <string[]>]
[-CustomRulePath <string[]>]
[-RecurseCustomRulePath]
[-Severity <string[]>]
[<CommonParameters>]
説明
ローカル コンピューターのスクリプト アナライザールールを取得します。 ルールは、名前、重大度、ソース、または SourceType、またはルールの説明内の特定の単語で選択できます。
このコマンドレットを使用して、Invoke-ScriptAnalyzer
コマンドレットの実行時に含める規則と除外する規則のコレクションを作成します。
ルールに関する情報を取得するには、各ルールの Description プロパティの値を参照してください。
PSScriptAnalyzer モジュールは、スクリプト、モジュール、または DSC リソースの PowerShell コードをテストして、ベスト プラクティス標準を満たしているかどうかを判断します。
例
例 1 - ローカル コンピューター上のすべての Script Analyzer ルールを取得する
Get-ScriptAnalyzerRule
例 2 - エラーの重大度を持つルールのみを取得します
Get-ScriptAnalyzerRule -Severity Error
例 3 - エラーの重大度を持つ DSC 規則のみを実行する
この例では、MyDSCModule モジュール内のファイルに対して、エラーの重大度を持つ DSC 規則のみを実行します。
$DSCError = Get-ScriptAnalyzerRule -Severity Error | Where-Object SourceName -eq PSDSC
$Path = "$home\Documents\WindowsPowerShell\Modules\MyDSCModule\*"
Invoke-ScriptAnalyzerRule -Path $Path -IncludeRule $DSCError -Recurse
Invoke-ScriptAnalyzerRule
の IncludeRule パラメーターを使用する方が、Severity パラメーターを使用するよりも効率的です。これは、すべてのルールを使用してすべてのモジュール ファイルを分析した後にのみ適用されます。
例 4 - 名前と重大度でルールを取得する
この例では、エラーまたは警告を生成する名前に "Parameter" または "Alias" を含むルールを取得します。 この一連のルールを使用して、スクリプトまたはモジュールのパラメーターをテストできます。
$TestParameters = Get-ScriptAnalyzerRule -Severity Error, Warning -Name *Parameter*, *Alias*
例 5 - カスタム 規則を取得する
この例では、veryStrictRules および
Get-ScriptAnalyzerRule -CustomRulePath $home\Documents\WindowsPowerShell\Modules\*StrictRules -RecurseCustomRulePath
パラメーター
-CustomRulePath
既定では、PSScriptAnalyzer はモジュール内の Microsoft.Windows.PowerShell.ScriptAnalyzer.BuiltinRules.dll
ファイルで指定された標準規則のみを取得します。 このパラメーターを使用して、指定したパスと標準の Script Analyzer ルールのカスタム スクリプト アナライザー ルールを取得します。
Script Analyzer ルールを含む .NET アセンブリまたはモジュールへのパスを入力します。 入力できる値は 1 つだけですが、ワイルドカードはサポートされています。 パスのサブディレクトリでルールを取得するには、RecurseCustomRulePath パラメーターを使用します。
.NET アセンブリまたは PowerShell モジュールを使用して、GitHub リポジトリの Community Analyzer Rules などのカスタム ルールを作成できます。
型: | String[] |
Aliases: | CustomizedRulePath |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | True |
-Name
指定された名前または名前パターンを持つ規則のみを取得します。 ワイルドカードがサポートされています。 複数の名前またはパターンを一覧表示すると、いずれかの名前パターンに一致するすべてのルールが取得されます。
型: | String[] |
配置: | Named |
規定値: | All rules |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | True |
-RecurseCustomRulePath
CustomRulePath の場所を再帰的に検索して、パスのサブディレクトリ内のファイルに定義されている規則を追加します。 既定では、Get-ScriptAnalyzerRule
は、指定したパスにカスタム 規則のみを追加します。
型: | SwitchParameter |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Severity
指定された重大度値を持つルールのみを取得します。 有効な値は次のとおりです。
- 情報
- 警告
- エラー
型: | String[] |
配置: | Named |
規定値: | All rules |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
None
このコマンドレットに入力をパイプすることはできません。
出力
Microsoft.Windows.PowerShell.ScriptAnalyzer.Generic.RuleInfo
RuleInfo オブジェクトは、Script Analyzer 専用に作成されたカスタム オブジェクトです。
関連リンク
PowerShell