https://github.com/a-ariff/browser-popup-mdm-automation
Browser Popup MDM Automation - Comprehensive cross-platform policy templates and automation scripts for browser management on macOS and Windows endpoints.
https://github.com/a-ariff/browser-popup-mdm-automation
browser mdm
Last synced: 3 months ago
JSON representation
Browser Popup MDM Automation - Comprehensive cross-platform policy templates and automation scripts for browser management on macOS and Windows endpoints.
- Host: GitHub
- URL: https://github.com/a-ariff/browser-popup-mdm-automation
- Owner: a-ariff
- Created: 2025-08-12T10:00:43.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-09-08T07:01:45.000Z (11 months ago)
- Last Synced: 2025-09-08T09:08:06.407Z (11 months ago)
- Topics: browser, mdm
- Language: PowerShell
- Homepage:
- Size: 195 KB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
README

# Browser Popup MDM Automation
[](https://github.com/a-ariff/browser-popup-mdm-automation/actions/workflows/ps-lint.yml?branch=main) [](https://github.com/a-ariff/browser-popup-mdm-automation/actions/workflows/validate-policies.yml?branch=main) [](https://opensource.org/licenses/MIT)
Comprehensive cross-platform Microsoft Intune MDM popup policy templates and automation scripts for browser management on macOS and Windows endpoints.
📄 **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
## Overview
- **Platforms**: macOS (Safari, Edge, Chrome) | Windows (Edge, Chrome)
- **Default**: Block-all with allow-list examples
- **Automation**: PowerShell script injects allow/block lists per browser schema
- **CI/CD**: GitHub Actions validate PowerShell and policy files
## Features
- ✅ Cross-platform coverage (macOS and Windows)
- ✅ Multi-browser support (Safari, Edge, Chrome)
- ✅ Intune-friendly templates (Graph-ready JSON, Safari XML)
- ✅ Dynamic allow/block injection via PowerShell
- ✅ CI checks: PowerShell lint and JSON/XML validation
- ✅ Lint-safe logging and ShouldProcess
## Quickstart (5-min)
### 1. Clone Repository
```bash
git clone https://github.com/a-ariff/browser-popup-mdm-automation.git
cd browser-popup-mdm-automation
```
### 2. Customize Templates
```bash
# Edit allow/block lists in policies folder
# macOS Chrome/Edge JSON: PopupsAllowedForUrls, PopupsBlockedForUrls, DefaultPopupsSetting
# Windows Chrome/Edge JSON: Same structure
# macOS Safari XML: PopupsBlockedForUrls, DefaultPopupsSetting
```
### 3. Deploy to Intune
```powershell
# Use provided PowerShell script
.\scripts\New-IntunePopupPolicy.ps1 -Platform macOS -Browser Chrome
```
## Compatibility Matrix
| Platform | Safari | Edge | Chrome | Status |
|----------|--------|------|--------|--------|
| macOS 11+ | ✅ | ✅ | ✅ | Tested |
| macOS 10.15 | ✅ | ❌ | ✅ | Partial |
| Windows 10 | ❌ | ✅ | ✅ | Tested |
| Windows 11 | ❌ | ✅ | ✅ | Tested |
| iOS | ❌ | ❌ | ❌ | N/A |
## Repository Structure
```
Browser-Popup-MDM-Automation/
├── scripts/
│ └── New-IntunePopupPolicy.ps1
├── policies/
│ ├── macOS/
│ │ ├── safari-popup-policy.xml
│ │ ├── edge-popup-policy.json
│ │ └── chrome-popup-policy.json
│ └── windows/
│ ├── edge-popup-policy.json
│ └── chrome-popup-policy.json
├── docs/
│ ├── popup-policy-guide.md
│ └── assets/
└── .github/workflows/
├── ps-lint.yml
└── validate-policies.yml
```
## Configuration
### Browser-Specific Settings
#### Chrome & Edge (JSON)
```json
{
"PopupsAllowedForUrls": [
"https://example.com",
"https://trusted-site.com"
],
"PopupsBlockedForUrls": [
"https://malicious-site.com"
],
"DefaultPopupsSetting": 2
}
```
#### Safari (XML)
```xml
PopupsBlockedForUrls
https://malicious-site.com
DefaultPopupsSetting
2
```
## Troubleshooting
### Common Issues
**Policy not applying**
- Check device compliance in Intune admin center
- Verify policy assignment to correct groups
- Allow 24-48 hours for policy propagation
**Browser not recognizing policy**
- Ensure browser is managed by Intune
- Check browser version compatibility
- Restart browser after policy deployment
**PowerShell script errors**
- Run with -Verbose flag for detailed logging
- Check execution policy: Set-ExecutionPolicy RemoteSigned
- Verify all dependencies are installed
## Roadmap
- [ ] Q1 2025: Add Firefox support
- [ ] Q2 2025: Mobile browser policies (iOS Safari)
- [ ] Q3 2025: Automated policy compliance reporting
- [ ] Q4 2025: Integration with Microsoft Graph PowerShell SDK v2
## Changelog
See [CHANGELOG.md](CHANGELOG.md) for detailed version history.
## Contributing
See [CONTRIBUTING.md](CONTRIBUTING.md) for contribution guidelines.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Support
- 📖 [Documentation](docs/popup-policy-guide.md)
- 🐛 [Issues](https://github.com/a-ariff/browser-popup-mdm-automation/issues)
- 💬 [Discussions](https://github.com/a-ariff/browser-popup-mdm-automation/discussions)