【问题标题】:Setting a Environment Variables via Powershell for another User通过 Powershell 为其他用户设置环境变量
【发布时间】:2012-05-31 00:45:53
【问题描述】:

我正在尝试从管理员用户 ABC 的 powershell 设置用户 XYZ 的环境变量。我正在使用 Start-Process 启动用户 XYZ 的 powershell,但我无法捕获输出。所有这些过程都需要在 Java 中完成。

谁能帮帮我。

谢谢 阿贾克斯

【问题讨论】:

    标签: powershell environment-variables


    【解决方案1】:

    当您更改环境变量时,更改只会影响当前的 PowerShell 会话(就像您在 Windows cmd 中使用 SET 命令一样)。要使更改永久生效,您必须使用 SETX 之类的实用程序进行更改。您还必须有权更改这些值。

    【讨论】:

    • 嗨大卫,感谢您的回答。我尝试使用 SETX,但 SETX 的缺点是我们需要提供用户名和密码(纯文本格式)
    • 嗨大卫,为了让您更了解我正在尝试做的事情,如下所示。我以 User-ABC 身份登录系统,我希望将环境变量添加到同一系统上的 User-XYZ。这个过程必须是安全的,并且必须通过 Java 代码来完成。在 SetX 或 Runas 中,您需要提供纯文本密码,这样就失去了安全性。
    • 不知道图片中有java会增加什么限制,但也许你可以在这里找到适合你的东西:learningpcs.blogspot.com/2012/01/…
    • 嗨,大卫,感谢您的帮助。
    【解决方案2】:

    查看这篇 TechNet 文章:https://technet.microsoft.com/en-us/library/ff730964.aspx

    基本上,您需要在机器范围内使用 .NET 方法进行设置:

    [Environment]::SetEnvironmentVariable("TestVariable","Test Value","Machine")

    您需要重新启动 Powershell 会话才能在创建新环境变量后访问它。

    【讨论】:

    • 这篇文章绝对没用,因为没有涵盖如何为另一个用户设置环境变量的问题
    猜你喜欢
    • 2021-08-21
    • 1970-01-01
    • 2016-01-11
    • 1970-01-01
    • 2020-07-14
    • 1970-01-01
    • 2020-09-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多