firmwarepasswd in a script

New Contributor III

Good morning,

I wrote a short script to set the firmware password on our Mac OS 10.11 machines. Here's the line in question:

/usr/sbin/firmwarepasswd -setpasswd 1Password2Goes3Here -setmode command

It appeared to work when run, but now the Mac in question will not accept anything I give it as a password. I think I used the command incorrectly and I'm not sure what was actually set as a password. Any suggestions as to what I should try, based on the line above?

Thanks in advance!



have you looked at this page?

Contributor II

If you did happen to set the password and can't find what it was, unfortunately you will have to call in GSX to get it unlocked. Provided you have proof of ownership of said device.

New Contributor

The same thing happened to me, luckily on a test unit. Seems like firmwarepasswd wants user input, rather than the password in a parameter. In my case the password was blank, as it sent a newline. I suggest you try booting the machine, running sudo firmwarepasswd -delete , authenticating and then hitting return at the firmware password prompt.

To script firmwarepasswd in a #!/bin/sh, here's what worked for me:

/usr/bin/expect -c "spawn /usr/sbin/firmwarepasswd -setpasswd ; expect ":" ; send "1234\n" ; expect ":" ; send "1234\n" ; interact"

New Contributor II

i tried this your script, from terminal efi password was configured succesefuly, but when i sent this script by MDM ( MobileIron) it has not been set .


/usr/bin/expect -c "spawn /usr/sbin/firmwarepasswd -setpasswd ; expect ":" ; send "1234 " ; expect ":" ; send "1234 " ; interact"