Condividi tramite


Get-ScriptAnalyzerRule

Ottiene le regole dell'analizzatore di script nel computer locale.

Sintassi

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

Descrizione

Ottiene le regole dell'analizzatore di script nel computer locale. È possibile selezionare le regole in base a Nome, Gravità, Origine o SourceType o anche parole particolari nella descrizione della regola.

Usare questo cmdlet per creare raccolte di regole da includere ed escludere quando si esegue il cmdlet Invoke-ScriptAnalyzer.

Per ottenere informazioni sulle regole, vedere il valore della proprietà Description di ogni regola.

Il modulo PSScriptAnalyzer testa il codice di PowerShell in uno script, un modulo o una risorsa DSC per determinare se soddisfa gli standard di procedure consigliate.

Esempio

ESEMPIO 1 - Ottenere tutte le regole dell'analizzatore di script nel computer locale

Get-ScriptAnalyzerRule

ESEMPIO 2: ottiene solo le regole con la gravità dell'errore

Get-ScriptAnalyzerRule -Severity Error

ESEMPIO 3- Eseguire solo le regole DSC con gravità dell'errore

Questo esempio esegue solo le regole DSC con gravità errore nei file nel modulo MyDSCModule.

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

L'uso del parametro IncludeRule di è più efficiente rispetto all'uso del relativo parametro gravità , applicato solo dopo l'uso di tutte le regole per analizzare tutti i file di modulo.

ESEMPIO 4 - Ottenere regole in base al nome e alla gravità

In questo esempio vengono recuperate le regole con "Parameter" o "Alias" nel nome che generano un errore o un avviso. È possibile usare questo set di regole per testare i parametri dello script o del modulo.

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

ESEMPIO 5 - Ottenere regole personalizzate

Questo esempio ottiene le regole standard e le regole nei moduli VeryStrictRules e EstremamenteStrictRules. Il comando usa il parametro RecurseCustomRulePath per ottenere le regole definite nelle sottodirectory dei percorsi corrispondenti.

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

Parametri

-CustomRulePath

Per impostazione predefinita, PSScriptAnalyzer ottiene solo le regole standard specificate nel file Microsoft.Windows.PowerShell.ScriptAnalyzer.BuiltinRules.dll nel modulo. Usare questo parametro per ottenere le regole personalizzate di Script Analyzer nel percorso specificato e nelle regole standard di Script Analyzer.

Immettere il percorso di un assembly o di un modulo .NET contenente le regole dell'analizzatore di script. È possibile immettere un solo valore, ma sono supportati i caratteri jolly. Per ottenere regole nelle sottodirectory del percorso, usare il parametro RecurseCustomRulePath.

È possibile creare regole personalizzate usando un assembly .NET o un modulo di PowerShell, ad esempio Community Analyzer Rules nel repository GitHub.

Tipo:String[]
Alias:CustomizedRulePath
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:True

-Name

Ottiene solo le regole con i nomi o i modelli di nome specificati. Sono supportati caratteri jolly. Se si elencano più nomi o modelli, ottiene tutte le regole che corrispondono a uno qualsiasi dei modelli di nome.

Tipo:String[]
Posizione:Named
Valore predefinito:All rules
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:True

-RecurseCustomRulePath

Cerca il percorso CustomRulePath in modo ricorsivo per aggiungere regole definite nei file nelle sottodirectory del percorso. Per impostazione predefinita, Get-ScriptAnalyzerRule aggiunge solo le regole personalizzate nel percorso specificato.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Severity

Ottiene solo le regole con i valori di gravità specificati. I valori validi sono:

  • Informazione
  • Avvertimento
  • Errore
Tipo:String[]
Posizione:Named
Valore predefinito:All rules
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

None

Non è possibile inviare tramite pipe l'input a questo cmdlet.

Output

Microsoft.Windows.PowerShell.ScriptAnalyzer.Generic.RuleInfo

L'oggetto RuleInfo è un oggetto personalizzato creato in modo specifico per Script Analyzer.