Partilhar via


Get-ScriptAnalyzerRule

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

Syntax

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

Description

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

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

Para obter informações sobre as regras, veja o valor da propriedade Descrição de cada regra.

O módulo PSScriptAnalyzer testa o código do PowerShell num script, módulo ou recurso DSC para determinar se cumpre as normas de melhores práticas.

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 do DSC com a Gravidade do erro

Este exemplo executa apenas as regras DSC com a Gravidade do erro nos ficheiros 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

Utilizar o parâmetro IncludeRule de Invoke-ScriptAnalyzerRule é mais eficiente do que utilizar o respetivo parâmetro Gravidade , que é aplicado apenas depois de utilizar todas as regras para analisar todos os ficheiros do 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. Pode utilizar este 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 utiliza 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 predefinição, o PSScriptAnalyzer obtém apenas as regras padrão especificadas no Microsoft.Windows.PowerShell.ScriptAnalyzer.BuiltinRules.dll ficheiro no módulo. Utilize este parâmetro para obter as regras personalizadas do Analisador de Scripts no caminho especificado e nas regras padrão do Analisador de Scripts.

Introduza o caminho para uma assemblagem ou módulo .NET que contenha regras do Analisador de Scripts. Só pode introduzir um valor, mas são suportados carateres universais. Para obter regras em subdiretórios do caminho, utilize o parâmetro RecurseCustomRulePath .

Pode criar regras personalizadas com uma assemblagem .NET ou um módulo do PowerShell, como as Regras do Analisador da Comunidade no repositório do GitHub.

Type:String[]
Aliases:CustomizedRulePath
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Name

Obtém apenas regras com os nomes especificados ou padrões de nome. São suportados carateres universais. Se listar vários nomes ou padrões, obtém todas as regras que correspondem a qualquer um dos padrões de nome.

Type:String[]
Position:Named
Default value:All rules
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-RecurseCustomRulePath

Procura na localização CustomRulePath recursivamente para adicionar regras definidas em ficheiros em subdiretórios do caminho. Por predefinição, Get-ScriptAnalyzerRule adiciona apenas as regras personalizadas no caminho especificado.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Severity

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

  • Informações
  • Aviso
  • Erro
Type:String[]
Position:Named
Default value:All rules
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entradas

None

Não pode encaminhar 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 Scripts.