Установка Environemnt Type в reg_expand_sz с использованием powershell
Я застрял в проблеме. Я пытаюсь установить переменные среды пользователя с помощью PowerShell:
[Environment]::SetEnvironmentVariable($key,$value,'User')
Но когда я смотрю в реестр, я вижу, что новая запись имеет тип REG_SZ
,
Я хотел бы, чтобы это было типа REG_EXPAND_SZ
,
Может кто-нибудь помочь мне с этой проблемой?
Спасибо
2 ответа
Решение
Используйте пространство имен Microsoft.Win32 для методов Реестра. Чтобы установить тип данных, используйте перечисление RegistryValueKind. Вот так,
[Microsoft.Win32.Registry]::SetValue("HKEY_CURRENT_USER\Environment","MyKey","1",[Microsoft.Win32.RegistryValueKind]::ExpandString)
Пользовательские переменные находятся в HKEY_CURRENT_USER\Environment
Системные переменные находятся в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
Set-ItemProperty HKCU:\Environment $key $value -Type ExpandString
Или в гольф
sp hkcu:environment $key $value -t e