【问题标题】:How to set user environment variables in Windows Server 2008 R2 as a normal user?普通用户如何在 Windows Server 2008 R2 中设置用户环境变量?
【发布时间】:2010-12-02 08:09:06
【问题描述】:

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

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

【问题讨论】:

  • 好线程,但我投票支持将其移至服务器故障

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


【解决方案1】:

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

sysdm.cpl

然后转到高级选项卡 -> 环境变量

【讨论】:

  • 这就是这样做的方法。男孩,在 Windows Server 2012 上,这变得异常复杂。有关如何在 Windows Server 2012 中添加环境变量的信息,请参阅 technet。它们会告诉您安装组策略管理控制台。这是不必要的。 @AlexCode 的解决方案是获得熟悉的旧对话框的正确解决方案。
  • 方便的命令,但这仍然需要提升的权限,因此不适用于普通用户。 OP自己的答案是正确的。
【解决方案2】:

好的,我找到了。 Arg,一种沮丧的练习。他们留下了旧的窗口菜单遍历路径,用于更改环境变量,但仅限于管理员访问。作为普通用户,如果你想改变它,你需要通过一组不同的选项才能到达同一个frigging窗口。

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

【讨论】:

    【解决方案3】:

    分步说明:

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

    【讨论】:

    • 我认为这不适用于发帖者的问题...请参阅关于不想以管理员身份执行此操作的内容
    • 在我的 WinSvr 2008 R2 框中,将第 2 和第 3 个项目符号替换为:单击“高级系统设置”
    【解决方案4】:

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

    【讨论】:

      【解决方案5】:

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

      SETX TEMP d:\tmp
      

      【讨论】:

      • 哇,谢谢这个命令。我现在可以将 env var 设置为非交互式用户。 +1。这对于需要运行批处理的服务帐户确实很有帮助。
      【解决方案6】:

      在命令行提示符下:

      set __COMPAT_LAYER=RUNASINVOKER
      SystemPropertiesAdvanced.exe
      

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

      【讨论】:

      • 你可以用同样的方式设置视觉效果/性能设置。 :)
      【解决方案7】:

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

      【讨论】:

        【解决方案8】:

        三种方式

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

        rundll32.exe sysdm.cpl,EditEnvironmentVariables
        

        (奖励:这适用于适用于桌面的 Windows Vista 到 Windows 10 以及 Windows Server 2008 到 Server 2016。它不适用于 Windows NT、2000、XP 和 2003。但是,在较旧的系统上,您可以使用 sysdm。 cpl 不带“,EditEnvironmentVariables”参数,然后导航到“高级”选项卡,然后导航到“环境变量”按钮。)

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

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

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

        rem Add a user environment variable named stackoverflow that's set to "test"
        setx stackoverflow test
        set st
        

        这应该显示名称以字母“st”开头的所有变量。如果没有,则显示“Environment variable st not defined”。 退出命令提示符并启动另一个。再次尝试set st 你会看到

        stackoverflow=test
        

        要删除 stackoverflow 变量,请使用

        setx stackoverflow ""
        

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

        (更正 - 我发现setx stackoverflow "" 没有删除该变量。它在注册表中是一个空字符串。SET 命令虽然将其解释为好像没有变量。if not defined stackoverflow echo Not defined 说它没有定义。 )

        【讨论】:

          猜你喜欢
          • 2017-03-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-08-20
          • 2012-05-31
          • 1970-01-01
          • 2010-10-15
          • 2018-07-06
          相关资源
          最近更新 更多