Giter Club home page Giter Club logo

casfigurator's Introduction

casfigurator

Need to talk it out? Head to the #ac2-automation channel on the MacAdmins Slack

Improved, wire-assisted, but over-the-air iOS “imaging” with Configurator 2's automation tools and JAMF (née Casper). (Essentially: trying to emulate an assisted thin-imaging style process for iPads.)

alt tag

(Casfigurator prompting a user to select the app lists to apply to connected iOS devices)

Demo Video

Here's a video overview and demo of version v0.1

Introduction

The goal of Casfigurator is to give field technicians, "accidental-technicians" (secretaries, teachers, interns) and other laymen a tool to setup cart-based/non-user-assigned iOS devices with a menu of pre-determined app distribution groups—all without having to manually create groups, or update app scopes on the JSS. Casfigurator is a collection of AppleScripts that connects Apple Configurator 2 (and its very important automation tools) with the Casper/JSS API. This allows guided iPad setup and the ability to add App Distribution manifests in an easy way that doesn't use the Terminal or CSVs.

Essentially: My way of trying to emulate Munki+DeployStudio for iPads.

These scripts can be run on their own after initial iPad setup, or as part of an Automator workflow to allow for a single-launch guided setup.

View the orignal proof-of-concept video and demo here

Requirements

  1. Minumum macOS: 10.11 - El Capitan (tested through 10.12.4)
  2. Configurator 2 (tested with v2.2.1-v2.4)
  3. Configurator Automation Tools Installed
  4. JAMF’s Casper Suite (tested with 9.91-v9.99b)
  5. A user with Mobile Device write access in the API
  6. Probably a test JSS. Definitly a test JSS.

A few words of caution

This has been tested on a fresh JSS as well as my test and production JSSes. While I'm confident you will not break anything that already exists, your experince may vary. The script still makes some assumptions (like your JSS being available, your devices being supervised, etc). So far, I've handled a few major errors—some will just pass the error on to you and quit. Please, report any bugs.

Setup

###On the JSS

The basic goal is to try to emulate Munki-type manifests in the JSS. This is achieved by an extension attribute called “App Distribution Group” and series of smart groups.

Version 0.1 comes with "casfigurator_jss_setup.sh"—a bash script that will add the proper extension attributes and help you create smart groups with the proper criteria. All you need is your JSS URL and a JSS account with write access to the API.

Otherwise, you can create your extension attribute with the following information:

  1. Display Name: "App Distribution Group"
  2. Description: Used to facilitate app assignment with Casfigurator
  3. Data Type: String
  4. Inventory Display: General
  5. Input Type: Text Field

The setup script will also help you create your App Distribution Smart groups, but you can create them manually as well:

  1. Display Name: "App Distribution Group - (criteria/name)"
  2. Criteria: "App Distribution Group" is LIKE "(criteria-string)" <- This criteria string can't contain spaces

You will then need to scope apps to your smart groups on the JSS. For now, you'll have to do that the old fashined way.

###On the Mac Install Configurator Automation Tools:

  1. Launch Configurator
  2. In the drop down menus - “Apple Configurator 2 > Install Migration Tools” (check out http://krypted.com/iphone/install-the-command-line-tools-using-apple-configurator-2/ for a better guide)

If you’re using DEP, you’ll want to make sure that Configurator 2 and your JSS are using the same Supervision Identity. See Supervision Identities section in this JAMF guide: http://resources.jamfsoftware.com/documents/technical-papers/Deploying-iOS-Devices-with-the-Casper-Suite-and-Apple-Configurator-2-v9.82-or-Later.pdf

###The Client-side AppleScripts

Casfigurator_iPad_Setup_Name_and_AppGroups.app Casfigurator_Unplugged-Change_AppGroups

Version v0.1 reads your extension attribute for "App Distribution Groups" and smart groups with names like "App Distribution Group" from the JSS API. You will not need to edit this script.

All you will need is your JSS URL, a JSS account with write access to the API and a copy of Configurator 2 with the proper supervision authoriy over the connected iPads.

There is also an "Unplugged" AppleScript that will allow you to change App Distribution Group criteria written to your device records without devices being connected to Configurator 2. This uses the JSS API's match function to find devices by their basename and then overwrite the "App Distribution Group" field on each device record with your newly entered selections.

casfigurator's People

Contributors

bumbletech avatar

Stargazers

 avatar Salavat Khanov avatar Ron Burch avatar Med Ismail Bennani avatar Austin Culter avatar Jonas Myhr Refseth avatar  avatar George avatar Jason Kuo avatar Pavel Kondratev avatar ZJP avatar Justin C. avatar Owen Hael avatar Ross Derewianko avatar Steve Lopez avatar  avatar

Watchers

Chris Denesha avatar James Cloos avatar  avatar Justin C. avatar  avatar Steve Lopez avatar RusskovDev_Inc avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.