Partilhar via


Get-ScriptAnalyzerRule

Obtém as regras do analisador de script no computador local.

Sintaxe

Get-ScriptAnalyzerRule
   [[-Name] <string[]>]
   [-CustomRulePath <string[]>]
   [-RecurseCustomRulePath]
   [-Severity <string[]>]
   [<CommonParameters>]

Description

Obtém as regras do analisador de script no computador local. Você pode selecionar regras por Nome, Gravidade, Origem ou SourceType ou até mesmo palavras específicas na descrição da regra.

Use este cmdlet para criar coleções de regras para incluir e excluir ao executar o cmdlet Invoke-ScriptAnalyzer.

Para obter informações sobre as regras, consulte o valor da propriedade Description de cada regra.

O módulo PSScriptAnalyzer testa o código do PowerShell em um script, módulo ou recurso DSC para determinar se ele atende aos padrões de práticas recomendadas.

Exemplos

EXEMPLO 1 - Obter todas as regras do Analisador de Scripts no computador local

Get-ScriptAnalyzerRule

EXEMPLO 2 - Obtém apenas regras com a gravidade do erro

Get-ScriptAnalyzerRule -Severity Error

EXEMPLO 3 - Execute apenas as regras DSC com a gravidade do erro

Este exemplo executa apenas as regras DSC com a gravidade Error nos arquivos no módulo MyDSCModule .

$DSCError = Get-ScriptAnalyzerRule -Severity Error | Where-Object SourceName -eq PSDSC
$Path = "$home\Documents\WindowsPowerShell\Modules\MyDSCModule\*"
Invoke-ScriptAnalyzerRule -Path $Path -IncludeRule $DSCError -Recurse

Usar o parâmetro IncludeRule de Invoke-ScriptAnalyzerRule é mais eficiente do que usar seu parâmetro Severity, que é aplicado somente depois de usar todas as regras para analisar todos os arquivos de módulo.

EXEMPLO 4 - Obter regras por nome e gravidade

Este exemplo obtém regras com "Parameter" ou "Alias" no nome que geram um Error ou Warning. Você pode usar esse conjunto de regras para testar os parâmetros do seu script ou módulo.

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

EXEMPLO 5 - Obter regras personalizadas

Este exemplo obtém as regras padrão e as regras nos módulos VeryStrictRules e ExtremelyStrictRules. O comando usa o parâmetro RecurseCustomRulePath para obter regras definidas em subdiretórios dos caminhos correspondentes.

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

Parâmetros

-CustomRulePath

Por padrão, o PSScriptAnalyzer obtém apenas as regras padrão especificadas no arquivo Microsoft.Windows.PowerShell.ScriptAnalyzer.BuiltinRules.dll no módulo. Use esse parâmetro para obter as regras personalizadas do Analisador de Scripts no caminho especificado e as regras padrão do Analisador de Scripts.

Insira o caminho para um assembly ou módulo .NET que contenha regras do Analisador de Scripts. Você pode inserir apenas um valor, mas há suporte para curingas. Para obter regras em subdiretórios do caminho, use o parâmetro RecurseCustomRulePath.

Você pode criar regras personalizadas usando um assembly .NET ou um módulo do PowerShell, como o Community Analyzer Rules no repositório GitHub.

Tipo:String[]
Aliases:CustomizedRulePath
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:True

-Name

Obtém apenas regras com os nomes ou padrões de nome especificados. Curingas são suportados. Se você listar vários nomes ou padrões, ele obterá todas as regras que correspondem a qualquer um dos padrões de nome.

Tipo:String[]
Position:Named
Default value:All rules
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:True

-RecurseCustomRulePath

Pesquisa o local CustomRulePath recursivamente para adicionar regras definidas em arquivos em subdiretórios do caminho. Por padrão, Get-ScriptAnalyzerRule adiciona apenas as regras personalizadas no caminho especificado.

Tipo:SwitchParameter
Position:Named
Default value:False
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-Severity

Obtém apenas regras com os valores de gravidade especificados. Os valores válidos são:

  • Informação
  • Advertência
  • Erro
Tipo:String[]
Position:Named
Default value:All rules
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

Entradas

None

Não é possível canalizar a entrada para este cmdlet.

Saídas

Microsoft.Windows.PowerShell.ScriptAnalyzer.Generic.RuleInfo

O objeto RuleInfo é um objeto personalizado criado especificamente para o Script Analyzer.