Compartilhar 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, Severidade, Origem ou SourceType ou até mesmo palavras específicas na descrição da regra.

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

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 Script no computador local

Get-ScriptAnalyzerRule

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

Get-ScriptAnalyzerRule -Severity Error

EXEMPLO 3 – Executar somente as regras de DSC com a gravidade do erro

Este exemplo executa apenas as regras de DSC com a severidade de erro 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 "Parâmetro" ou "Alias" no nome que gera um Erro ou Aviso. Você pode usar esse conjunto de regras para testar os parâmetros do 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, PSScriptAnalyzer obtém apenas as regras padrão especificadas no Microsoft.Windows.PowerShell.ScriptAnalyzer.BuiltinRules.dll arquivo no módulo. Use esse parâmetro para obter as regras personalizadas do Analisador de Script no caminho especificado e as regras padrão do Analisador de Script.

Insira o caminho para um assembly ou módulo do .NET que contém regras do Analisador de Script. 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 as Regras do Analisador de Comunidade no repositório GitHub.

Tipo:String[]
Aliases:CustomizedRulePath
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:True

-Name

Obtém apenas regras com os nomes ou padrões de nome especificados. Há suporte para caracteres curinga. 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[]
Cargo:Named
Valor padrão:All rules
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Severity

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

  • Informações do
  • Aviso
  • Erro
Tipo:String[]
Cargo:Named
Valor padrão:All rules
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

None

Você não pode canalizar a entrada para este cmdlet.

Saídas

Microsoft.Windows.PowerShell.ScriptAnalyzer.Generic.RuleInfo

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