Further Adventures in Macland - Parallels SCCM Agent a few months later
by, 24th February 2014 at 03:23 PM (8800 Views)
Assuming that you're interested in this, I would suggest that you read my previous three blog posts first. This will put this new post into some context and it saves me having to write it all again! Links to the previous posts:
My previous blog posts on this subject generated quite a lot of attention, not least from Parallels themselves. I have been in regular contact with the lead developer of this product who has given me the opportunity to provide feedback and a few bug reports too!
Anyway, in brief, last year I evaluated options to manage our Macs using System Center Configuration Manager 2012 SP1. We were using a mixture of DeployStudio and shoe leather to manage our Macs before and considering we have the better part of eighty of them on site, this was getting unmanageable. I evaluated both the built-in Mac agent in SCCM and a third party management plugin for SCCM made by Parallels. Even at the time, the Parallels agent seemed like the better option so we plumped for that one. This blog post is going to be about the improvements that Parallels has made to their product and how well it has worked since we started using it in anger back in September.
Parallels haven't sat still since March last year which was when we first looked at the product, they have made some improvements and added some major new features too. As well as fixing bugs, they have added three large and visible features. These are:
Built-in Profile Generator
In v1.5, Parallels put in a profile generator into their product. Instead of having to have a copy of OS X Server and use Profile Manager to generate .mobileconfig files, you can use theirs instead. This simplifies matters a little in theory, it means that config files can be generated directly from the ConfigMgr console.
This is a nice feature to have but it's very much a "Version 1" product if you understand my meaning. It has some of the main options available to you but nowhere near all of them. If you want to do more advanced stuff, you still need a copy of Profile Manager on OS X Server running. This is very much a work in progress though and Parallels tell me that this is being improved continually.
Operating System Deployment
Parallels introduced and OSD component for Macs in v2.0 of their agent. They have actually managed to shoe-horn an OS X Image into a WIM file and deploy it to Macs over the network.
The way they've done this is simple but effective. They have written a Netboot server which runs on Windows. You need to install this on a PXE enabled distribution point. Parallels say that it also needs to be installed on a DHCP server but I've found that this isn't the case. As long as there is an IP helper point at the server that's hosting the thing, you're golden. When you install the Parallels agent on the server, the NetBoot agent is now an option. In that wizard is an option to enable support for unknown Macs.
To create the image, you need a master Mac. You need to install two copies of OS X onto that Mac on two partitions (Master copy and Slave copy). It doesn't matter if one is on an external hard disk but for simplicity's sake, I did two partitions on the same disk. You boot the Mac up using the Master partition first and install all of your programs and updates. Once you've finished, you boot the Mac up using the Slave copy of OS X and open /System/Library/CoreServices/System Image Utility. You create a NetRestore image (NOT NetBoot as I did the first time!). Once the image process is finished, you copy the resulting NBI file onto the server hosting the Parallels agent.
You then need to open the ConfigMgr console on that server, go to the Software Library workspace and go to Operating System Deployment. Go to Operating Systems, right click on Operating System Images and choose "Add Mac OS X Operating System Image". A wizard appears which asks you to point at the NBI file you generated and then to a network share where it creates a WIM file for ConfigMgr. Once that has been generated, it adds it to the console by itself but one quirk I have noticed is that if you try to create it in a folder, it doesn't go in there right away. It will instead put it in the root. You have to move it manually afterwards.
The next step is to create a task sequence. Go to Task Sequences, right click and choose "Create Task Sequence for Macs". A wizard appears which lets you choose which image you want to deploy. Enter a name for the task sequence, choose your image, press OK and the task sequence is generated
From herein, it's pretty much standard ConfigMgr faire. You need to distribute the image to the DP that's on your Parallels server and deploy the task sequence it to a collection. As of v2.1, you can deploy it to Unknown Computers and build new Macs from it. When you boot your Mac next, hold down the Option(alt) key and you should see a Netboot image appear in the bootable volumes list with the name that you gave your task sequence. You should also see it if you go to System Preferences then Startup Disk.
When you boot the Mac from the Netboot image, you just get a standard NetRestore instance. It will ask you where you want to restore your image to and do it for you. No muss, no fuss.
What it doesn't do at the moment is any kind of customisation of the image for you post deployment. You will need to name the freshly deployed Mac and install the Parallels SCCM agent by hand once it's finished. However, this is all scriptable and I have written a script to do this plus a few extra bits. Parallels tell me that this will be improved in future versions.
Client Side GUI
One of my biggest criticisms of the Parallels agent when I first looked at it was that there was no client-side GUI. Although the agent was installed on the Mac, you didn't have any kind of visible sign that anything was there. In day to day usage this wasn't much of a problem but it made troubleshooting the product a little tricky and sometimes it's nice just to know that the thing is there!
With v1.5 they put in a System Preferences pane which gives you basic information about the client and tells you that it is working.
In v2.5, the most current version, they have introduced visible adverts for software as well. If you set a package as visible, it pops up a window saying that a package is ready to install and will let you install it now or postpone the installation for a set amount of time. They have also put in an option to reboot the Mac after software deployment and to make this optional.
These are all big, big improvements. Macs aren't quite first class clients in ConfigMgr when you compare them to Windows clients but the gap is closing. The agent has come on in leaps and bounds since last year and frankly they have more than validated our choice to use the Parallels agent over the Microsoft one. When you consider that the only improvement that Microsoft put in for their Mac agent in ConfigMgr 2012 R2 is that they've put a GUI Installer in for their client, this makes it all the more impressive.
How has the Parallels Agent performed?
Very well indeed. Honestly, I couldn't be more pleased with it. We have used it to push out software that we missed from our main image. We have pushed out OS updates, updates for Flash and Java, updates for Office and one time, a critical update for Adobe Prelude where it wouldn't launch under OS X 10.9.
We've also used it to push out profiles which has greatly simplified processes like joining our Macs to the AD domain, sending out wireless profiles to them, setting desktop settings, putting shortcuts onto the Dock and suchlike. Admittedly, you can do all that using Profile Manager but pushing them out using this way means that you don't need to have them joined to Open Directory and have a Magic Triangle in place. As I'm sure you can imagine, this simplifies the structure of your network significantly. The only reason we have an OS X Server in place now is to generate profiles.
I've also just started building the Macs using the thing and all of this means that building and configuring them is a three step process:
1) Deploy image
2) Give the Mac a name
3) Install the Parallels client
It has performed its function reliably and consistently. I haven't had to sit down and try and troubleshoot esoteric and bizarre errors and the few times I have needed to contact Parallels for a little help I've had an excellent response and had my questions answered and issues resolved quickly and efficiently.
There are still some rough edges but these are getting smoothed. Parallels are working hard on new features and the product is only going to get better. If you have Macs and you have ConfigMgr, get this product. You will be glad that you did.
Total Trackbacks 0