Senior IT Support Manager at UNT CAS and has been a professional in IT for over 20 years. He love his family, likes his motorcycle, and figures IT out!

Installing and configuring Munki with Puppet

“Puppet is a powerful system administration tool for Macs. But Munki is better at managing software packages. Do the smart thing and use puppet to deploy and configure Munki on your Mac clients.” – Chris McCafferty I couldn’t have said it better myself. Thanks for the recipe! Here’s my version of the same solution … Place the following code in your modules/munki/manifests/init.pp file: class munki { # $munki = ‘munkitools-’ $munki_download = "$munki.dmg" $munki_server = ‘’

iPhone – Signature per Account

I have previously posted about how I have an iPhone and love it, except for the fact that it’s very user friendly. What do I mean? I’m more of a technical user. The fact that the iPhone is so easy to use, makes it hard to do slightly more technical stuff. Some trivial email things that frustrate me: No Custom Email Signatures per Account  Solved! No integrated Exchange Task Sync  Solved! Inability to Send As another email account, on the fly.  Solved! I previously blogged about how iOS didn’t allow custom signatures per e-mail account. Seems that it only took Apple 7 major revisions of their OS to include this as a feature.It came up as a topic cause I’m still using an iPhone 4 (which was a gift) running iOS 6.  Told my friend I wouldn’t buy another iOS device and cited this issue as a humerus reason. “If iOS could give me a signature line per account, I wouldn’t need to switch to Android,” I said. This was the response:

Mozilla Maintenance Service

So … I finally got around to removing the Mozilla Maintenance Service from my deployment of Firefox.  It was pretty easy, but surprisingly unexplored by the blogging community.  I’m by no means calling first on this post, just saying I did it through self-discovery. Why would I want to remove this service?  Quite simply, we have an automated process for our current roll out of Firefox updates.  Mozilla Maintenance Service is a long overdue, but unnecessary feature for my infrastructure.  Additionally, I don’t like things being installed arbitrarily.  I may investigate if I would rather use this service for silent updates of Firefox in the future. I can boil this process down to two basic needs: Block Service InstallPrevention of future and new installs of the Mozilla Maintenance Service. Silent RemovalSilently removal of the Mozilla Maintenance Service from systems with it already installed. Block Service Install Note: Thanks to Ph0neutria for helping me  determine that this doesn’t work for new installs.  It’s just for the upgrade, as the bugzilla report states.  See the comments for details. Fresh Install Create an .ini file to disable the install of the Mozilla Maintenance Service, as shown: [Install] MaintenanceService=false Install firefox with the /INI switch, as shown (assumes the .ini file is in the same directory as the Firefox setup.exe): Firefox Setup 22.0.exe /INI="C:FullPathtoFileFirefox.ini" Supporting Documentation. Application Update Block Mozilla Maintenance Service from installing by running the following command BEFORE you run the Firefox Setup X.X.X.exe installer: REG ADD HKLMSOFTWAREMozillaMaintenanceService /v Attempted /t REG_DWORD /d 1 /f Supporting Documentation. Silent Removal You can silently uninstall the Mozilla Maintenance Service with the following command: x64 Systems:“%ProgramFiles(x86)%Mozilla Maintenance ServiceUninstall.exe” /S /v"qn" x86 Systems:“%ProgramFiles%Mozilla Maintenance ServiceUninstall.exe” /S /v"qn"

Microsoft Endpoint Configuration Manager

SCCM – Query/Collection by MSI Installed

Most of the time, when adding an SCCM Collection based on installed software, I’ll simply use the Add/Remove Programs Attribute Class.  However, in a recent case, the installed software doesn’t show up in Add/Remove Programs, but it is an MSI installer.  In this particular instance, I wanted to remove the Java Updater. Since approximately 1.6.18 / 6.0 update 18, Oracle (formerly Sun) has included Java Auto Updater as a separate package that is automatically installed with the JRE [ref].  This makes it really easy to remove: msiexec /qn /x {4A03706F-666A-4037-7777-5F2748764D10} Now, I just needed to figure out how to target all computers with that package code installed.  After a lot of Googling, and turning up nothing useful, I decided to dig into SCCM myself.  Here’s how to set-up the Criterion Properties, for a Collection, to look for machines with Java Updater installed: If you’d rather just have the SQL, here’s what my system generated: select SMS_R_System.ResourceId, SMS_R_System.ResourceType, SMS_R_System.Name, SMS_R_System.SMSUniqueIdentifier, SMS_R_System.ResourceDomainORWorkgroup, SMS_R_System.Client from SMS_R_System inner join SMS_G_System_INSTALLED_SOFTWARE on SMS_G_System_INSTALLED_SOFTWARE.ResourceID = SMS_R_System.ResourceId where UPPER(SMS_G_System_INSTALLED_SOFTWARE.ProductCode) = "{4A03706F-666A-4037-7777-5F2748764D10}" Hope this helps others out there. Cheers!