Compartilhar via


AvoidAssignmentToAutomaticVariable

Nível de gravidade: Aviso

Descrição

O PowerShell tem variáveis internas conhecidas como variáveis automáticas. Muitos deles são somente leitura e o PowerShell gera um erro ao tentar atribuir um valor a eles. Outras variáveis automáticas só devem ser atribuídas em determinados casos especiais para obter um determinado efeito como uma técnica especial.

Para entender mais sobre variáveis automáticas, consulte Get-Help about_Automatic_Variables.

Como

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

Exemplo

Errado

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

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

Correto

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