Skip to main content

Hello.



I've been tasked with forcing a homepage to stick within Google Chrome. I've seen many discussions, and many paths to try to manage this task. Unfortunately for me, none of them have worked. Many of these paths have taken me to places I'm not familiar with, so there has been a lot of learning needed.



This is what I've tried:
Managed Preferences : (MCX?) - https://www.k12techsystems.com/2014/11/using-managed-preferences-mcx-to-block-or-uninstall-chrome-extensions/
https://www.jamf.com/jamf-nation/discussions/12520/chrome-managed-preferences



Changing Google Chrome Manifest - http://www.chromium.org/administrators/policy-templates



Chrome Policy - http://www.chromium.org/administrators/policy-list-3
I'm actually not sure how this is implemented.



Configuration Profiles - These don't seem to apply to Chrome.



This page looked like it would be the most helpful, but nothing I tried worked. https://www.jamf.com/jamf-nation/discussions/9868/chrome-homepage



The most promising thing I've done is use a Snapshot using Composer, but it isn't a method I'd prefer, and I'm hoping to be able to lock the end user from changing the settings.



Thanks in advance for any help or advice.



Mark

@mhinsz A macOS Configuration Profile that contains a Custom Settings payload works well for us.



The settings for that payload are:



Preference Domain for the payload is com.google.Chrome



