name: Create auditpol_output.csv on: workflow_dispatch: jobs: build: strategy: matrix: os: [windows-2019, windows-2022, windows-2025] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - name: Generate csv from auditpol /list /subcategory:* /r run: | $data = auditpol /list /subcategory:* /r $output = @() $category = "" foreach ($line in $data) { if ($line -match "^Category/Subcategory") { continue } if ($line -match "^\s+(.+),\{(.+)\}$") { $subcategory = $matches[1].Trim() $guid = $matches[2].Trim() $output += [PSCustomObject]@{ Category = $category Subcategory = $subcategory GUID = $guid } } elseif ($line -match "^(.+),\{(.+)\}$") { $category = $matches[1].Trim() $guid = $matches[2].Trim() $output += [PSCustomObject]@{ Category = $category Subcategory = "" GUID = $guid } } } $output | Export-Csv -Path "config/eid_subcategory_mapping-org.csv" -NoTypeInformation -Encoding UTF8 $output | Format-Table -AutoSize - name: Configure Git run: | git config --global user.name 'github-actions[bot]' git config --global user.email 'github-actions[bot]@users.noreply.github.com' - name: Commit changes run: | git add *.csv if (git diff-index --quiet HEAD) { echo "No changes to commit" } else { git commit -m "Automated update" git push origin main }