Windows can't just rely on delete-value commands in Disabled policies because changing a set policy to Not Configured needs to remove the values too. To figure out how Windows knew to keep around manually-entered values, I used Process Monitor. Evidently, the Group Policy updating service compiles all applicable GPOs into one POL file called ntuser.pol. That file is stored in \ProgramData for the machine settings and in \ProgramData\Micorosft\GroupPolicy\Users\[SID] (*) for user settings. Whenever Group Policy is updated, the service compares the new settings against that file, then removes all Registry items that were set by policy but don't appear in the new version. Once the new settings are written, it rewrites ntuser.pol.
*This was updated in 2025 for Windows 11. When this post was originally written, the file was in the root of each user's profile folder.
No comments:
Post a Comment