Skip to main content
Question

Keychain not Found (Default browser via PreStage Script)


rabiul
Forum|alt.badge.img+4

Hi Nation, 

We have an issue with keychain while we are trying to make google chrome as a default browser via our prestage script. So, basically we have two scripts:

1. PreStage script (trigger set to immediately after the enrollment)

2. Script 1 enables another trigger which sets google chrome as a default browser. 

We are using Jamf setup manager to install chrome. 

The first script looks like this

 

#!/bin/bash # Initial PreStage Script # This script runs a manual policy trigger to # allow the policy or policies associated with that # trigger to be executed. waitForSetupToFinish() { # Wait until setup is complete and the user is logged in. logToFile "Waiting for Setup to complete" currentUser=$( scutil <<< "show State:/Users/ConsoleUser" | awk '/Name :/ && ! /loginwindow/ { print $3 }' ) while ( [[ $currentUser == "_mbsetupuser" || $currentUser == "loginwindow" ]] || ! ( (pgrep -x "Dock") && (pgrep -x "Finder") ) ) ; do # echo "User is not logged in and at Finder" sleep 5 currentUser=$( scutil <<< "show State:/Users/ConsoleUser" | awk '/Name :/ && ! /loginwindow/ { print $3 }' ) # echo $currentUser done } waitForSetupToFinish trigger1=defaultchrome CheckBinary (){ # Identify location of jamf binary. jamf_binary=`/usr/bin/which jamf` if [[ "$jamf_binary" == "" ]] && [[ -x "/usr/sbin/jamf" ]] && [[ ! -x "/usr/local/bin/jamf" ]]; then jamf_binary="/usr/sbin/jamf" elif [[ "$jamf_binary" == "" ]] && [[ ! -x "/usr/sbin/jamf" ]] && [[ -x "/usr/local/bin/jamf" ]]; then jamf_binary="/usr/local/bin/jamf" elif [[ "$jamf_binary" == "" ]] && [[ -x "/usr/sbin/jamf" ]] && [[ -x "/usr/local/bin/jamf" ]]; then jamf_binary="/usr/local/bin/jamf" fi } # Run the CheckBinary function to identify the location # of the jamf binary for the jamf_binary variable. CheckBinary sudo $jamf_binary policy -trigger "$trigger1" sudo $jamf_binary recon

 

The trigger defaultchrome initiates the second script which will open chrome and sets it as a default browser:

 

#!/bin/zsh # DefaultBrowser.sh open -a "Google Chrome" --new --args --make-default-browser

 

Now, the issue is, after performing the execution, we are getting the following error that keychain not found:

Now we have no idea what's trigerring this issue. When we run it via self service, everything works fine. But this issue occurs when it is enrolled via prestage enrollment. 

I guess something is wrong with the first script. Can anyone shed some light for the solution? 

Thanks in advance ðŸ˜Š

 

2 replies

sdagley
Forum|alt.badge.img+25
  • Jamf Heroes
  • 3537 replies
  • January 15, 2025

@rabiul JSM isn't running as your user when it's part of the PreStage so you can't set the default browser at that point. You'll need to set up a policy to run the script that sets the default browser after the user has logged in.


Shyamsundar
Forum|alt.badge.img+13
  • Jamf Heroes
  • 289 replies
  • January 16, 2025

I guess, there was no user logged in when this script was executed. try to execute this script once the user logged in to the Mac. 


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings