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
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 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.