TouchID Status Not Working with macOS Sonoma

Starlord
New Contributor II

Ever since we upgraded to macOS Sonoma, the following script is no longer working that is used as an Extension Attribute within Jamf Pro to report if TouchID is Enabled and Disabled:

#!/bin/sh

TouchIDStatus=`bioutil -rs | grep functionality | awk '{print $4}'`
if [[ "$TouchIDStatus" = "0" ]]; then
result="TouchIDDisabled"
elif [[ "$TouchIDStatus" = "1" ]]; then
result="TouchIDEnabled"
else
result="Error"
fi
echo "<result>$result</result>"

What I see for TouchID is Error.

Any advice is very much appreciated!

1 ACCEPTED SOLUTION

jamf-42
Valued Contributor II

looks like your $4 needs to be $3 

View solution in original post

6 REPLIES 6

jamf-42
Valued Contributor II

looks like your $4 needs to be $3 

Starlord
New Contributor II

Success! This resolved my issued and thank you SO very much!!

sdagley
Esteemed Contributor II

Not to quibble but using $NF instead of $4 would work better since it grabs the last field and will work in macOS Ventura or Sonoma.

Starlord
New Contributor II

Thank you for this additional suggestion!

scottb
Honored Contributor

So, just been looking for something, but this one in Sonoma anyways, doesn't seem to work.

I get "TouchIDEnabled" even though it's off.

Rebooted and ran two more recons, same result.

Anyone reporting otherwise?  I double-checked TouchID setup on my test Mac and it's definitely off.

scottb
Honored Contributor

OK, was helped on MacAdmins, and got this nifty piece.

Works well, if you're looking to see if Touch ID has been actually setup.

Kudos to @franton for the code 🙏

#!/bin/zsh

touchIDstatus=$( /usr/bin/bioutil -s -c | /usr/bin/awk 'NR==1{ print }' | /usr/bin/tr -d '\t' )

if [[ "$touchIDstatus" == *"no fingerprints"* ]];
then
	echo "<result>Not configured</result>"
else
	echo "<result>$touchIDstatus</result>"
fi