Skip to content
@univ-of-utah-marriott-library-apple

University of Utah - Marriott Library - Apple Infrastructure

Apple Support & Integration in a Heterogeneous Environment

University of Utah - Marriott Library - Apple Infrastructure

Notable Repositories

Readme Card Readme Card

Links & Resources

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.

The jctl command line tool interacts with Jamf Pro or Jamf Cloud and allows the administrator perform repetitive tasks quickly and easily. The python-jamf library simplifies interacting with the Classic API and powers jctl. This session will introduce python-jamf and jctl, give some usage examples, show how it works internally, and show how easy it is to add your own functionality to perform and automate any repetitive and complex task you want.

If you have additional questions, or need more help getting started, post a question on the MacAdmin's Slack #jctl channel.

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. For latest meeting agenda & other posts, checkout & follow our campus MacAdmin blog.

To view and accessed 20+ years of archived University of Utah, MacAdmins presentations and slides.

Popular repositories

  1. display_manager display_manager Public

    An open-source Python library which can modify your Mac's display settings manually or automatically.

    Python 234 19

  2. firmware_password_manager firmware_password_manager Public

    A Python script to help Macintosh administrators manage the firmware passwords of their computers.

    Python 150 26

  3. privacy_services_manager privacy_services_manager Public

    A single management utility to administer Location Services, Contacts requests, Accessibility, and iCloud access in Apple's OS X.

    Python 125 10

  4. management_tools management_tools Public

    A collection of scripts and packages to simplify OS X management.

    Python 98 7

  5. python-jamf python-jamf Public

    `python-jamf` is a library for connecting to a Jamf Server. It maps Jamf Pro records to a Record class. It is the basis for the `jctl` tool to automate patch management & packages and many other it…

    Python 52 16

  6. jctl jctl Public

    `jctl` uses `python-jamf` to select objects to create, delete, print and update. It allows performing Jamf Pro repetitive tasks quickly and provides options not available in the web GUI. It is simi…

    Python 49 7

Repositories

Showing 10 of 27 repositories
  • python-jamf Public

    `python-jamf` is a library for connecting to a Jamf Server. It maps Jamf Pro records to a Record class. It is the basis for the `jctl` tool to automate patch management & packages and many other items.

    Python 52 MIT 16 1 0 Updated May 6, 2024
  • jctl Public

    `jctl` uses `python-jamf` to select objects to create, delete, print and update. It allows performing Jamf Pro repetitive tasks quickly and provides options not available in the web GUI. It is similar to SQL statements, but far less complex.

    Python 49 MIT 7 1 0 Updated Feb 5, 2024
  • display_manager Public

    An open-source Python library which can modify your Mac's display settings manually or automatically.

    Python 234 MIT 19 16 0 Updated Aug 29, 2023
  • .github Public

    Custom Organization's Profile

    1 0 0 0 Updated Feb 10, 2023
  • firmware_password_manager Public

    A Python script to help Macintosh administrators manage the firmware passwords of their computers.

    Python 150 MIT 26 0 1 Updated Aug 12, 2021
  • app-playpen Public

    A python GUI application that provides framework & automation to secure macOS applications with exceptional requirements.

    Python 11 MIT 1 0 0 Updated Feb 4, 2021
  • chrome-kiosk Public

    Methodology to programmatically manage Google Chrome as a kiosk on macOS

    Python 6 MIT 1 0 0 Updated Apr 29, 2020
  • scl_jamf_extension_attribute_collection Public

    SCL JAMF Pro Extension Attribute Collection

    Python 17 MIT 5 0 0 Updated Feb 19, 2020
  • recce Public

    A tool to add unmanaged computers to JAMF

    Python 10 MIT 1 0 0 Updated Jan 17, 2020
  • aeios Public

    A python library designed to aid the automation of Apple iOS device management, configuration and imaging.

    Python 46 MIT 5 0 0 Updated Oct 21, 2019

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…