Automated migration tool for transitioning from Jamf Behavioral Framework to Jamf DLP
Features β’ Quick Start β’ Configuration β’ Contributing
| Feature | Description |
|---|---|
| π Automated Migration | One-click transition from Behavioral Framework to DLP |
| π Pre-Flight Checks | Validates system requirements before migration |
| π Progress Tracking | Visual feedback during migration process |
| π‘οΈ Rollback Support | Safe rollback if migration fails |
| π Detailed Logging | Comprehensive logs for troubleshooting |
| π Policy Preservation | Maintains existing security policies |
| Requirement | Version |
|---|---|
| macOS | 11.0+ |
| Jamf Pro | 10.35+ |
| Behavioral Framework | Installed |
| Admin Rights | Required |
β οΈ Important: Before running, you MUST customize the script for your DLP solution. See Configuration Required below.
git clone https://github.com/CaputoDavide93/Jamf-DLP-Migration.git
cd Jamf-DLP-MigrationEdit migrate_to_dlp.sh and update these placeholder values:
# DLP paths - CUSTOMIZE THESE FOR YOUR DLP SOLUTION
DLP_PATHS=(
"/Applications/YourDLP.app" # β Change to your DLP app path
"/Library/Application Support/YourDLP" # β Change to your DLP support path
)
# Package identifiers for receipt checking
DLP_PKGS=("yourdlp" "com.yourdlp") # β Change to your DLP package IDschmod +x migrate_to_dlp.shsudo ./migrate_to_dlp.sh| Variable | Description | Default |
|---|---|---|
JAMF_URL |
Jamf Pro server URL | - |
DLP_PROFILE_ID |
DLP configuration profile ID | - |
LOG_LEVEL |
Logging verbosity | INFO |
DRY_RUN |
Test mode without changes | false |
export JAMF_URL="https://your-jamf.jamfcloud.com"
export DLP_PROFILE_ID="123"
export LOG_LEVEL="DEBUG"sudo ./migrate_to_dlp.shDRY_RUN=true sudo ./migrate_to_dlp.shLOG_LEVEL=DEBUG sudo ./migrate_to_dlp.shgraph TD
A[Start Migration] --> B[Pre-Flight Checks]
B --> C{System Valid?}
C -->|Yes| D[Backup Current Config]
C -->|No| E[Exit with Error]
D --> F[Remove Behavioral Framework]
F --> G[Install DLP Components]
G --> H[Apply Policies]
H --> I[Verify Installation]
I --> J[Migration Complete]
- Pre-Flight Checks - Validates macOS version, Jamf enrollment, and admin rights
- Configuration Backup - Creates backup of current Behavioral Framework settings
- Framework Removal - Safely removes Behavioral Framework components
- DLP Installation - Installs and configures Jamf DLP
- Policy Migration - Transfers existing policies to DLP format
- Verification - Confirms successful installation
β Permission Denied
# Solution: Run with sudo
sudo ./migrate_to_dlp.shβ Jamf Not Enrolled
# Verify Jamf enrollment
sudo jamf policyβ Migration Failed
# Check logs
cat /var/log/jamf_dlp_migration.log
# Rollback if needed
sudo ./migrate_to_dlp.sh --rollback| Log | Path |
|---|---|
| Migration Log | /var/log/jamf_dlp_migration.log |
| Jamf Log | /var/log/jamf.log |
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.