JAMF Software's Casper Suite for Imaging
Volume Number: 25
Issue Number: 08
Column Tag: Systems Administration
JAMF Software's Casper Suite for Imaging
Client Image Deployment and Maintenance - Part 2
by Criss Myers
In Part 1 we looked at the setup and configuration of the server side section of the Casper Suite. In Part 2 we will create the content that is to be deployed as well as setting up various configurations for deployment. We also need to add the clients to the servers database so that we can then manage them. After that we look at how we will deploy the image and allow our users to install software themselves.
Composer 7
Now that the Server side is set up, you need to create the deployment content. This is created with the new Composer 7. Since the idea is to create a package based deployment, you can create a small OS base image and then create packages for all the additional content. You could use the same DMG already created from the install disk or create a custom OS image. I prefer to create my own with a few modifications.
Next, using Composer, create additional packages for all the software you wish to install and also any scripts you will use either before or after imaging. If you need some help with this, Jamf JAMF have created a Resources pack of scripts available on their website:
http://www.jamfsoftware.com/jamf_nation/resourcekit.php
Recon
Now that we have the server setup and the deployment content ready, we need to add the computers to the JAMF Software Server (JSS). Each client will have a separate entry in the JSS with a unique JSS ID. There are a few methods for doing achieving this.
If the computer is already on the network then you can use the JAMF Recon tool. This will add the client to the JSS and install the Casper client tools on the client.
Each one of the JAMF Software tools connects to the JSS upon launch and requires you to login. Access to the JSS with these tools is controlled by the Accounts privileges settings you setup earlier in the JSS web interface.
Recon can be used in a few different ways.
1. You can launch Recon on the local box and add just that single machine to the JSS. You can then add additional details about the client such as bar codes, purchasing information, details on peripherals connected to this computer, as well as user information and location. If the computer already exists in the JSS, then the next time you launch Recon on the client, it will gather the existing record that you can then edit further
2. You can add a single remote computer, if you know the DNS or IP of a computer you can add this to the JSS. However you must have SSH enabled on the remote computer. Enter the SSH account details into Recon allow with any other details.
![](fig01.jpg)
Fig. 1. Casper Recon application
3. If the computer is already on the network and has SSH enabled for an account, then you can Recon all your existing computers. The Network Scanner allows you to scan the network range and add all those computers to the JSS. This however will not add any of the advanced details, so you will need to edit that later in the JSS web browser.
![](fig02.jpg)
Fig. 2. Casper Recon's Network Scanner.
4. If you do not have SSH enabled on a client, or you wish to add the client with a different SSH account that has not already been setup, then you can create a custom installer package. If you also have Apple Remote Desktop then you can install and run this package remotely. This will create a local SSH account, enable SSH with secure SSH and also hide the local account. Once the PKG is created you can then deploy it via ARD.
![](fig03.jpg)
Fig. 3. Casper Recon, creating a QuickAdd.pkg to deploy via Apple Remote Desktop.
If the clients are not already on the network, or are either new machines or future purchases, then you can setup some PreStage Imaging. PreStaging allows you to automate the creation of new entries in the JSS when a client attempts to connect. Under the Management tab and then PreStage Imaging of the JSS web browser you can create a new PreStage.
Casper Admin
The next step is deciding what content gets deployed to whom. The advantage of a package-based distribution is that you can create separate configurations for different clients, but still use the same source content. The Casper Admin tool is used to manage the main Distribution Point, which is then replicated to all other distributions points.
Launch Casper Admin and connect to your JSS., Iit will then mount the Distribution point as "CasperShare" on to the desktop using the credentials defined in: JSS – Management – Distribution Points – File sharing – Read / Write Username. You will then get a blank Casper Admin Window. On the left of this window is the list of Configurations and File Servers, in the middle is the Categories and then the content.
The next step is to upload the content. Drag the DMG's, PKG's and script files on to the Casper Admin window and they will be uploaded and placed into the correct folders on the share. They will however appear in bBlue as they are not in any category. From the tTool bar, create nNew cCategories. These will help you to structure your content. Useful , create categories could besuch as Adobe, Apple, Printers, Scanners, Drivers, Update etc. As you use Casper more you will probably create even more categories. Drag the packages into the relevant categories. Double click on a package to edit its details. In the popup window you can get a Summary of the package, creation date, format, JSS ID etc, the Info tab allows you to change the display name and category it belongs to. In the Options pane you can set the package priority, this defines the order in which packages are installed from 1-20 with the lower number being installed first.
The OS needs to be set to 1, as it is the first to be installed and also will then be installed by a block level copy which is much faster and accurate.
![](fig04.jpg)
Fig. 4. Casper Admin, Package information window, select a priority from 1-20.
Once you have all the packages uploaded and categorisedcategorized you can start making configurations. In the tool bar click new config, give the config a name and description. Choose from Standard or Smart configuration, a standard configuration is a new blank configuration and is best used for core configurations that will be central to all or most configurations. In this configuration you can then put the base OS, base applications and scripts. Click "Ensure that Computers imaged with this Configuration are managed" and enter the SSH account on the client. You can then choose an AD Binding to auto bind to after imaging.
![](fig05.jpg)
Fig. 5. Casper Admin, Standard Configuration creation window.
A smart configuration is then based on an already created standard configuration, which you will then use to add specific applications.
![](fig06.jpg)
Fig. 6. Casper Admin, Smart Configuration based on the "Base Core System" standard configuration.
You can then drag the relevant packages in to the configurations on the left within Casper Admin. When you view a smart configuration it will also display the packages within the Standard Configuration on which it is based. Click Hide Parent to hide these when viewing.
In order to add a printer for deployment, firstly you need to add them to the machine you are running Casper Admin on, then click the Add printer button, you will now be given a list of printers to add.
Adding a script is also easy, add them in the same way you would add a package then double click them in Casper Admin and choose from the priority that the script will run, i.e. before imaging, after imaging or at reboot. At reboot means the script will be added to the JAMF First Run script that is run once the client is imaged and has booted locally. The First Run script will contain, all of the "At Reboot" scripts, the AD auto binding, any Printers and any Adobe installs, as defined in the chosen configuration. (see Fig. 7) We now have everything installed and setup ready for deployment.
![](fig07.jpg)
Fig. 7. Casper Admin, on the left the various different configurations, on the right the different categories and in the middle the deployment content, DMGs, PKGs, scripts and printers.
Casper Imaging
Casper Imaging is the application used to connect to the JSS and deploy the relevant configuration to the client. Casper Imaging can be run from any booted drive so does not have to be run from within a NetBoot image. If you want to image a drive locally, then you can run Casper Imaging locally, login to the JSS, choose the drive and configuration you require, then deploy that image from the Distribution point on the network.
However the advantage to the Casper Suite lies in the automating of the whole imaging process so that there is very little user input. This means that when Casper Imaging is run, it logs into the JSS, checks the client to see if it is in the database and then gathers the configuration for deployment. The client then mounts the Distribution Point, runs any "before" scripts, copies the Base OS as a block level copy, then installs all the remaining packages and any "after" scripts. The client reboots, runs the First Run script and is ready to login.
In order for Casper Imaging to do this it needs what is called Autorun data, each record in the JSS has an autorun entry. If the computer is already in the JSS this can be edited? in the Inventory Pane. Once a client is added? via Rrecon then the autorun can be manually edited. This only needs to happen once however and any new packages that are installed via maintenance can be automatically added to the client's autorun. The PreStage iImaging can also define the autorun details so that new machines can be imaged with little user input, all they need to do is point the client to boot from the network.
Casper Remote
The client is now imaged and ready for use, however, what if an update is released or a new piece of software is required? The idea of a package-based system is that you could install packages as required. With Casper there are a few ways to deploy updates and extra packages. One method is to use Casper Remote. This only works for computers that are currently turned on or will become active within a short time. Casper Remote is used on a computer to connect to other clients via SSH and then instruct them to connect to the Distribution Point and pull the required software / printer or script down, or run various advanced settings. This is a time when dividing you computers into buildings or/ departments and you packages into categories is advantageous. When you launch Casper Remote you need to login to the JSS, you will then get your list of computers and also your content. Select a client and then a package to install and click go. If you select more than 1 computer you will see on the right side of the window the computers that were successful, those that fail and those that could not be contacted. A log will also be submitted which can be accessed later under the Logs – Casper Remote Logs section of the JSS web interface. When installing packages with this method you can tick the "Update Autorun" box to enable the installation of that package the next time that client is imaged
![](fig08.jpg)
Fig. 8. Casper Remote.
You can also use Casper Remote to add edit or delete local accounts, set the EFI password, reset the SSH account or bind to AD settings. Also set the client to reboot from the netboot server or run advanced settings such as run Recon, flush caches, verify the startup disk or run a Unix command etc.
If the client is offline then this method will not work, but one of the great features of the Casper Suite is the use of a policy. Using a policy enables you to create automated actions that can help you to maintain your clients. There is not much that cannot be done with a policy. In later articles we will investigate many of the ways to use policies in combination with other aspects of Casper. To make use of a policy, Casper uses what are called "triggers", these are task-based schedules. The default trigger is "15mins", this means that every 15 minutes the client makes an SSH connection to the JSS and checks to see if any policies with this trigger relate to that client. If so then the client executes that policy. If you chose to use startup scripts and login hooks, then policies with these triggers will be checked respectively. You can make your own task schedules under Management – Scheduled Tasks in the JSS web browser.
Casper VNC
If you need to control or monitor a client remotely then you can use Casper VNC, which can be access via the tool bar buttons in Casper Admin. Select the client from the list and either Control or Observe the client. Casper Remote will SSH to client and start the VNC server, then when you're finished it will stop the VNC server.
Casper Mobile
If you have an iPhone or iPod touch, you can use the Casper tools via Casper Mobile.
Self Service
The final thing to look at is the users themselves. Casper is a great suite for managing and imaging client Macs and enables an administrator to reduce the amount of client side input from technicians, etc, during imaging and maintenance. However what if the user needs to have an input?
New in Casper Suite 6 is an application called Self Service, this allows administrators to assign policies that users can execute without any privileges needed. Self Service is a web-based tool so you can include html and web links in the item descriptions. You can create a self service policy the same way you make a normal policy but enable it as a self service item and then fill in the self service section.
![](fig09.jpg)
Fig. 9. the Self Service section of a policy created in the JSS web browser.
The client side tool Self Service then accesses these. You can either assign access based on a user login or choose anonymous login, where the Self Service items are restricted per machine. If you choose to "Feature This Policy on the Main Page" then it will appear on the top strip. You can also add icons for each item. This allows you to empower your staff or clients to install items themselves and execute scripts, without having to give them administration rights.
![](fig10.jpg)
Fig. 10. Self Service application, the top strip has the feature items with custom icons.
Conclusion
As an all round Mac management suite the JAMF software is hard to beat. This article covers only the basics that can be done with Casper and in future articles we will look at using Casper to deploy Microsoft Windows to your Mac clients as well as some advanced methods to help you to automate the management and maintenance of your client machines.