Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OS X client support note #31

Open
bruienne opened this issue May 30, 2015 · 4 comments
Open

OS X client support note #31

bruienne opened this issue May 30, 2015 · 4 comments

Comments

@bruienne
Copy link

I know this project is meant for iOS management, but I wanted to note that I was able to join Yosemite clients with a small modification to the code. Instead of UnlockToken OS X Yosemite clients send a Token key instead. Testing for either one allowed the Yosemite client to join.

    if pl.get('UnlockToken'):
        my_UnlockToken = pl['UnlockToken'].data
    else:
        my_UnlockToken = pl['Token'].data

After the client is enrolled it will respond to a majority of the built in commands. I'm experimenting with some OS X-specific ones as well, as found in /usr/libexec/mdmclient

If there's interest I could submit a PR after I do some more testing of OS X-specific commands.

@MaximilianoRios
Copy link

That's really good. Nice to know it!

@alloylab
Copy link

alloylab commented Jun 1, 2015

@bruienne This is great! Definitely will be trying this out. Side note... since we are discussing the token... have you seen this #29 come up in the error log when trying to enroll a new device?

@bruienne
Copy link
Author

bruienne commented Jun 1, 2015

@alloylab I didn't see that particular one with OS X clients, but then I manually hit the /enroll and /ca endpoints and installed the CA cert and mobileconfig on the client - the UI will need some tweaking to also show it for OS X. The one thing I noticed is that certain supported operations will crash the server the first time I try them, then the second run will be fine. I'm trying to figure out if this is reproducible in a reliable way. I did run into a few plistlib parsing errors when I was using a profile that contained some binary data alongside XML, but that's to be expected.

@bruienne
Copy link
Author

bruienne commented Jun 1, 2015

Another note: in order to properly support the ability of per-user and per-device MDM profiles the Enroll.mobileconfig should add the following key:

<key>ServerCapabilities</key>
<array>
    <string>com.apple.mdm.per-user-connections</string>
</array>

This will signal the OS X mdmclient that the server is capable of OS X management and will automatically make the enrollment happen per-device, instead of per-user.

@thrasr thrasr self-assigned this Jun 2, 2015
@thrasr thrasr removed their assignment Aug 27, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants