Переменные среды в PowerShell с точкой (.) В имени
Я знаю, что могу получить доступ к переменным среды в PowerShell, используя $Env
. Например, я могу получить доступ к FOO
с помощью $Env:FOO
.
Я не могу понять, как получить доступ к переменной среды с именем FOO.BAR
.
$Env:FOO.BAR
не работает. Как я могу получить доступ к этому из PowerShell?
Ответы
Ответ 1
Чтобы получить доступ к любому виду переменной PowerShell, где имя содержит не алфавитно-цифровые символы, используйте обозначение $ {…}, как в:
${env:variable.with.dots} = "Hi there"
${env:variable.with.dots}
Это работает для переменных на любом диске (реестр, файловая система и т.д.)
Ответ 2
Используйте метод .NET, чтобы получить переменную:
[Environment]::GetEnvironmentVariable("FOO.BAR")
Ответ 3
Использование:
Get-WMIObject Win32_Environment -filter "name='foo.bar'"