PowerShell - переменные среды - различие между пользовательскими и системными переменными

2

Как я могу отображать переменные среды в PowerShell и уметь различать, какие из них являются "пользовательскими", а какие - "системными"?

mr_magoo
источник

Ответы:

3

Не профессионал PowerShell, но, в худшем случае, вы могли бы порыбачить в реестре и посмотреть, появляются ли там интересующие вас переменные. Внутри данного сеанса я не уверен, что есть какие-либо различия между пользовательскими / системными переменными, кроме места хранения реестра ...

Подходящие ключи:

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Диспетчер сеансов \ Среда
HKEY_CURRENT_USER \ Environment
Джейсон Шерман
источник
2
Правильно: в процессе нет различий. И, конечно PATHже, это комбинация системных и пользовательских настроек, так как они не установлены.
Ричард
0

Чтобы узнать в PowerShell:

Get-ItemProperty -Path 'Registry::HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment'

Get-ItemProperty -Path 'Registry::HKCU\Environment'
Paradroid
источник
0

Поскольку PowerShell имеет доступ к .NET Framework, вы можете использовать

[System.Environment] :: GetEnvironmentVariables ([System.EnvironmentVariableTarget] :: Machine ) [System.Environment] :: GetEnvironmentVariables ([System.EnvironmentVariableTarget] :: Процесс ) [System.Environment] :: GetEnvironmentVariables ([System.EnvironmentVariableTarget] :: Пользователь )

Патрик Сеймур
источник