Поделиться через


AvoidAssignmentToAutomaticVariable

Уровень серьезности: предупреждение

Описание

В PowerShell есть встроенные переменные, известные как автоматические переменные. Многие из них доступны только для чтения, и PowerShell выдает ошибку при попытке назначить им значение. Другие автоматические переменные следует назначать только в некоторых особых случаях для достижения определенного эффекта в качестве специального метода.

Дополнительные сведения об автоматических переменных см. в статье Get-Help about_Automatic_Variables.

Как

Используйте имена переменных в функциях или их параметрах, которые не конфликтуют с автоматическими переменными.

Пример

Неправильно

Переменная $Error — это автоматические переменные, которые существуют в глобальной области и поэтому никогда не должны использоваться в качестве имени переменной или параметра.

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

Правильно

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