Войти

Показать полную графическую версию : [решено] Установка переменных окружения для простого пользователя


ru-vadik
24-09-2010, 23:09
Приветствую.

Столкнулся с такой особенностью: работаю из-под простого пользователя при включенном UAC. Понадобилось, только для этого пользователя, изменить %PATH% и установить %JAVA_HOME%.
Иду в "Свойства компьютера" -> "Дополнительные параметры системы" (тут срабатывает UAC) -> "Дополнительно" -> "Переменные среды" и вижу следующие оконце -

http://img213.imageshack.us/img213/9558/12063873.png

То есть, при срабатывании UAC, текущий пользователь был подменен на административный. Можно как-то обойти эту особенность NT 6.1?

Vadikan
24-09-2010, 23:19
ru-vadik, здесь попробуйте HKEY_CURRENT_USER\Environment

ru-vadik
24-09-2010, 23:36
Ну, этот способ я знаю :) . А по другому никак?

Vadikan
24-09-2010, 23:42
ru-vadik, объясните, чем вас не устраивает этот и все остальные известные вам способы :)

ru-vadik
25-09-2010, 13:15
Тем, что придется запускать regedit. Через интерфейс это сделать никак нельзя?

Vadikan
25-09-2010, 14:05
Тем, что придется запускать regedit. »
Это не слишком конкретное объяснение, но вытаскивать из вас клещами подробности я не буду, равно как и предлагать альтернативы, не зная вашей конечной цели и всех условий задачи.
Через интерфейс это сделать никак нельзя? »
Как я понял, вы хотите сделать так и только так, но чтобы имя пользователя в диалоге не изменялось и настройки применялись к нему. Боюсь, что это невозможно, т.к. со времен Vista поведение системы в этом аспекте не изменилось, а другого способа в панели управления не предусмотрено.

Petya V4sechkin
25-09-2010, 14:31
Change environment variables as standard user (Windows 7) (http://superuser.com/questions/25037/change-environment-variables-as-standard-user-windows-7)

Vadikan
25-09-2010, 19:02
Petya V4sechkin, спасибо, rundll32 sysdm.cpl,EditEnvironmentVariablesработает в этом случае.

ru-vadik
25-09-2010, 19:14
Спасибо.

Petya V4sechkin
25-09-2010, 19:40
Vadikan, оно и в панели управления есть -> Учетные записи пользователей (http://www.oszone.net/figs/u/72715/091029072955/ua-01.jpg) -> Изменение переменных среды (слева внизу).

Vadikan
25-09-2010, 22:28
Petya V4sechkin, верно, я не обращал на это внимания.

Но вот я только что еще раз перечитал первый пост, а в нем говорится Понадобилось, только для этого пользователя, изменить %PATH% и установить %JAVA_HOME%. »
Т.е. правильный ответ на этот вопрос - пользователь с обычными правами не может изменить переменную PATH, потому что она системная. Если же повышать права, как делает автор темы, то без разницы, какая учетная запись указана в диалоге, т.к. это относится только к пользовательским переменным. В свою очередь, открытие диалога под ограниченным пользователем (без повышения) позволяет изменять/создавать лишь пользовательские переменные.

Что же касается создания пользовательских переменных с ограниченными правами, то при наличии пользовательской и системной переменной с одинаковым названием, будет преобладать пользовательская. Другими словами, если создать пользовательскую переменную windir и задать ей значение C:\, то путь %windir%\%username% будет вести в профиль.

Dzirt2005
26-09-2010, 12:53
Т.е. правильный ответ на этот вопрос - пользователь с обычными правами не может изменить переменную PATH, потому что она системная. »
А изменять системную переменную PATH и не нужно - нужно создать/изменять пользовательскую переменную PATH. Значение пользовательской переменной PATH дописывается к системной, а не перетирает ее. Такими же свойствами обладают и переменные LibPath и Os2LibPath (ссылка по теме, раздел "Построение пути" (http://support.microsoft.com/kb/100843) почти в самом конце). Пользовательская переменная JAVA_HOME просто заменить системную, если системная определена, только для текущего пользователя.

Vadikan
26-09-2010, 13:00
Dzirt2005, спасибо за дополнение.




© OSzone.net 2001-2012