{"id":49320732,"url":"https://github.com/a-ariff/browser-popup-mdm-automation","last_synced_at":"2026-04-26T17:32:05.579Z","repository":{"id":309525179,"uuid":"1036596742","full_name":"a-ariff/browser-popup-mdm-automation","owner":"a-ariff","description":"Browser Popup MDM Automation - Comprehensive cross-platform policy templates and automation scripts for browser management on macOS and Windows endpoints.","archived":false,"fork":false,"pushed_at":"2025-09-08T07:01:45.000Z","size":200,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-08T09:08:06.407Z","etag":null,"topics":["browser","mdm"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/a-ariff.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-12T10:00:43.000Z","updated_at":"2025-09-08T07:01:48.000Z","dependencies_parsed_at":"2025-08-19T00:16:09.569Z","dependency_job_id":null,"html_url":"https://github.com/a-ariff/browser-popup-mdm-automation","commit_stats":null,"previous_names":["a-ariff/popup-policies-autotask","a-ariff/intune-mdm-popup-policies-macos-safari-edge-chrome-and-windows-edge-chrome-","a-ariff/intune-mdm-popup-policies-for-mac-and-windows"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/a-ariff/browser-popup-mdm-automation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-ariff%2Fbrowser-popup-mdm-automation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-ariff%2Fbrowser-popup-mdm-automation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-ariff%2Fbrowser-popup-mdm-automation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-ariff%2Fbrowser-popup-mdm-automation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/a-ariff","download_url":"https://codeload.github.com/a-ariff/browser-popup-mdm-automation/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-ariff%2Fbrowser-popup-mdm-automation/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32307011,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T17:23:19.671Z","status":"ssl_error","status_checked_at":"2026-04-26T17:23:19.195Z","response_time":129,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["browser","mdm"],"created_at":"2026-04-26T17:32:05.521Z","updated_at":"2026-04-26T17:32:05.573Z","avatar_url":"https://github.com/a-ariff.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Repository Icon](docs/assets/icon.svg)\n\n# Browser Popup MDM Automation\n\n[![PowerShell Lint](https://github.com/a-ariff/browser-popup-mdm-automation/actions/workflows/ps-lint.yml/badge.svg?branch=main)](https://github.com/a-ariff/browser-popup-mdm-automation/actions/workflows/ps-lint.yml?branch=main) [![Validate Policies](https://github.com/a-ariff/browser-popup-mdm-automation/actions/workflows/validate-policies.yml/badge.svg?branch=main)](https://github.com/a-ariff/browser-popup-mdm-automation/actions/workflows/validate-policies.yml?branch=main) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nComprehensive cross-platform Microsoft Intune MDM popup policy templates and automation scripts for browser management on macOS and Windows endpoints.\n\n📄 **Complete Deployment Guide:** [View on GitHub](docs/popup-policy-guide.md) | [View on GitHub Pages](https://a-ariff.github.io/browser-popup-mdm-automation/popup-policy-guide) - Essential setup and configuration instructions\n\n## Overview\n\n- **Platforms**: macOS (Safari, Edge, Chrome) | Windows (Edge, Chrome)\n- **Default**: Block-all with allow-list examples  \n- **Automation**: PowerShell script injects allow/block lists per browser schema\n- **CI/CD**: GitHub Actions validate PowerShell and policy files\n\n## Features\n\n- ✅ Cross-platform coverage (macOS and Windows)\n- ✅ Multi-browser support (Safari, Edge, Chrome)\n- ✅ Intune-friendly templates (Graph-ready JSON, Safari XML)\n- ✅ Dynamic allow/block injection via PowerShell\n- ✅ CI checks: PowerShell lint and JSON/XML validation\n- ✅ Lint-safe logging and ShouldProcess\n\n## Quickstart (5-min)\n\n### 1. Clone Repository\n\n```bash\ngit clone https://github.com/a-ariff/browser-popup-mdm-automation.git\ncd browser-popup-mdm-automation\n```\n\n### 2. Customize Templates\n\n```bash\n# Edit allow/block lists in policies folder\n# macOS Chrome/Edge JSON: PopupsAllowedForUrls, PopupsBlockedForUrls, DefaultPopupsSetting\n# Windows Chrome/Edge JSON: Same structure\n# macOS Safari XML: PopupsBlockedForUrls, DefaultPopupsSetting\n```\n\n### 3. Deploy to Intune\n\n```powershell\n# Use provided PowerShell script\n.\\scripts\\New-IntunePopupPolicy.ps1 -Platform macOS -Browser Chrome\n```\n\n## Compatibility Matrix\n\n| Platform | Safari | Edge | Chrome | Status |\n|----------|--------|------|--------|--------|\n| macOS 11+ | ✅ | ✅ | ✅ | Tested |\n| macOS 10.15 | ✅ | ❌ | ✅ | Partial |\n| Windows 10 | ❌ | ✅ | ✅ | Tested |\n| Windows 11 | ❌ | ✅ | ✅ | Tested |\n| iOS | ❌ | ❌ | ❌ | N/A |\n\n## Repository Structure\n\n```\nBrowser-Popup-MDM-Automation/\n├── scripts/\n│   └── New-IntunePopupPolicy.ps1\n├── policies/\n│   ├── macOS/\n│   │   ├── safari-popup-policy.xml\n│   │   ├── edge-popup-policy.json\n│   │   └── chrome-popup-policy.json\n│   └── windows/\n│       ├── edge-popup-policy.json\n│       └── chrome-popup-policy.json\n├── docs/\n│   ├── popup-policy-guide.md\n│   └── assets/\n└── .github/workflows/\n    ├── ps-lint.yml\n    └── validate-policies.yml\n```\n\n## Configuration\n\n### Browser-Specific Settings\n\n#### Chrome \u0026 Edge (JSON)\n\n```json\n{\n  \"PopupsAllowedForUrls\": [\n    \"https://example.com\",\n    \"https://trusted-site.com\"\n  ],\n  \"PopupsBlockedForUrls\": [\n    \"https://malicious-site.com\"\n  ],\n  \"DefaultPopupsSetting\": 2\n}\n```\n\n#### Safari (XML)\n\n```xml\n\u003cdict\u003e\n  \u003ckey\u003ePopupsBlockedForUrls\u003c/key\u003e\n  \u003carray\u003e\n    \u003cstring\u003ehttps://malicious-site.com\u003c/string\u003e\n  \u003c/array\u003e\n  \u003ckey\u003eDefaultPopupsSetting\u003c/key\u003e\n  \u003cinteger\u003e2\u003c/integer\u003e\n\u003c/dict\u003e\n```\n\n## Troubleshooting\n\n### Common Issues\n\n**Policy not applying**\n- Check device compliance in Intune admin center\n- Verify policy assignment to correct groups\n- Allow 24-48 hours for policy propagation\n\n**Browser not recognizing policy**\n- Ensure browser is managed by Intune\n- Check browser version compatibility\n- Restart browser after policy deployment\n\n**PowerShell script errors**\n- Run with -Verbose flag for detailed logging\n- Check execution policy: Set-ExecutionPolicy RemoteSigned\n- Verify all dependencies are installed\n\n## Roadmap\n\n- [ ] Q1 2025: Add Firefox support\n- [ ] Q2 2025: Mobile browser policies (iOS Safari)\n- [ ] Q3 2025: Automated policy compliance reporting\n- [ ] Q4 2025: Integration with Microsoft Graph PowerShell SDK v2\n\n## Changelog\n\nSee [CHANGELOG.md](CHANGELOG.md) for detailed version history.\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for contribution guidelines.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Support\n\n- 📖 [Documentation](docs/popup-policy-guide.md)\n- 🐛 [Issues](https://github.com/a-ariff/browser-popup-mdm-automation/issues)\n- 💬 [Discussions](https://github.com/a-ariff/browser-popup-mdm-automation/discussions)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fa-ariff%2Fbrowser-popup-mdm-automation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fa-ariff%2Fbrowser-popup-mdm-automation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fa-ariff%2Fbrowser-popup-mdm-automation/lists"}