次の方法で共有


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-ScriptAnalyzerRuleIncludeRule パラメーターを使用する方が、Severity パラメーターを使用するよりも効率的です。これは、すべてのルールを使用してすべてのモジュール ファイルを分析した後にのみ適用されます。

例 4 - 名前と重大度でルールを取得する

この例では、エラーまたは警告を生成する名前に "Parameter" または "Alias" を含むルールを取得します。 この一連のルールを使用して、スクリプトまたはモジュールのパラメーターをテストできます。

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

例 5 - カスタム 規則を取得する

この例では、veryStrictRules および VeryStrictRules モジュール の標準規則と規則を取得します。 このコマンドでは、RecurseCustomRulePath パラメーターを使用して、一致するパスのサブディレクトリで定義されている規則を取得します。

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 専用に作成されたカスタム オブジェクトです。