5

У меня есть переменная окружения, установленная через «свойства системы -> расширенные -> переменные среды». Я изменил значение переменной. В cmd я вижу новое значение. В PowerShell это значение остается прежним. Попытка установить его с помощью [Environment]::SetEnvironmentVariable не имеет никакого эффекта.

2 ответа2

4

PowerShell будет кешировать свою информацию. Используйте метод Refresh, чтобы решить вашу проблему. Я нашел это и в области SQL.

0

Вы запустили новый экземпляр PowerShell?

Каждый процесс получает свой собственный блок среды при запуске. Обычно он получает копию блока среды родительского процесса, но CreateProcess также может принимать пользовательский.

Это означает, что изменения в системной среде не влияют на запущенные процессы. Так что вам нужно начать новый.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .