new image/policy ideas for 1:1 refresh

tlarkin
Honored Contributor

Hey everyone,

I am going to do my first refresh this summer of laptops. The district is either going to purchase the new white macbooks or new Macbook Airs. They haven't decided what to do yet. This however, gives me an opportunity to change things up again. Perhaps implement some changes I wish I had made but due to deployment or time I could not have done so. I was thinking about perhaps putting Growl on the clients so I can send users messages easily. Anyone using Growl in mass? Do you like it? Is it effective? I am also thinking about deploying iHook in mass as well, anyone using this in production? What about Radmind? Anyone using that?

I am thinking about tweaking my post image shell script to call Python for a part where it displays the current computer name and forces the tech who just imaged it to either confirm it is the right name (naming convention based on building location and asset tag) or change it to the proper name. Finding duplicate names in the JSS is not so easy. Since Python has lots of bridging abilities to the GUI I can script user interaction with it and put it in my shell script.

Since we are refreshing all of our equipment this gives me a chance to rebuild everything from scratch, since I am going to have to wipe and upgrade all the servers, install our new xserves, build a new image, and if 10.7 ships with our new laptops I will be going to 10.7. I am hoping I can get away with running 10.6 next year and do 10.7 the following. I like to let apple release a few updates before I switch.

So, anything you guys are using outside or alongside Casper and you want to chime in, I would appreciate it. So far I am looking at adding, iHook, Growl, maybe Radmind, and then using the Casper framework to script/configure/pushout/trigger these things.

Thanks,

Tom

18 REPLIES 18

Not applicable

We use Growl here, but I haven't yet started actually doing anything with it. You might find this script useful, however...

tlarkin
Honored Contributor

I really think Growl and iHook could be very useful. If I need user interaction I can use iHook, if I need to inform my users that they need to interact with iHook, I can notify them via growl, and then I can use the self service interface to make the end user experience a good one....

Hopefully I will have time to test this stuff and at least get it into production so I can really make use of it.

Bukira
Contributor

Yea we use growl and ihooks

Criss Myers

tlarkin
Honored Contributor

I am also looking at Radmind, to detect system changes and revert them if a user changes something they shouldn't. Some of our users have admin access, anyone using radmind with Casper?

Criss, how do you like the Growl and iHook combo? Working out nicely? I am thinking with Growl/iHook and self Service I can easily notify users to interact with self service and iHook policies.

thanks,

Tom

golbiga
Contributor III
Contributor III

What's the best way to implement growl in an image? Right now I've been tinkering with it and only do it as a login install on test machines. To make sure growlhelperapp is in the users login items, I've been using mcxset, but I'm wondering if I should just use MCX from casper. I think i remember seeing a screenshot recently of growl mcx.

Thanks
Allen

rmanly
Contributor III

The following is honest curiosity (not cockiness) as your scripts
often give me cool ideas! ;)

What are you thinking of doing with Growl that you couldn't do with
"jamf displayMessage" or Applescript windows? The same applies to
Python GUI stuff...

#this is the window block
/usr/bin/osascript << EOF
tell application "Finder" activate display dialog "Running Maintenance Tasks" buttons {"Finish IT!"}
with icon caution
end tell
EOF

I have run scripts in the background etc. and had them notify me upon
completion (or whatever) with Growl messages so I am familiar with its
usage.

iHook I had seen some time ago but it deserves another look now that I
am writing exponentially more complex scripts. Radmind looks cool
although off the top o my head I can't think of where I would use
it...sort of like jamf trigger meets Puppet config…could be
interesting.

Ryan M. Manly
Glenbrook High Schools

tlarkin
Honored Contributor

If I need the user to do something Growl can notify them 100 times a
day to do it. I know when Growl bugs me I may let it slide for a few
minutes but then I just click on it because it bugs me. Plus, growl
looks pretty.

bentoms
Release Candidate Programs Tester

Growl is also installed by cs5.

So I've been looking at it too.

Growl to notify users.

iHook to display messages @ login screen / logout.

Regards,

Ben.

rmanly
Contributor III

lmao

Fair enough!

That is the problem with us Mac users...everything always has to be pretty.

LOL

Ryan M. Manly
Glenbrook High Schools

tlarkin
Honored Contributor

It would be totally sweet if Self Service supported Growl, *Hint hint*

stevewood
Honored Contributor II
Honored Contributor II

Like Tom, I like how non-intrusive Growl using GrowlNotify can be. It's
On Tue, Apr 12, 2011 at 4:12 PM, Thomas Larkin <tlarki at kckps.org> wrote:
super simple to use and can just hang out in the corner if you like. For
more intrusive methods I use the built in JAMF method that Ryan mentioned.

As for iHook, I was using this for doing notifications at login/logout while
doing updates, but have switched to using the jamfHelper instead. You can
go full screen with it, or HUD mode, and it looks nice. Plus, Alan out of
our Midwest office wrote a nice little script to call it, and you can pass
it images to display to the user. It makes it look very "Mac"ish. ;-)

