在LocalService帐户下运行的Win服务无法访问环境variables

我正在寻找certificate或反驳我的理论。 我们有在LocalSystem帐户下运行的windows服务。 该服务调用msbuild并build立使用环境variablescsproj (Visual Studio项目)文件。 但是由于它不能识别或发现环境variables而下降。

有什么方法可以testing或确保在LocalSystem下运行的win服务可以访问环境variables吗?

如果您的环境variables正在改变,并且您正在Windows Server 2003,XP或2000中运行该服务(如LocalSystem),那么您可能会遇到需要重新启动计算机以便服务pipe理器重新读取环境。 有关更多信息,请参阅此KB文章

有一个可用于Windows Server 2003 的修补程序可解决此问题。

以SYSTEM(LocalSystem,NT_AUTHORITY \ SYSTEM)身份运行的程序将具有由HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\EnvironmentHKEY_USERS\.DEFAULT\Environment指定的variables构build的HKEY_USERS\.DEFAULT\Environment 。 确保您希望“看到”的variables在其中一个位置定义,并且可以访问。