Get-ScriptAnalyzerRule
取得本機電腦上的腳本分析器規則。
語法
Get-ScriptAnalyzerRule
[[-Name] <string[]>]
[-CustomRulePath <string[]>]
[-RecurseCustomRulePath]
[-Severity <string[]>]
[<CommonParameters>]
Description
取得本機電腦上的腳本分析器規則。 您可以依 [名稱]、[嚴重性]、[來源] 或 [SourceType] 或規則描述中的特定單字來選取規則。
使用此 Cmdlet 建立規則集合,以在執行 Invoke-ScriptAnalyzer
Cmdlet 時包含和排除。
若要取得規則的相關信息,請參閱每個規則的 Description 屬性值。
PSScriptAnalyzer 模組會測試腳本、模組或 DSC 資源中的 PowerShell 程式代碼,以判斷它是否符合最佳做法標準。
範例
範例 1 - 取得本機計算機上的所有腳本分析器規則
Get-ScriptAnalyzerRule
範例 2 - 僅取得具有錯誤嚴重性的規則
Get-ScriptAnalyzerRule -Severity Error
範例 3 - 只執行具有錯誤嚴重性之 DSC 規則
此範例只會執行 DSC 規則,並在 MyDSCModule 模組中的檔案上執行錯誤嚴重性。
$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
參數比使用其 嚴重性 參數更有效率,只有在使用所有規則來分析所有模組檔案之後才會套用。
範例 4 - 依名稱和嚴重性取得規則
此範例會取得名稱中產生錯誤或警告之 「Parameter」 或 「Alias」 的規則。 您可以使用這組規則來測試文稿或模組的參數。
$TestParameters = Get-ScriptAnalyzerRule -Severity Error, Warning -Name *Parameter*, *Alias*
範例 5 - 取得自定義規則
本範例會取得 VeryStrictRules 和 ExtremelyStrictRules 模組中的標準規則和規則。 此命令會使用 RecurseCustomRulePath 參數來取得比對路徑子目錄中定義的規則。
Get-ScriptAnalyzerRule -CustomRulePath $home\Documents\WindowsPowerShell\Modules\*StrictRules -RecurseCustomRulePath
參數
-CustomRulePath
根據預設,PSScriptAnalyzer 只會取得模組中 Microsoft.Windows.PowerShell.ScriptAnalyzer.BuiltinRules.dll
檔案中指定的標準規則。 使用此參數來取得指定路徑中的自定義腳本分析器規則和標準腳本分析器規則。
輸入包含文稿分析器規則的 .NET 元件或模組路徑。 您只能輸入一個值,但支援通配符。 若要在路徑的子目錄中取得規則,請使用 RecurseCustomRulePath 參數。
您可以使用 .NET 元件或 PowerShell 模組來建立自定義規則,例如 GitHub 存放庫中的 Community Analyzer 規則。
類型: | String[] |
別名: | CustomizedRulePath |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | True |
-Name
只取得具有指定名稱或名稱模式的規則。 支援通配符。 如果您列出多個名稱或模式,它會取得符合任何名稱模式的所有規則。
類型: | String[] |
Position: | Named |
預設值: | All rules |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | True |
-RecurseCustomRulePath
以遞歸方式搜尋 CustomRulePath 位置,以新增路徑子目錄中檔案中定義的規則。 根據預設,Get-ScriptAnalyzerRule
只會新增指定路徑中的自定義規則。
類型: | SwitchParameter |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Severity
只取得具有指定嚴重性值的規則。 有效值為:
- 資訊
- 警告
- 錯誤
類型: | String[] |
Position: | Named |
預設值: | All rules |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
輸入
None
您無法使用管線將輸入傳送至此 Cmdlet。
輸出
Microsoft.Windows.PowerShell.ScriptAnalyzer.Generic.RuleInfo
RuleInfo 對像是專為 Script Analyzer 建立的自定義物件。