The document describes how an organization migrated system settings management from Group Policy to Puppet. It outlines reasons for the move including consistent application on or off domain, treating infrastructure as code, and improved monitoring. It details key Group Policy components and files that store settings. The approach taken was to phase settings migration to Puppet while maintaining ability to revert to Group Policy. A WinPuppetTools module was created to automate the process, taking settings from Group Policy and outputting a Puppet manifest. The module processes various Group Policy files and settings, linking them to descriptions to create normalized data and output a formatted Puppet manifest.