Partager via


Get-ScriptAnalyzerRule

Obtient les règles d’analyseur de script sur l’ordinateur local.

Syntaxe

Default (Par défaut)

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

Description

Obtient les règles d’analyseur de script sur l’ordinateur local. Vous pouvez sélectionner des règles par nom, gravité, source ou SourceType, ou même des mots particuliers dans la description de la règle.

Utilisez cette applet de commande pour créer des collections de règles à inclure et exclure lors de l’exécution de l’applet de commande Invoke-ScriptAnalyzer.

Pour obtenir des informations sur les règles, consultez la valeur de la propriété Description de chaque règle.

Le module PSScriptAnalyzer teste le code PowerShell dans un script, un module ou une ressource DSC pour déterminer s’il respecte les normes recommandées.

Exemples

EXEMPLE 1 - Obtenir toutes les règles de l’analyseur de script sur l’ordinateur local

Get-ScriptAnalyzerRule

EXEMPLE 2 - Obtient uniquement les règles avec la gravité de l’erreur

Get-ScriptAnalyzerRule -Severity Error

EXEMPLE 3 - Exécuter uniquement les règles DSC avec la gravité de l’erreur

Cet exemple exécute uniquement les règles DSC avec la gravité d’erreur sur les fichiers du module 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’utilisation du paramètre IncludeRule de Invoke-ScriptAnalyzerRule est plus efficace que d’utiliser son paramètre Gravité, qui est appliqué uniquement après l’utilisation de toutes les règles pour analyser tous les fichiers de module.

EXEMPLE 4 - Obtenir des règles par nom et gravité

Cet exemple obtient des règles avec « Paramètre » ou « Alias » dans le nom qui génère une erreur ou un avertissement. Vous pouvez utiliser cet ensemble de règles pour tester les paramètres de votre script ou module.

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

EXEMPLE 5 - Obtenir des règles personnalisées

Cet exemple obtient les règles standard et les règles des modules VeryStrictRules et ExtremelyStrictRules modules. La commande utilise le paramètre RecurseCustomRulePath pour obtenir des règles définies dans les sous-répertoires des chemins correspondants.

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

Paramètres

-CustomRulePath

Par défaut, PSScriptAnalyzer obtient uniquement les règles standard spécifiées dans le fichier Microsoft.Windows.PowerShell.ScriptAnalyzer.BuiltinRules.dll dans le module. Utilisez ce paramètre pour obtenir les règles d’analyseur de script personnalisées dans le chemin d’accès spécifié et les règles d’analyseur de script standard.

Entrez le chemin d’accès à un assembly ou module .NET qui contient des règles d’analyseur de script. Vous ne pouvez entrer qu’une seule valeur, mais les caractères génériques sont pris en charge. Pour obtenir des règles dans les sous-répertoires du chemin d’accès, utilisez le paramètre RecurseCustomRulePath.

Vous pouvez créer des règles personnalisées à l’aide d’un assembly .NET ou d’un module PowerShell, comme les règles Community Analyzer dans le référentiel GitHub.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:True
DontShow:False
Alias:CustomizedRulePath

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Name

Obtient uniquement des règles avec les noms ou modèles de noms spécifiés. Les caractères génériques sont pris en charge. Si vous répertoriez plusieurs noms ou modèles, il obtient toutes les règles qui correspondent à l’un des modèles de nom.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:All rules
Prend en charge les caractères génériques:True
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-RecurseCustomRulePath

Recherche l’emplacement de CustomRulePath de manière récursive pour ajouter des règles définies dans les fichiers dans les sous-répertoires du chemin d’accès. Par défaut, Get-ScriptAnalyzerRule ajoute uniquement les règles personnalisées dans le chemin spécifié.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Severity

Obtient uniquement des règles avec les valeurs de gravité spécifiées. Les valeurs valides sont les suivantes :

  • Informations
  • Avertissement
  • Erreur

Propriétés du paramètre

Type:

String[]

Valeur par défaut:All rules
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.

Entrées

None

Vous ne pouvez pas diriger l’entrée vers cette applet de commande.

Sorties

Microsoft.Windows.PowerShell.ScriptAnalyzer.Generic.RuleInfo

L’objet RuleInfo est un objet personnalisé créé spécifiquement pour Script Analyzer.