如何在普通用户的Windows Server 2008 R2中设置用户环境变量?

时间:2009-09-29 13:59:11

标签: windows windows-server-2008 environment-variables

在旧版本的Windows中,只需打开“控制面板”,选择“系统”小程序,选择“高级”选项卡,然后单击“环境变量”按钮。作为普通用户,您可以编辑“用户变量”,但不能编辑“系统变量”。

在Windows Server 2008 R2中,如果我尝试单击“系统”小程序中的“高级系统设置”选项,则会提示输入管理员密码。

8 个答案:

答案 0 :(得分:81)

您也可以使用此直接命令行打开高级系统属性:

sysdm.cpl

然后转到“高级”标签 - >环境变量

答案 1 :(得分:64)

好的,我找到了。 Arg,一种沮丧的运动。他们离开旧窗口菜单遍历路径以更改那里的环境变量,但仅限访问管理员。作为普通用户,如果要更改它,则需要通过一组不同的选项才能到达相同的游戏窗口。

控制面板 - > 用户帐户 - > 用户帐户 - > 更改我的环境变量。

答案 2 :(得分:21)

分步说明:

  • 转到“控制面板\系统和安全\系统
  • 点击更改设置
  • 转到“高级”标签
  • 点击环境变量

答案 3 :(得分:5)

在“开始”下,在搜索字段中输入“environment”。这将列出直接在开始菜单中更改系统变量的选项。

答案 4 :(得分:3)

可以使用SETX命令从命令行完成此操作。例如,将临时文件“移动”到另一个磁盘:

SETX TEMP d:\tmp

答案 5 :(得分:2)

在命令行提示符下:

set __COMPAT_LAYER=RUNASINVOKER
SystemPropertiesAdvanced.exe

现在您可以设置用户环境变量。

答案 6 :(得分:2)

我在桌面上创建了一个godmode文件夹。只需在桌面上创建一个新文件夹并将其命名为GodMode。{ED7BA470-8E54-465E-825C-99712043E01C} 它会将文件夹命名为godmode并使用各种配置选项填充内容,然后您可以在搜索中键入ENVIRO以查找相关的配置选项,打开它并在高级选项卡中打开sysdm.cpl,您可以更改来自那里的环境变量。

答案 7 :(得分:0)

有三种方法

1)这将为用户环境变量运行GUI编辑器。它完全符合OP的要求,并且不会提示您提供管理凭据。

<head>
<script type="text/javascript" src="file:///android_asset/swf2js.js"></script>
</head>

<body>

ADROID TEST: Displaying SWF with JavaScript and HTML5 Canvas... <br><br>

<div id="myFlashDiv" style="width:800px; height:800px;"></div>

<script type="text/javascript">

var mySWF = swf2js;
mySWF.load('file:///android_asset/airplane.swf', {"tagId": "myFlashDiv"});

</script>

</body>

(奖金:此功能适用于Windows Vista至Windows 10(适用于台式机)和Windows Server 2008至Server2016。它不适用于Windows NT,2000,XP和2003。但是,在较旧的系统上,可以使用sysdm。 cpl(不带“,EditEnvironmentVariables”参数),然后导航到“高级”选项卡,再到“环境变量”按钮。)

2)在命令提示符下使用SETX命令。这类似于set命令,但是会更新存储在注册表中的环境。不幸的是,SETX不如内置的SET命令那么容易使用。例如,无法列出变量。因此,不可能执行诸如将文件夹附加到用户的PATH变量之类的操作。尽管SET将显示变量,但您不知道哪些是用户变量还是系统变量,并且显示的PATH是两者的组合。

3)使用regedit并导航到HKEY_CURRENT_USER \ Environment

请记住,对用户环境的更改不会立即传播到该用户当前正在运行的所有进程。您可以在命令提示符下看到此信息,如果使用SET,则您的更改将不可见。例如

rundll32.exe sysdm.cpl,EditEnvironmentVariables

这应该显示所有名称以字母“ st”开头的变量。如果没有,则显示“ rem Add a user environment variable named stackoverflow that's set to "test" setx stackoverflow test set st ”。 退出命令提示符并启动另一个。再试Environment variable st not defined 然后你会看到

set st

要删除stackoverflow变量,请使用

stackoverflow=test

它将以“ setx stackoverflow "" ”响应,如果您要删除变量,它看起来很奇怪。但是,如果您启动新的命令提示符,那么SUCCESS: Specified value was saved.将显示没有以字母“ st”开头的变量

(更正-我发现set st并未删除变量。它在注册表中为空字符串。setx stackoverflow ""命令虽然将其解释为没有变量。{{1} }表示未定义。)