Disabling Bluetooth on 10.8 with MCX

robo
New Contributor III
New Contributor III

I'm posting here to report what I've found, but also to see if it jives with what others are seeing (as it's quite possible I've missed something).

(Backstory: I've inherited a classroom setup that I'm working on migrating from 10.6 to 10.8, where most settings are configured via MCX, delivered by the JSS.)

One problem has been disabling Bluetooth on the 10.8 machines. On 10.6, the System Level Enforced boolean domain-default pair com.apple.MCXBluetooth - DisableBluetooth was successfully being used to disable Bluetooth, but while the MCX setting is clearly being delivered to the 10.8 machines (shows up in mcxquery's output), it seems to have no effect - Bluetooth remains on, and all users can freely toggle it on and off.

I found, though, that the System Level Enforced boolean domain-default pair com.apple.Bluetooth - ControllerPowerState has the desired effect: Bluetooth is off, and can't be turned on.

So I guess this is what I'll be using to disable Bluetooth on these machines for now, but I was curious if anyone has insight on why the other setting is not working (or if there is any reason this 'MCX labelled' one exists when applying MCX to the 'regular' Bluetooth preference seems to do the job)...

Thanks,
R

4 REPLIES 4

Bauer
New Contributor

If you want Bluetooth truly disabled, you could just disable the Bluetooth extensions by removing or renaming them in /System/Library/Extensions at time of imaging. If the systems are already imaged and done, renaming/removing those files with a policy should be pretty straightforward, and you could set the policy to ongoing enforcement to make sure OS updates don't bring Bluetooth back.

robo
New Contributor III
New Contributor III

Bauer - true, but where possible I'd like to use managed prefs rather than by modifying system files. It seems that controlling com.apple.Bluetooth with MCX works, so I'm happy to use that.

robo
New Contributor III
New Contributor III

Bah... A few days later, and mysteriously this setting is no longer working either. Non-admin users are able to toggle Bluetooth on and off.

MCX really seems broken in 10.8 for controlling system stuff.

robo
New Contributor III
New Contributor III

After yet more futzing, the following combination seems to work, although I no longer have much confidence in 10.8 MCX for this. I believe I thought com.apple.Bluetooth was working alone due to leftover settings from com.apple.MCXBluetooth which I'd been using before.

com.apple.Bluetooth
ControllerPowerState=false
(User Level At Every Login)

com.apple.MCXBluetooth
DisableBluetooth=true
(System Level Enforced)

Yes, having the controller power state set as 'User Level At Every Login' seems strange, but this combination (not 'System Level Enforced' for that setting) appears to result in the Bluetooth checkbox being off and greyed out for users.

But overall, trying to wrangle 10.8 system settings with MCX over the past week or so has brought me closer to punching the screen of a Mac and then jumping out the window than much else in the last few years :P