我正在努力在MS Windows中设置%PATH%
变量用于"本地系统"帐户。
我在%PATH%
变量中添加了一些路径。而这条新路径(包括这条路径中的工具)工作正常。
可以使用CMD运行该路径中的工具而不会出现任何问题。
但是,一旦从ms windows services.msc
作为服务运行相同的工具,它就会说没有这样的工具。因此,出于某种原因,%PATH%
变量未更新为"本地系统"帐户。
我发现可以通过以下方式访问此帐户CMD:
psexec -i -s cmd.exe
事实上,我发现CMD以这种方式运行,而PATH变量并不需要工具路径。但是我无法编辑它;我使用的是set
或setx
,但仍然没有在%PATH%
来自"本地系统"帐户。
答案 0 :(得分:11)
您需要重新启动Windows。
如果更新环境变量或添加新的环境变量,则必须重新启动计算机,然后才能对所做的更改影响在本地系统帐户下运行的服务。
出现此问题的原因是在本地系统帐户下运行的服务从Services.exe进程继承其环境。当Windows启动时,Services.exe进程接收本地系统帐户的环境设置。由于Services.exe进程不使用Windows Messaging,因此当它在Windows启动后收到指示值已更改的消息时,Services.exe进程不会更新其环境设置。您无法强制运行的服务确认对本地系统帐户的环境进行动态更改。