One-stop PowerShell script to deploy GoPhish phishing simulation platform on Windows machines for IT department security awareness testing.
Active Task: None Status: All tasks complete Started: - Notes: Full implementation complete
- Detect if running as administrator
- Auto-elevate or prompt user
- Check if choco command available
- Install Chocolatey if missing
- Verify installation success
- Check WSL version
- Enable WSL feature if needed
- Install WSL2 kernel update
- Set WSL2 as default
- Check if Docker daemon running
- Install Docker Desktop via Chocolatey if missing
- Wait for Docker service to start
- Verify docker commands work
- Pull gophish/gophish Docker image
- Show download progress
- Handle timeout/retry
- Generate docker-compose.yml for GoPhish
- Configure default volumes for persistence
- Map ports 3333 and 80
- Set appropriate resource limits
- Run docker-compose up -d
- Wait for services to initialize
- Check container health status
- Extract initial admin password from container logs
- Display credentials to user
- Remind user to change password
- Show admin UI URL
- Show phishing server URL
- Provide first-campaign quick start guide
- -CheckOnly parameter support
- Show container status
- Show ports and volume info
- -Uninstall parameter support
- Stop and remove containers
- Optionally remove volumes with confirmation
- Clean up compose file
- Try/catch blocks for all operations
- Clear error messages
- Exit codes on failure
- Timestamped log output
- Optional -LogPath parameter
- Verbose mode support
- Installation instructions
- Usage examples
- First campaign walkthrough
- Compliance notes
- Image: gophish/gophish (official GoPhish image)
- Ports: 3333 (admin UI - HTTPS), 80 (phishing server - HTTP)
- Default admin: admin / (random password in logs)
- Database: SQLite stored in Docker volume
- Disk space: ~500MB for container + campaign data