Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Уровень тяжести: Предупреждение
Описание
Это правило обнаруживает назначения автоматическим переменным и именам параметров, использующих автоматические имена переменных. PowerShell автоматически определяет переменные, хранящие внутреннюю информацию о состоянии, и управляет ими самостоятельно. Хотя вы можете переопределить многие автоматические переменные, это может привести к неожиданным последствиям для пользователей и усложнить поддержание и отладку кода.
Избегайте использования автоматических имен переменных в функциях и параметрах. Резервируйте автоматические переменные только для внутреннего использования PowerShell и полагайтесь на них только для чтения информации о состоянии.
Чтобы узнать больше, смотрите about_Automatic_Variables.
Как
Используйте имена переменных в функциях или их параметрах, которые не конфликтуют с автоматическими переменными.
Пример
Несоответствующий
Переменная $Error — это автоматическая переменная, существующая в глобальной области, поэтому никогда не должна использоваться как имя переменной или параметра.
function foo($Error){ }
function Get-CustomErrorMessage($ErrorMessage){ $Error = "Error occurred: $ErrorMessage" }
Compliant
function Get-CustomErrorMessage($ErrorMessage){ $FinalErrorMessage = "Error occurred: $ErrorMessage" }