Ccontents of the Property List File is {RestoreOnStartup=4, HomepageLocation=http://your.homepage.address.com, IncognitoModeAvailability=1, RestoreOnStartupURLs=[http://your.homepage.address.com], HomepageIsNewTabPage=false, DefaultBrowserSettingEnabled=false, ShowHomeButton=true}


This must be where I've made the mistake. I'm not sure about the formatting of the .plist I upload. Would you be able to display how the file looks before it is uploaded?



Thanks @StoneMagnet


Hi @mhinsz
I've got some blog posts that might help you out:



How to stop first run messages in Google Chrome
Chrome first run messages revisited – with added profiles



Hopefully that'll help you out : )



Darren


@mhinsz Here's the source for the com.google.Chrome.plist:



<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>DefaultBrowserSettingEnabled</key>
<false/>
<key>HomepageIsNewTabPage</key>
<false/>
<key>HomepageLocation</key>
<string>http://your.home.page.com</string>
<key>RestoreOnStartupURLs</key>
<array>
<string>http://your.home.page.com</string>
</array>
<key>RestoreOnStartup</key>
<integer>4</integer>
<key>ShowHomeButton</key>
<true/>
<key>IncognitoModeAvailability</key>
<integer>1</integer>
</dict>
</plist>

Got it!



Many Thanks. I was missing the indent between
<array>
<string>http://your.home.page.com</string>


Thanks to @StoneMagnet from me too!
Yes this has made a really easy job of setting a default homepage for Google Chrome, the source is perfect. Older scripts/methods i.e. MCX I tried seemed to have stopped working. This works on GC 62.0.3202.75 and OSX 10.12.6 via a Custom Settings Payload


Thanks to Stonemagnet. It is working great on 10.13......


Thank you for posting this information - this worked very well for me in setting a Chrome homepage for our users.



Where is this plist file stored? When I go to userlibrarypreferencescom.google.Chrome.plist, the file doesn't contain the settings entered in JAMF, even though they seem to have taken affect.



Also, can this .plist file be modified further to prevent the startup messages and tabs that people see when first opening Chrome? I thought I might configure Chrome the way I want on a machine, and then look at the .plist file in order to determine how to push out settings to that effect. But the file in userlibrarypreferencescom.google.Chrome.plist doesn't contain anything other than a couple lines of text referencing Keychain.


Hi everyone,



This worked on the latest build of Chrome. Variable available at:
http://www.chromium.org/administrators/policy-list-3#HomepageLocation



Plist settings:



<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>HomepageIsNewTabPage</key>
<false/>
<key>HomepageLocation</key>
<string>inside.insight.com</string>
<key>RestoreOnStartup</key>
<integer>4</integer>
<key>RestoreOnStartupURLs</key>
<array>
<string>inside.insight.com</string>
</array>
<key>ShowHomeButton</key>
<true/>
</dict>
</plist>


@StoneMagnet Does this still work
Can you please help me with the steps to setup this


@SeetendraPanda
https://www.chromium.org/administrators/policy-list-3 - policies that can be set in plist for chrome.
https://cloud.google.com/chrome-enterprise/browser/download/ - Download Plist from Windows bundle


Hi @kroberts1
Thanks a lot for your help.
I will check these link and get back you in case i need help


What key is responsible for Passwords - Auto Sigh-in, please?




@mhasman http://www.chromium.org/administrators/policy-list-3#PasswordManagerEnabled


@BoscoATX Thank you Arthur! Actually, "PasswordManagerEnabled" is responsable for "Offer to save passwords", and I have it managed and disabled by config profile - see on my screenshot on top of yellow


Thanks @StoneMagnet, Helped us solve this as well!


How do I build a new plist?


I tried using this URL for the homepage String,https://brookline.follettdestiny.com/cataloging/servlet/presentadvancedsearchredirectorform.do?site=103&context=saas59_2017854



Using this URL doesn't let me upload the plist but if I were to just use www.google.com it uploads fine.
Anyone have issues uploading a longer url?


Do these managed configuration profiles allow the user to set a different homepage after the initial setup?



Gabe Shackney
Princeton Public Schools


Do these managed configuration profiles allow the user to set a different homepage after the initial setup?



Gabe Shackney
Princeton Public Schools



NO they do NOT. 

I'd love to know how to set initial home page but allow users overwrite it if they choose to. Anyone? :)


NO they do NOT. 

I'd love to know how to set initial home page but allow users overwrite it if they choose to. Anyone? :)


To make settings (before the user has ever used Chrome) you can run this script.  These settings are used as a template when the user first uses Chrome, so can be changed by the user.

 

#!/bin/bash
# CreateGoogleChromeMasterPreferences.bash
# Output Chrome Master Preferences to /Library/Google/Google Chrome Master Preferences
# jbarnes 4/6/2015
# https://community.jamf.com/t5/jamf-pro/configuring-google-chrome/td-p/43923
# Modified/Updated David London 2022-03-23
# Documentation is here https://www.chromium.org/administrators/configuring-other-preferences/
# but at this date the file is not called master_preferences but is called "Google Chrome Master Preferences" (at least on Mac)

if [ ! -d "/Library/Google" ]
then
mkdir "/Library/Google"
fi

(
sudo cat <<'EOD'
{
"homepage": "https://your.homepage.here",
"homepage_is_newtabpage": false,
"browser": {
"show_home_button": true
},
"session": {
"restore_on_startup": 4,
"startup_urls": [
"https://your.homepage.here"
]
},
"bookmark_bar": {
"show_on_all_tabs": true
},
"sync_promo": {
"show_on_first_run_allowed": false
},
"distribution": {
"import_bookmarks_from_file": "bookmarks.html",
"import_bookmarks": false,
"import_history": false,
"import_home_page": false,
"import_search_engine": true,
"ping_delay": 60,
"suppress_first_run_bubble": true,
"do_not_create_desktop_shortcut": true,
"do_not_create_quick_launch_shortcut": true,
"do_not_launch_chrome": true,
"do_not_register_for_update_launch": true,
"make_chrome_default": false,
"make_chrome_default_for_user": false,
"suppress_first_run_default_browser_prompt": true,
"system_level": true,
"verbose_logging": true
},
"first_run_tabs": [
"https://your.homepage.here"
]
}
EOD
) > "/Library/Google/Google Chrome Master Preferences"

 


@mhinsz Here's the source for the com.google.Chrome.plist:



<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>DefaultBrowserSettingEnabled</key>
<false/>
<key>HomepageIsNewTabPage</key>
<false/>
<key>HomepageLocation</key>
<string>http://your.home.page.com</string>
<key>RestoreOnStartupURLs</key>
<array>
<string>http://your.home.page.com</string>
</array>
<key>RestoreOnStartup</key>
<integer>4</integer>
<key>ShowHomeButton</key>
<true/>
<key>IncognitoModeAvailability</key>
<integer>1</integer>
</dict>
</plist>


Hi @StoneMagnet 

I'm very new to jamf. im getting below error when using the above scripts for setting homepage. appreciate your help.

Script result: /Library/Application Support/JAMF/tmp/Browser HomePage for MAC: line 1: syntax error near unexpected token `newline'
/Library/Application Support/JAMF/tmp/Browser HomePage for MAC: line 1: `<xml version="1.0" encoding="UTF-8">'


Reply