我正在通过 WMI 类探索环境变量Win32_环境根据文档,不属于特定用户的变量可以是“系统”变量或“默认用户”变量。我的问题是,它们有什么区别,我该如何使用其中一个?
探索用作工作站的 Windows 2008 机器,我发现系统变量,但没有默认用户变量。
答案1
SYSTEM 变量存储在:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
<DEFAULT> 变量存储在:
HKEY_USERS\.DEFAULT\Environment
.DEFAULT 用户是不是首次创建用户配置文件时创建的默认设置。相反,.DEFAULT 是 LocalSystem 安全上下文使用的 HKEY_CURRENT_USER 环境。
以下是 Raymond Chen 博客中的一些背景信息,可以增加我的回答的可信度: http://blogs.msdn.com/oldnewthing/archive/2007/03/02/1786493.aspx >微笑<
答案2
我不太确定这一点,但很可能系统变量将一直可用,而默认用户变量只有在用户没有覆盖它们的情况下才适用。
答案3
不太确定……我假设系统变量是系统范围的,并且只有 1 个。默认情况下,默认用户变量会为每个用户设置,但彼此独立。因此,在终端服务中,例如用户 a 可以将其 tmpdir 设置为用户 b 以外的其他值,但两者都以默认用户设置的相同值开始。