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 Loading

  1. display_manager display_manager Public

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

    Python 242 18

  2. firmware_password_manager firmware_password_manager Public

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

    Python 151 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 126 10

  4. management_tools management_tools Public

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

    Python 100 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 57 17

  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 50 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.

    univ-of-utah-marriott-library-apple/python-jamf’s past year of commit activity
    Python 57 MIT 17 3 0 Updated Jul 8, 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.

    univ-of-utah-marriott-library-apple/jctl’s past year of commit activity
    Python 50 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.

    univ-of-utah-marriott-library-apple/display_manager’s past year of commit activity
    Python 242 MIT 18 16 0 Updated Aug 29, 2023
  • .github Public

    Custom Organization's Profile

    univ-of-utah-marriott-library-apple/.github’s past year of commit activity
    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.

    univ-of-utah-marriott-library-apple/firmware_password_manager’s past year of commit activity
    Python 151 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.

    univ-of-utah-marriott-library-apple/app-playpen’s past year of commit activity
    Python 11 MIT 1 0 0 Updated Feb 4, 2021
  • chrome-kiosk Public

    Methodology to programmatically manage Google Chrome as a kiosk on macOS

    univ-of-utah-marriott-library-apple/chrome-kiosk’s past year of commit activity
    Python 7 MIT 2 0 0 Updated Apr 29, 2020
  • scl_jamf_extension_attribute_collection Public

    SCL JAMF Pro Extension Attribute Collection

    univ-of-utah-marriott-library-apple/scl_jamf_extension_attribute_collection’s past year of commit activity
    Python 17 MIT 5 0 0 Updated Feb 19, 2020
  • recce Public

    A tool to add unmanaged computers to JAMF

    univ-of-utah-marriott-library-apple/recce’s past year of commit activity
    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.

    univ-of-utah-marriott-library-apple/aeios’s past year of commit activity
    Python 48 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

Python Shell