Skip to main content
Question

JAMF IT Open Source project


Forum|alt.badge.img+5

Hi JAMF Nation -

We’re often asked by customers, the JAMF Nation community, and internal Sales and Support staff “How do we do X internally at JAMF?"

I’m excited to announce that the JAMF IT team has started open sourcing all of our scripts, code, and internally created utilities to share with JAMF Nation and the Mac Admin community: https://github.com/jamfit

Not only will we be posting our internally-created scripts, code, and utilities in an open source format for everyone to use, we’re also going to include information on how exactly we use the JSS to deploy and manage these items.

There are multiple ways to solve the challenges that we as IT practitioners face on a daily basis. We’re hoping that our solutions will give you ideas for your environment and hope to see everyone continue the conversations with the JAMF Nation community on how we solve these challenges together.

30 replies

bentoms
Forum|alt.badge.img+35
  • Legendary Contributor
  • 4331 replies
  • April 10, 2015

Nice work JAMFs!


Forum|alt.badge.img+18
  • Honored Contributor
  • 645 replies
  • April 10, 2015

SWEET!


Forum|alt.badge.img+12
  • Valued Contributor
  • 350 replies
  • April 10, 2015


emily
Forum|alt.badge.img+24
  • Employee
  • 871 replies
  • April 10, 2015


Forum|alt.badge.img+7
  • Contributor
  • 30 replies
  • April 10, 2015


Forum|alt.badge.img+16
  • Honored Contributor
  • 403 replies
  • April 10, 2015

AWESOME!


Forum|alt.badge.img+10
  • Contributor
  • 121 replies
  • April 10, 2015

For just a few seconds when I see a really great resource I almost panic. I think my job could be done by another, then I remember there are only two of that work here that know that grep(s) are not used to make wine!

Alright JAMF!


emily
Forum|alt.badge.img+24
  • Employee
  • 871 replies
  • April 10, 2015

I imagine someone a little more python-savvy than myself can turn that AD password age script into an AD password days-until-expiration script?

ETA: Okay I guess it is days until expiration. Words.


bentoms
Forum|alt.badge.img+35
  • Legendary Contributor
  • 4331 replies
  • April 10, 2015

Forum|alt.badge.img+16
  • Honored Contributor
  • 1054 replies
  • April 10, 2015

Thank you Thank you !!!!

C


Forum|alt.badge.img+7
  • Contributor
  • 59 replies
  • April 10, 2015

Thanks JAMF!


emily
Forum|alt.badge.img+24
  • Employee
  • 871 replies
  • April 10, 2015

@bentoms oh we definitely use ADPassMon in our environment. I was just wanting something I could see in an EA in the JSS.


Forum|alt.badge.img+3
  • New Contributor
  • 4 replies
  • April 10, 2015

Thanks for sharing!


jhbush
Forum|alt.badge.img+26
  • Esteemed Contributor
  • 539 replies
  • April 10, 2015

jescala
Forum|alt.badge.img+12
  • Contributor
  • 91 replies
  • April 13, 2015

Love it! Thanks for sharing!

I tried the JSS-LDAP-Sync tool but unfortunately our LDAP queries are hitting the Active Directory LDAP size limit so the script is throwing this exception:

ldap.SIZELIMIT_EXCEEDED: {'desc': 'Size limit exceeded'}

I did a bit of research and it looks like a fix is possible using SimplePagedResultsControl from the python-ldap package. Here is an example of it in use:

https://code.google.com/p/google-apps-for-your-domain-ldap-sync/source/browse/trunk/ldap_ctxt.py


BrysonTyrrell
Forum|alt.badge.img+19
  • Valued Contributor
  • 85 replies
  • April 13, 2015

Hi @jescala,

Our AD environment has less than 500 staff accounts so paging wasn't something I had to worry about when I first wrote this. If you have suggestions for improvements on any of the scripts you could open up a GitHub issue on it. Go here to open one for JSS-LDAP-Sync.

Out of curiosity, how many accounts do you have in the base dn you're searching against?


Forum|alt.badge.img+4
  • Contributor
  • 13 replies
  • April 14, 2015

Awesome, thank you!


jescala
Forum|alt.badge.img+12
  • Contributor
  • 91 replies
  • April 14, 2015

Hello @brysontyrrell,

We have >35,000 users, so we hit that 1000 limit pretty quickly!

I just opened your first issue on GitHub. Thanks so much for doing this! JAMF Rocks! :-)


Forum|alt.badge.img+9
  • Contributor
  • 145 replies
  • April 14, 2015


  • 0 replies
  • April 14, 2015

Great to see an effort like this from JAMF, supporting the community! Nicely done.


BrysonTyrrell
Forum|alt.badge.img+19
  • Valued Contributor
  • 85 replies
  • April 14, 2015

Hi everybody,

We've posted another six scripts to the GitHub account. This will probably be the last big update we do for a while. The scripts we've posted are:

Box-Sync-4-Installer
A script for installing Box Sync 4 from Self Service

BYOD-Reporting
A script used to generate a report on devices used for BYOD

Encrypted-Script-Parameters
Functions for generating strings and decrypting them for use as script parameters

Self-Service-Enrollment-Profile
A script to create an enrollment profile for a user from Self Service

Self-Service-QuickAdd-Package
A script to create a QuickAdd package for a user from Self Service

SourceTree-Installer
A script for installing SourceTree from Self Service

If there are improvements that you would like to recommend, please open an issue on the repo for us to work against. No guarantees on when we will be able to address some of these issues (still got to work). We're also following this thread so we will be replying to posts.

And thanks to @jescala for that first issue! Hopefully I'll get some time to work on building in paging support.


Forum|alt.badge.img+6
  • Contributor
  • 108 replies
  • April 15, 2015

Brilliant. Thanks for sharing JAMF!


Forum|alt.badge.img+9
  • Valued Contributor
  • 173 replies
  • April 15, 2015

@emilykausalik I knocked up a script a while ago, which I use to help with password changes, and contains a days-until-expiry component. It shouldn't be too hard to Pythonise if you just want to wrap the commands in a Python subprocess, that way you don't need to worry about 3rd party modules?


BrysonTyrrell
Forum|alt.badge.img+19
  • Valued Contributor
  • 85 replies
  • April 16, 2015

We had an internal request for another script so it got posted today: Reset MDM


Forum|alt.badge.img+5


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings