在实现 CleanupProfiles 注册表设置时,Windows 使用什么来确定配置文件的使用时间?

在实现 CleanupProfiles 注册表设置时,Windows 使用什么来确定配置文件的使用时间?

Windows 注册表设置如何HKLM\Software\Policies\Microsoft\Windows\System!CleanupProfiles确定 Windows 10 上配置文件的年龄?

我试图了解该设置,该设置引用自以下网站和 XML 文件:

https://admx.help/?Category=Windows_10_2016&Policy=Microsoft.Policies.UserProfiles::CleanupProfiles

<Computer>
    <VersionDirectory>1</VersionDirectory>
    <VersionSysvol>1</VersionSysvol>
    <Enabled>true</Enabled>
    <ExtensionData>
        <Extension xmlns:q1="http://www.microsoft.com/GroupPolicy/Settings/Registry" xsi:type="q1:RegistrySettings">
          <q1:Policy>
            <q1:Name>Delete user profiles older than a specified number of days on system restart</q1:Name>
            <q1:State>Enabled</q1:State>
            <q1:Explain>This policy setting allows an administrator to automatically delete user profiles on system 
            restart that have not been used within a specified number of days. Note: One day is interpreted as 24
            hours after a specific user profile was accessed. If you enable this policy setting, the User Profile
            Service will automatically delete on the next system restart all user profiles on the computer that have 
            not been used within the specified number of days. If you disable or do not configure this policy
            setting, User Profile Service will not automatically delete any profiles on the next system restart.
            </q1:Explain>
            <q1:Supported>At least Windows Vista</q1:Supported>
            <q1:Category>System/User Profiles</q1:Category>
            <q1:Numeric>
                <q1:Name>Delete user profiles older than (days)</q1:Name>
                <q1:State>Enabled</q1:State>
                <q1:Value>45</q1:Value>
            </q1:Numeric>
          </q1:Policy>
        </Extension>
        <Name>Registry</Name>
     </ExtensionData>
</Computer>

我自己检查了这个文件和其余部分。我还将代码输入 ChatGPT,询问“q1:值”最终会发生什么。但我无法找出该值发生了什么。

我在本用户指南上看到https://woshub.com/delete-old-user-profiles-gpo-powershell/作者说该策略通过检查 RegistryEditor 中的两个条目来确定用户配置文件的使用期限。这两个条目分别是“LocalProfileLoadTimeHigh”和“LocalProfileLoadTimeLow”。但指南中的作者从未说明他们是如何知道这一点的,因此我无法确认这是否属实。

然而,当我在 Google 上搜索如何将该策略应用于 Intune 时,在我研究它如何工作之前,这个 Reddit 线程上的许多用户:https://www.reddit.com/r/sysadmin/comments/xqi6n6/does_the_gpo_delete_user_profiles_older_than_a/声称该策略在 Windows 8 及更高版本中不再有效。据 Reddit 用户称,这是因为无论用户是否登录计算机上的帐户,它都会检查由 Windows 更新的文件。

在阅读了这两页之后,我现在很矛盾该策略是否可以在 Windows 10 或 11 上正常运行。

我使用 Google 搜索了 GPO 如何与 RegistryEditor 交互,以找出该策略为自己检查的内容,以及以下链接:https://theitbros.com/add-modify-and-delete-registry-keys-using-group-policy/确实以一种有用的方式描述了它。我了解到该策略可以在注册表上给出一个“操作”,因此 CleanupProfiles 可能在注册表中的某个位置“更新”或“替换”,在我的情况下使用值 45。当达到 45 的阈值时,RegistryEditor 是否会在后台执行某些操作?我会尝试使用 Process Monitor 来查看这一点,但我不太确定如何测试它,因为我使用的机器上没有任何有效的旧配置文件。

请您能否指出正确的方向,以找出 CleanupProfiles 检查的内容?

感谢您的考虑。

答案1

用户配置文件服务会跟踪配置文件的创建时间。Windows 用户配置文件服务会通过使用注册表跟踪用户配置文件的创建时间。每个用户配置文件都有一个关联的注册表项,通常位于 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList 注册表配置单元中。在此注册表项中,每个用户配置文件都有一个子项,由唯一的安全标识符 (SID) 标识。

相关内容