如何在MS Windows中更改“本地系统”帐户的%PATH%值?

13

我在MS Windows中为“本地系统”帐户设置%PATH%变量时遇到了困难。

我已将一些路径添加到%PATH%变量中。这个新的路径(包括在此路径中的工具)可以正常运行。 可以使用CMD运行该路径下的工具而没有问题。 但是,当同一个工具作为服务从ms windows services.msc运行时,它会显示找不到该工具。因此,由于某种原因,“本地系统”帐户的%PATH%变量没有被更新。

我发现可以通过以下方式访问此帐户的CMD:

psexec -i -s cmd.exe

我发现CMD以这种方式运行,并且PATH变量没有所需的工具路径。但我无法编辑它;我使用setsetx,但在“本地系统”帐户中%PATH%中仍然没有看到任何更改。

1个回答

18

我想在MS Windows中为“本地系统”账户设置%PATH%变量。

您需要重新启动Windows。


更改环境变量不会影响在“本地系统”账户下运行的服务,直到您重启Windows。

如果您更新了环境变量或添加了新的环境变量,则必须在更改生效前重新启动计算机,以影响在“本地系统”账户下运行的服务。

这种行为发生是因为在“本地系统”账户下运行的服务从Services.exe进程继承其环境。当Windows启动时,Services.exe进程接收“本地系统”账户的环境设置。由于Services.exe进程不使用Windows Messaging,在Windows启动后接收到指示值已更改的消息时,Services.exe进程不会更新其环境设置。您无法强制正在运行的服务承认“本地系统”账户环境的动态更改。

来源 更改环境变量不会影响在“本地系统”账户下运行的服务,直到您重启Windows


谢谢,那真的很难搞清楚。 - Kellen Stuart

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接