다음을 통해 공유


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 규칙만 실행

이 예제에서는 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 매개 변수를 사용하는 것이 모든 규칙을 사용하여 모든 모듈 파일을 분석한 후에만 적용되는 심각도 매개 변수를 사용하는 것보다 더 효율적입니다.

예제 4 - 이름 및 심각도별 규칙 가져오기

이 예제에서는 오류 또는 경고를 생성하는 이름에 "매개 변수" 또는 "별칭"이 있는 규칙을 가져옵니다. 이 규칙 집합을 사용하여 스크립트 또는 모듈의 매개 변수를 테스트할 수 있습니다.

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

예제 5 - 사용자 지정 규칙 가져오기

이 예제에서는 VeryStrictRulesExtremelyStrictRules 모듈의 표준 규칙 및 규칙을 가져옵니다. 이 명령은 RecurseCustomRulePath 매개 변수를 사용하여 일치하는 경로의 하위 디렉터리에 정의된 규칙을 가져옵니다.

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

매개 변수

-CustomRulePath

기본적으로 PSScriptAnalyzer는 모듈의 Microsoft.Windows.PowerShell.ScriptAnalyzer.BuiltinRules.dll 파일에 지정된 표준 규칙만 가져옵니다. 이 매개 변수를 사용하여 지정된 경로 및 표준 스크립트 분석기 규칙에서 사용자 지정 스크립트 분석기 규칙을 가져옵니다.

스크립트 분석기 규칙이 포함된 .NET 어셈블리 또는 모듈의 경로를 입력합니다. 값을 하나만 입력할 수 있지만 와일드카드가 지원됩니다. 경로의 하위 디렉터리에서 규칙을 얻으려면 RecurseCustomRulePath 매개 변수를 사용합니다.

GitHub 리포지토리의 커뮤니티 분석기 규칙 같은 .NET 어셈블리 또는 PowerShell 모듈을 사용하여 사용자 지정 규칙을 만들 수 있습니다.

형식:String[]
별칭:CustomizedRulePath
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:True

-Name

지정된 이름 또는 이름 패턴이 있는 규칙만 가져옵니다. 와일드카드가 지원됩니다. 여러 이름 또는 패턴을 나열하는 경우 이름 패턴과 일치하는 모든 규칙을 가져옵니다.

형식:String[]
Position:Named
Default value:All rules
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:True

-RecurseCustomRulePath

CustomRulePath 위치를 재귀적으로 검색하여 경로의 하위 디렉터리에 있는 파일에 정의된 규칙을 추가합니다. 기본적으로 Get-ScriptAnalyzerRule 지정된 경로에 사용자 지정 규칙만 추가합니다.

형식:SwitchParameter
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Severity

지정된 심각도 값을 가진 규칙만 가져옵니다. 유효한 값은 다음과 같습니다.

  • 정보
  • 경고
  • 오류
형식:String[]
Position:Named
Default value:All rules
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

입력

None

이 cmdlet에 입력을 파이프할 수 없습니다.

출력

Microsoft.Windows.PowerShell.ScriptAnalyzer.Generic.RuleInfo

RuleInfo 개체는 Script Analyzer용으로 특별히 만들어진 사용자 지정 개체입니다.