AvoidAssignmentToAutomaticVariable

Nível de gravidade: aviso

Descrição

Essa regra detecta atribuições a variáveis automáticas e nomes de parâmetros que usam nomes automáticos de variáveis. O PowerShell define automaticamente variáveis que armazenam informações internas de estado e as gerencia por conta própria. Mesmo que você possa sobrescrever muitas variáveis automáticas, isso pode ter efeitos inesperados para os usuários e tornar seu código mais difícil de manter e depurar.

Evite usar nomes automáticos de variáveis nas suas funções e parâmetros. Reserve as variáveis automáticas apenas para uso interno do PowerShell e confie nelas apenas para ler informações de estado.

Para saber mais, veja about_Automatic_Variables.

Como

Use nomes de variáveis em funções ou seus parâmetros que não conflituem com variáveis automáticas.

Example

Não Conforme

A variável $Error é uma variável automática que existe no escopo global e, portanto, nunca deve ser usada como nome de variável ou parâmetro.

function foo($Error){ }
function Get-CustomErrorMessage($ErrorMessage){ $Error = "Error occurred: $ErrorMessage" }

Em conformidade

function Get-CustomErrorMessage($ErrorMessage){ $FinalErrorMessage = "Error occurred: $ErrorMessage" }