January 2023 – MacAdmins Meeting

January 2023 – MacAdmins Meeting

January 18, 2023 – University of Utah, MacAdmins Meeting


The University of Utah, MacAdmins Meeting is held monthly virtually on the 3rd Wednesday of each month at 11 AM Mountain Time. Presentations cover Apple technology and integration in a heterogeneous university enterprise environment. This month’s meeting will be held on Wed, January 18th, 2023 at 11 AM MT and we will provide live broadcasts and archives that will be made available 2-3 days after the meeting.


AppleCare for Enterprise (ACE) – Chris Coffelt, Apple

This presentation will cover AppleCare for Enterprise (ACE) and outline coverage & benefits for large campus or department education organizations & businesses. The AppleCare options for educational institutions have changed quite a bit in the past few years. To bring you up to speed on these changes the presenter will be providing an update on these and can answer any questions.

AppleCare for Enterprise (ACE) includes flexible service options, onsite hardware service, and next-business-day device replacement. AppleCare for Enterprise is a two-year or three-year agreement and is available with a minimum of 1000 Mac computers and/or iOS devices. Device repair or replacement pools can be used for anything other than theft or loss, including an unlimited number of enterprise-level support incidents, AppleCare Account Manager issue tracking reports sent monthly and education discounted prices available.

About Chris Coffelt
Chris Coffelt has been with Apple for 8 years as a Systems Engineer supporting educational institutions. Before joining Apple, he was in public education for 16 years as an IT Director for school districts in Colorado and California.

     Note – Due to Apple policy this presentation will NOT be recorded and watching it live will be the only viewing option.  

tea – New Package Manager by Marc Seitz, tea.xyz

From the creator of Homebrew, tea is a standalone, binary download for all platforms that puts the entire open-source ecosystem at your fingertips. Casually and effortlessly use the latest and greatest or the oldest and most mature from any layer of any stack. Break down the silos between programming communities, throw together scripts that use entirely separate tools and languages and share them with the world with a simple one-liner.

They’ve reimagined what a package manager can do for the first time since Homebrew with new features such as executable markdown, a virtual environment manager, and universal interpretation.

It can be annoying when package managers install software directly into the machine’s /usr/local directory and mess up my system installs. That’s why I need to resort to nvm or rbenv or pyenv just to manage multiple versions of node, ruby, and python, respectively.

Enter tea.
tea installs everything to a single “relocatable” folder on your machine. When you run tea it will inject the required software package+version into your environment for only this instance and nothing more.

About Marc Seitz
Marc Seitz is the developer evangelist for tea.xyz, an open-source package manager made by the same person who built homebrew. tea.xyz is focused on building great tools for the open-source world, and then remunerating developers for their contributions.

  • Video – To view the archived presentation video, click here.
  • Slides – To view the archived presentation slides, click here.

jctl – Jamf Pro Efficiency & Automation – 
James Reynolds, University of Utah

jctl is a command line tool that allows you to read, create, edit, and delete Jamf Pro data. python-jamf is the Python library that powers jctl.

python-jamf interacts with Jamf Pro’s Classic API and hides all the details and complexity of retrieving, modifying, and uploading the Classic API data. Some people still use curl and shell CLI tools to parse and modify the raw Jamf Pro data. python-jamf converts all the data to Python dictionaries and arrays, so only a little bit of Python knowledge makes it extremely easy to do far more than curl and the shell can do like mass modify records and cross-reference records.

For example, once the preferences are configured, `import jamf` and then `jamf.Computers()` will give you an object that contains all the computers on your server. You can get an array of computers with a specific name with ` jamf.Computers().recordsWithName("mac")`. Once you pick a computer, you can change some data by simply writing `computer.data['general']['name'] = "old mac"` and then saving it `computer.save()`. It’s really that easy.

This is made abundantly clear by the pkgctl tool, which was written very quickly, has only about 550 lines of code, and interactively goes through all of the packages stored in Jamf and allows you to “promote” packages, that is, swap one package for another in policies, patch management, and computer group criteria. Half of the pkgctl code is the interactive print and input statements. You can do a tremendous amount with very little code.

In this presentation, James will demo jctl, pkgctl, and a little bit of Python code showing how easy they are to use.


  • Video – To view the archived presentation video, click here.
  • Slides – To view the archived presentation slides, click here.


Open Discussion

Questions, comments, problems, and fixes.



Due to the coronavirus (aka Covid-19) crisis, this meeting will not be meeting in person but will currently be done virtually using Zoom video communications architecture.

With Zoom we will implement the following security best practices:
  • Require a Password to Join This meeting will require a password to join the meeting. Information will be emailed via a campus internal list, but if you are external and want to attend the meeting, please use the contact us form to receive details. Else, the archive of the meeting will be available 2-3 days after the live meeting.

    • Waiting Room When joining the meeting you will be placed in the Waiting Room by default and the hosts will give you access to the live meeting.

  • Miscellaneous We will also implement other settings and safeguards to secure the meeting.

Archived Presentation(s)

  • Archives of the presentations will be available on this web page.
No Comments

Leave a Reply