Import list of computer names and fill user and location form

DeployAdam
New Contributor III

Does anybody know a way to import a list from Excel with computer names and fill the location fields (that end up in a predefined smart computer group)

Would it further be possible once the file is imported into Casper to match a new computer with a pre given name and binary to the once already imported in Casper?

7 REPLIES 7

mm2270
Legendary Contributor III

There was a developer tool from JAMF called JSS Computer Importer, or something like that, that was on their JSS Dev Kit download DMG, but I haven't looked at that in a while now, and I have a feeling it probably wouldn't work with the 9 series of Casper Suite anymore, since it hasn't been updated in years now.
But it had the ability to take a specially set up csv file with pre-defined Computer information and populate the JSS with basically stub records. As long as the MAC address lined up with a computer that was later enrolled, once the Mac was officially enrolled it would populate the existing record with real data from the Mac.
The utility would only allow you to pre-import computer records though. I don't know of anything that would let you create a Smart Group up front from that information unless you had your Smart Groups looking for something that was going to end up being the same for each Mac.

Not sure if anything I've said even helps, but there it is.

were_wulff
Valued Contributor II

Hey @DeployAdam

If nobody on JAMF Nation has done something similar, it would be worth reaching out to our Professional Services team to see if that’s something they’d be able to get worked out for you.

Part of what they can help out with here includes custom scripting, API work, custom development projects, inventory beyond what can be easily done in the webapp, and things of that nature, so it’s possible that, working with them, we’d be able to get something put together that would either be able to do exactly what you’re looking for or be able to do something very, very close.

We’ve got a quick overview PDF of what sorts of expanded services we offer if you’d like to take a look:

http://resources.jamfsoftware.com/documents/services/JAMF-Software-Expanded-Services.pdf

The easiest way to get in contact with someone from Professional Services would be to give your Technical Account Manager a call (or an e-mail) and let them know what you’d like to do.

Thanks!

Amanda Wulff
JAMF Software Support

loceee
Contributor

Bump on this one. I am about to look at doing something create stubs for a more controlled pre-stage. Anyone done anything like this that wants to share their scripts?

calumhunter
Valued Contributor

I think python-jss might be useful https://github.com/sheagcraig/python-jss

I remember in like 9.0 or 9.1 I tried the jss-computer importer and it didn't work. It would create the objects but then when I enrolled the machine later, it didn't update the pre-created record, instead it created a new one. I assumed this was because of the change from unique identifier being the MAC address to the UUID

loceee
Contributor

I've actually just been playing around with it. I interrupted a pre-stage imaging run and it left a stub that you can attach location attributes to. It's got a populated MAC address and UUID, no serial #

UUIDs aren't much use though for pre-staging stuff I want to drop ship. Will have to see if it can get by with just a MAC address or even better a serial, otherwise it won't be any use.

jesseshipley
Contributor

Are the usernames on the machines standard? You can just create a script that runs once on login that sets the user info. If your users are bound to LDAP/AD/OD then it's even better as it will fill in the remainder.

My process is to run a script in a policy that runs at first login and then updates the JSS with your info assigning the machine to you. My script is below but you'd need to choose the method for getting the data. I just dscl and have the machines query, grep, and cut the piece I need for each.

#!/bin/sh
#set user variables
user=`ls -la /dev/console | cut -d " " -f 4`
email=
phone=
realname=
title=
department=
assettag=

#update JSS user/location data
jamf recon -endUsername $user -realname $realname -email $email -phone $phone -position $title -department $department -assetTag $assettag

loceee
Contributor

Not quite what we are after here. Want to make JSS stub records (like Profile Manager holder records) for un-enrolled computers that can have location/other data associated. Then we can drop ship Macs to site, just get end users to QuickAdd them and have them provisioned.

Set a building, department and then have software SOEs delivered appropriately.

As per https://github.com/patchoo/patchoo/blob/master/docs/patchoo_deploy_overview.md Patchoo deploy, using persistent data associated with the machine record within the JSS is great for deployment.

JAMF, can you chime in as to whether a stub record with a serial or MAC address is enough for newly enrolled Mac to associate?