Automator Actions for the Caspers

Looks like Sal et al posted a suite of Automator Actions to link the Casper Suite to Apple Configurator at In my limited tests so far they work pretty darn well! Screen Shot 2016-07-14 at 12.09.27 PM Some pretty cool things here, like having the JSS rename a mobile device when managed through Apple Configurator, having Apple Configurator instruct the JSS to remove a device from a group, clear passcodes, update inventory, and other common tasks involved in workflows when leveraging Apple Configurator for en masse device management. Good stuff!

Powershell Goodies From Vexasoft

There are a number of features that make mass deployment of Mac OS X pretty easy. Some of these would be great to have in Windows. These range from systemconfiguration to networksetup and the ability to look at packages that have been installed and review their bills of material. Well, the good people at Vexasoft have built a number of Powershell libraries that, while they aren’t named as such, do a number of the features that these commands do, just for Windows clients via Powershell. And the best part is, a number of them are free. Let’s look at what some of these commands do:
  • First, there are the cmdlets used to manage the network stack (so similar to various verbs in networksetup). These include Add-NetworkAdapterDNS, Add-NetworkAdapterGateway, Add-NetworkAdapterIP, Disable-NetworkAdapter, Enable-NetworkAdapter, Get-NetworkAdapter, Remove-NetworkAdapterIP, Remove-NetworkAdapterGateway, Remove-NetworkAdapterDNS, Set-(followed by the others from the above sets) and Rename-NetworkAdapter.
  • Second, you can automate binding with Set-Domain. This is similar to dsconfigad but less awesome because it’s third party, but still more awesome than the native tools because it’s easier.
  • Third, rename the system. This is similar to scutil, hostname, sets. Just use Rename-Computer to change the name of a Windows system.
  • My favorite, having written something similar, is probably Get-RemoteDesktopConfig and Set-RemoteDesktopConfig, similar to the kickstart options in OS X.
  • And a tool similar to installer in OS X, Install-MSIProduct, which installs MSIs.
  • Sixth, there’s Set-Pagefile, because if you’re gonna’ change it, do so while imaging to save a reboot later…
  • While there are others, the final one I’d like to mention is still free: Get-RegistryKey, which gives us the ability to basically run the closest thing to defaults commands I’ve found against the Windows platform.
They install as standard Powershell modules, making them easy to drop into practically any imaging environment. Much of these can be done via WMI or Powershell already, but will require a bit more legwork to script. Having them pre-built makes it easier than ever to perform some basic tasks for other platforms en masse, on Windows.

Xsan: Ghost SymLink Killah

An Xsan issue that had disappeared for awhile but that I’ve seen a few times recently. Symptom is that you have one client that won’t mount your Xsan volume. Other clients can mount but not that one. In the logs you see errors similar to the following:
(Error) Store: {channel:0x202b18fa0 localPath:’/Volumes/36Chambers’} bring up failed — will retry
If all of these things are true then you likely, even without having the volume mounted will have a file in the /Volumes/ folder with the name of the SAN. If that’s the case then you have a pretty quick and easy resolution. Rename the file and see if fsm mounts the volume. To rename you will likely not be able to use the Finder, so you may have to use the mv command from the command line. For example (assuming a volume name of 36Chambers ya’ll):
mv /Volumes/36Chambers /Volumes/36ChambersOLD
If not, reboot and it should. Otherwise, grab your Shaolin Wu-tang sword and go to town on the /Library/FileSystems/Xsan/config directory of the client, removing and readding the contents. Once you’re done and all is tested don’t forget to clean up after yourself and trash the OLD temporary file you created…
The original Ghost SymLink Killah
BTW, I’m gonna’ be the lame author real quick: “bring up failed” is just a dumb error code. Maybe I can recommend “Volume could not mount” to any developers who happen to come across this in the future. Or better yet, “Volume could not mount ’cause there’s some crap in the URI I’m attempting to create in the process of mounting”… See, I’m not saying all man pages and error codes need conform to the Elements of Style, nor am I saying they need to be somewhat informative, but not sounding like kindergardeners might help… Keep in mind that error codes are sometimes a developers way to Bring Da’ Ruckus (guess what I’m listening too today)…