Как я могу отображать переменные среды в PowerShell и уметь различать, какие из них являются "пользовательскими", а какие - "системными"?
3 ответа
Не профессионал PowerShell, но в худшем случае, вы могли бы порыбачить в реестре и посмотреть, появляются ли там интересующие вас переменные. Внутри данного сеанса я не совсем уверен, что есть различия между пользовательскими / системными переменными, кроме места хранения реестра ...
Соответствующие ключи:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment HKEY_CURRENT_USER\Environment
Поскольку PowerShell имеет доступ к .NET Framework, вы можете использовать
[System.Окружающая среда]::GetEnvironmentVariables([System.EnvironmentVariableTarget]::Machine)[Система.Окружающая среда]::GetEnvironmentVariables([System.EnvironmentVariableTarget]::Process)[System.Окружающая среда]::GetEnvironmentVariables([System.EnvironmentVariableTarget]::Пользователь)
Чтобы узнать в PowerShell:
Get-ItemProperty -Path 'Registry::HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment'
Get-ItemProperty -Path 'Registry::HKCU\Environment'