One of the things I didn't like about iHook is that you need to have a
separate hook for each time you call it. That meant pushing the hook to the
machines, then calling it later. I imagine you could script this, but I
never got around to it (one man shop and all).

Oh, the catch with jamfHelper is to make sure you put a killall in the Run
Command portion of any Policy, otherwise jamfHelper will hang out all day
(killall jamfHelper).

Steve Wood
Director of IT
swood at integer.com

The Integer Group | 1999 Bryan St. | Ste. 1700 | Dallas, TX 75201
T 214.758.6813 | F 214.758.6901 | C 940.312.2475

bentoms
Release Candidate Programs Tester

Can you please give us an example of your jamfHelper script?

Regards,

Ben.

stevewood
Honored Contributor II
Honored Contributor II

This is the script I created, a simple one liner:
On Tue, Apr 12, 2011 at 4:33 PM, Ben Toms <bentoms at btopenworld.com> wrote:

#!/bin/sh

# Name: lockscreen.sh
# Date: 28 June 2010
# Author: Steve Wood (swood at integer.com)
# Purpose: this will lock the screen with the JamfHelper lock

/Library/Application
Support/JAMF/bin/jamfHelper.app/Contents/MacOS/jamfHelper -windowType hud
-lockHUD -description "$4"

The one that Alan Benedict wrote is here:

#!/bin/bash
# JamfHelper Screen Lock
# Customized by yours truly... ABenedict at integer.com :)
# Varibles
lastreboot=`uptime | awk '{print "Your last reboot was: " $3 " " $4 }' |
sed -e 's/.$//g'`
heading="$4" # This shows up above the image in a bigger bolder font than
the description field
image="$5" # Options are as follows [ maintenance | new | update | hello ]
each give you a diffrerent image to give the user better feedback of what is
happening on their system
description="$lastreboot ago. $6" # This shows up below the image in a
smaller lighter font than the heading field
iconpath="$7"

# Default description if none is passed through the variable
if [ "$4" == "" ]; then
heading="Installing Updates"
fi

if [ "$5" == "" ]; then
image="update"
fi

if [ "$6" == "" ]; then description="$lastreboot ago. Please do not close your laptop or unplug
anything until this screen disappears. Feel free to call the help desk if
this screen does not go away after 5 minutes."
fi

if [ "$7" == "" ]; then
iconpath="/Library/IntegerIT/HelperImages/"
fi

# Case statement to assign specific graphic.
case $image in
maintenance )
icon="maint.png" ;;
new )
icon="new.png" ;;
update )
icon="updt.png" ;;
hello ) #just for kicks and giggles ;)
icon="hello.png" ;;
esac

# Script contents
/Library/Application
Support/JAMF/bin/jamfHelper.app/Contents/MacOS/jamfHelper -windowType fs
-icon "$iconpath$icon" -heading "$heading" -description "$description" &

#Debugging Code
#echo "Heading = $4"
#echo "Description = $6"
#echo "Image = $5"
#echo "Icon Path = $iconpath"
#echo "Icon Path + Icon = $iconpath$icon"

exit 0

Steve Wood
Director of IT
swood at integer.com

The Integer Group | 1999 Bryan St. | Ste. 1700 | Dallas, TX 75201
T 214.758.6813 | F 214.758.6901 | C 940.312.2475

rmanly
Contributor III

I have my Self-Service policies for the bigger bundles of CS5 (I made
an "Art Pack" and a "Web Pack") run a Unix command at the end that
calls "jamf displayMessage blah" to let them know that the install is
complete etc etc.

You could presumably do this with growlnotify as well.

*runs off to test it*

Ryan M. Manly
Glenbrook High Schools

bentoms
Release Candidate Programs Tester

Thanks. Does look simple enough.

Regards,

Ben.

rmanly
Contributor III

Anyone have a doc for jamfHelper functionality / syntax?

Ryan M. Manly
Glenbrook High Schools

stevewood
Honored Contributor II
Honored Contributor II

I don't believe it is documented anywhere. At least, it wasn't when I tried
On Tue, Apr 12, 2011 at 5:00 PM, Ryan Manly <ryan.manly at gmail.com> wrote:
looking for it. I was able to get what I needed by simply running it with a
-help switch, I believe. Just navigate there in a terminal and try it:

/Library/Application
Support/JAMF/bin/jamfHelper.app/Contents/MacOS/jamfHelper -help

That will provide the documentation that is built in to the app.

Steve Wood
Director of IT
swood at integer.com

The Integer Group | 1999 Bryan St. | Ste. 1700 | Dallas, TX 75201
T 214.758.6813 | F 214.758.6901 | C 940.312.2475

rmanly
Contributor III

Tried that...must have fat-fingered something working now :)

Ryan M. Manly
Glenbrook High Schools