Platform Support¶
pymdm supports macOS (Jamf Pro) and Windows (Intune) managed endpoints.
Feature Matrix¶
Feature |
macOS (Jamf) |
Windows (Intune) |
|---|---|---|
JamfParamParser |
Yes |
– |
IntuneParamParser |
– |
Yes |
GenericParamParser |
Yes |
Yes |
Dialog (swiftDialog) |
Yes |
Graceful no-op |
CommandRunner |
Yes |
Yes |
TextTools |
Yes |
Yes |
SystemInfo |
Yes |
Yes |
MdmLogger |
Yes |
Yes |
WebhookSender |
Yes |
Yes |
DarwinDefaults |
Yes |
– |
DarwinServiceManager |
Yes |
– |
Win32Registry |
– |
Yes |
Win32ServiceManager |
– |
Yes |
Environment Variables¶
Variable |
Purpose |
Values |
|---|---|---|
|
Override platform auto-detection |
|
|
Override MDM provider auto-detection |
|
Auto-Detection¶
pymdm auto-detects the current platform and MDM provider at import time. Override with environment variables when testing cross-platform scripts locally:
from pymdm.platforms import get_platform
from pymdm.mdm import get_provider
platform = get_platform() # DarwinPlatformInfo or Win32PlatformInfo
provider = get_provider() # JamfParamParser, IntuneParamParser, or GenericParamParser
Task Mapping: Jamf vs Intune¶
Jamf Pro |
Intune Equivalent |
pymdm API |
|---|---|---|
|
|
|
|
|
|
Script params via |
Env vars or |
Provider-specific |
|
Microsoft Graph API |
Not in pymdm (use provider SDK) |
swiftDialog |
Windows toast/WPF |
|