HKCU \ Volatile Environmentregistry项中环境variables的行为

我有一个.bat脚本,在login时为每个用户运行(复制Oracle Javaexception站点)。 它将一个文件复制到:

%userprofile%\appdata\LocalLow\Sun\Java\Deployment\security\exception.sites 

不幸的是,它工作得太好了。 有时它会尝试以LocalSystem或其他系统帐户运行。

好的,所以让我们只在域用户login时才运行它。我在复制文件之前search了进行条件检查的方法,但是我发现有人暗示为系统帐户设置了%userdomain%。 据我所知,这意味着当S-1-5-18(本地系统),S-1-5-19(本地服务)和S-1-5-20(networking服务)等SID正在运行时,它们变成因此HKCU可能会(?)获取您在HKCU \ Volatile Environmentregistry项中看到的所有variables,即环境variables,如

 APPDATA HOMEDRIVE HOMEPATH LOCALAPPDATA LOGONSERVER USERDNSDOMAIN USERDOMAIN USERNAME USERPROFILE 

这意味着检查%USERDOMAIN%将毫无意义,因为系统帐户也会inheritance这些值。 但是,我还没有find任何官方文档(MSDN或其他),确认系统帐户是否会inheritance一个“正常”的帐户将inheritance的一些或所有的东西。

所以现在我有了原来的问题,但是对于“易爆环境”还是很好奇,是否真的可以用来解决问题。

  1. 是否有明显的方法来检查我忽略的真正的域用户? 包括真实(用户)本地帐户也可以,但不是必需的。
  2. 系统帐户是否实际上inheritance了我将在其他用户的“易失性环境”中看到的所有variables?
  3. 奖金问题:从哪里产生易失性环境variables?