Welcome! This is the official source repository for www.grouppolicy.biz, a comprehensive archive of Windows Group Policy knowledge spanning from 2009 to 2026.
For over 15 years, GroupPolicy.biz has been a trusted resource for Windows system administrators, providing:
- 424+ technical articles covering Group Policy fundamentals, advanced configurations, and troubleshooting
- In-depth tutorials on Active Directory integration, security filtering, WMI filtering, and more
- Best practice guides for GPO design, deployment, and management
- Historical documentation tracking the evolution of Group Policy from Windows Server 2008 to modern Windows
This repository contains all the source Markdown files, scripts, and assets that power the live site. By open sourcing this content, we're preserving years of community knowledge and making it accessible for future generations of IT professionals.
- Content: 424 blog posts converted from WordPress to Markdown
- Timeframe: July 2009 - January 2026
- Topics: Group Policy, Active Directory, Windows Server, Security, AGPM, PowerShell
- Images: 16+ years of screenshots, diagrams, and examples
- Format: Clean, searchable Markdown with proper formatting
We welcome contributions from the community! Here's how you can help:
- Fix errors: Found a typo or technical error? Submit a PR
- Update content: Have updated information for older posts? Let us know
- Add modern context: Many posts reference older Windows versions - add notes about current equivalents
- Improve formatting: Help make content more readable
- Share knowledge: Found this helpful? Star the repo and share with others
- Fork this repository
- Edit Markdown files in
content/posts/ - Submit a Pull Request with your changes
- Automated build will generate the updated static site
Each post is a Markdown file with front matter:
---
title: "Your Post Title"
date: 2019-07-25 10:30:00
author: admin
categories: ["News", "Tip"]
tags: ["Windows 10", "Group Policy", "Edge"]
featured_image: "/uploads/2019/07/image.png"
---
Your content here in Markdown format...Files should be named: YYYY-MM-DD-post-slug.md
Example: 2019-07-25-edge-chromium-ie-mode-now-works.md
- Python 3.11+
- pip packages:
beautifulsoup4,lxml,html2text,requests,markdown,pyyaml
# Install dependencies
pip install beautifulsoup4 lxml html2text requests markdown pyyaml
# Generate site from Markdown files
python scripts/generate_from_markdown.py \
--content content/posts \
--output _site \
--per-page 12
# Serve locally (requires Python 3)
python -m http.server 8000 --directory _siteThen open http://localhost:8000 in your browser.
├── .github/
│ └── workflows/
│ └── build-deploy.yml # GitHub Actions workflow
├── content/
│ └── posts/ # Markdown source files (424 posts)
│ ├── 2019-07-25-post-1.md
│ ├── 2019-06-20-post-2.md
│ └── ...
├── static/ # Static assets
│ ├── styles.css # Site stylesheet
│ ├── search.js # Client-side search
│ └── about.html # About page content
├── uploads/ # Images and media files
│ ├── 2019/
│ ├── 2018/
│ └── ...
├── scripts/
│ └── generate_from_markdown.py # Site generator (Markdown → HTML)
└── _site/ # Generated static site (not in Git)
├── index.html
├── posts/
├── category/
└── ...
The site automatically rebuilds and deploys when:
- You push changes to the
mainbranch - Someone's Pull Request is merged
- Files in
content/orscripts/are modified
The workflow:
- Checks out the repository
- Sets up Python 3.11
- Installs dependencies
- Runs the static site generator
- Deploys to GitHub Pages
- Go to Settings → Pages
- Set Source to "GitHub Actions"
- Your site will be available at:
https://alanburchill.github.io/GroupPolicyBiz/
The generated static site includes:
- 🔍 Full-text search across all 424 posts
- 🏷️ 509 tags for granular topic filtering
- 📁 19 categories for browsing by subject
- 📅 Year archives (2009-2026)
- 🔗 Legacy URL redirects maintaining original WordPress paths
- 🌓 Dark mode support for comfortable reading
- 📱 Mobile responsive design
- ⚡ Lightning fast static site generation
✅ Automatic builds on content changes
✅ Pull Request previews (builds run on PRs)
✅ Zero server maintenance (GitHub handles hosting)
✅ Free hosting via GitHub Pages
- Content: Markdown with YAML front matter
- Generation: Python 3.11+ with html2text, BeautifulSoup, markdown
- Hosting: GitHub Pages (static site)
- Deployment: GitHub Actions (automated)
- Search: Client-side JavaScript with search index
- Styling: Custom CSS with Defender-inspired design
Before making this repository publicly discoverable, please review and complete the following items:
- Remove or relocate private backups and local-only files
- Confirm
private_md/andtools/contain no sensitive or private data (they are ignored by Git).
- Confirm
- Sanitize scripts and config files
- Remove absolute paths and local file references (e.g., OneDrive paths in conversion scripts).
- Remove any credentials, tokens, or personal email addresses.
- Review the
uploads/directory for copyrighted or personal images- Decide whether to publish images under the repository or host them separately with proper attribution.
- Verify there are no large binary files tracked in Git
- Use
git ls-filesandgit rev-listto find large files; remove or replace with links if necessary.
- Use
- Run content QA checks
- Run the site generator locally and browse the generated site at
_site/to check links and navigation. - Use
tools/check_sitemap_coverage.pyto ensure legacy URLs map correctly.
- Run the site generator locally and browse the generated site at
- Add repository metadata and governance files
- Add
CONTRIBUTING.mdandCODE_OF_CONDUCT.mdif you plan to accept external contributions.
- Add
- Audit
.gitignoreand local excludes- Ensure files you intend to keep private are only in local excludes (
.git/info/excludeor global~/.gitignore_global).
- Ensure files you intend to keep private are only in local excludes (
- Add attribution and disclaimers
- Explicitly note trademarks, and include a short disclaimer about archived content being provided "as-is".
- Final testing
- Run
python scripts/generate_from_markdown.py --content content/posts --output _site --per-page 12and spot-check posts and images.
- Run
Code and scripts in this repository are licensed under the MIT License. See LICENSE for full details.
Content (blog posts) is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0). You are free to share and adapt the content for any purpose, including commercially, as long as you provide attribution to Alan Burchill.
Windows, Group Policy, Active Directory, and related trademarks are property of Microsoft Corporation.
For current Group Policy documentation, also visit:
- Microsoft Group Policy Documentation
- Group Policy Administrative Templates Catalog
- Group Policy PowerShell Cmdlets
Thank you to everyone who has contributed to Group Policy knowledge over the years, and to the Windows administration community for making this resource valuable.
Questions or Issues? Open an Issue or submit a Pull Request.
Live Site: www.grouppolicy.biz