By default, Profiles that are no longer assigned to a device will be removed from that device. This means that if you move the device between groups that have a Profile assigned and not assigned then it will remove and replace it every time you swap the device between those groups.
Profiles that are built purely from the native configuration settings (eg. Lockdown, Settings Manager config, WiFi, VPN, etc) should almost always completely remove themselves when they are unassigned from a device. Packages contained within Profiles may behave differently depending on the contents. If your Package contains an APK then that APK will be uninstalled. If the Package contains a file like config.xml then that file will be removed. However, if your package contains a script then the reverse of that script won't necessarily be performed unless you architect the Package to contain a pre-uninstall script that does the reverse procedure. Similarly, if you script a mxconfig configuration then just unassigning that Package won't undo what the mxconfig configuration applied unless of course you have a separate mxconfig and xml file that do the exact opposite configuration as part of a Pre-Uninstall option within the Package.
Note for Zebra devices there is also the datawedge.db file which can be confusing in its own right because it is consumed automatically when placed in the autoimport directory so unassigning a Profile/Package containing a datawedge.db does not remove the configuration from the device.
The default APK and File removal when unassigning property can be overruled by a configuration setting in the Package builder and something similar exists at the Profile level. I personally avoid using either of these configuration options however as the default Profile behavior can be incredibly powerful once you get the hang of how it works and it can be messy if you have some Packages and Profiles set to persistent while others are not.
- If I move a device, say 5 times, to and from the group which applies this profile/lockdown and another group with no profile(s), what happens? Will MC remove and reinstall that config.xml file 5 times (assuming I didn't specifiy otherwise when creating the package)?
It will be removed every time you move the device from the group and reinstalled afterwards.
- What about the settings manager app?
The Settings Manager App itself would be removed if the device is not longer assigned a Profile containing it and the Settings Manager Configuration settings would be removed if no longer assigned a Profile containing it.
- If I make 27 changes to a profile and a long lost device re-connects to the management server, are every single one of those changes queued or does MC try to apply whatever the latest changes are?
I am actually not 100% on this one but I believe it will just be the most current configurations that are applied but I'm not sure.
Thanks Matt, this is very helpful!