Posted on 10-28-2015 09:07 AM
In the top right corner of the screen there has been a notification stating that El Capitan is available now. Does anyone have a method to stop those kinds of notifications? I don't want to block notification center all together, just not get alerted about El Capitan. I have seen the thread below where there are instructions on how to remove the El Cap Island in App Store, but I'm not looking to remove that currently:
https://jamfnation.jamfsoftware.com/discussion.html?id=17185
I would think a plist could control this, but haven't tracked it down yet.
Posted on 10-28-2015 09:27 AM
I am also looking for this.
@mhasman and I have it in restricted software, so it won't install.
However, it will give the employees the wrong idea! :)
Posted on 10-28-2015 09:43 AM
Does this no longer stop it?
defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticCheckEnabled -bool false
That's what I've always used.
Posted on 10-28-2015 11:19 AM
@hkabik That's for software updates to the OS. Not a major OS upgrade. The notification to upgrade to El Capitan wouldn't be stopped by that preference.
Posted on 10-28-2015 11:23 AM
I'm also trying to get this off the screens too. We're not ready to upgrade to it yet, and even though it'll require an admin to do it, it gives our users the wrong impression that they can go ahead and install it. I'm using a restricted software rule right now as @guidotti is doing.
Posted on 10-28-2015 12:21 PM
I need to get this off of the screen as well. Looking for information on how to do so.
Posted on 10-28-2015 12:32 PM
It just popped up again today.... Is Apple trying to get us angry? :)
Posted on 10-28-2015 12:47 PM
Has anyone looked at
/Library/Preferences/com.apple.noticeboard.plist?
This is what mine looks like:
<?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>LastNoticeboardCatalogCheck</key>
<date>2015-10-28T17:28:05Z</date>
<key>com.apple.noticeboard.notification.elcapitan.1.0</key>
<dict>
<key>dismissalCount</key>
<integer>1</integer>
<key>lastDismissedDate</key>
<date>2015-10-28T17:28:07Z</date>
</dict>
<key>identifiers</key>
<array>
<string>com.apple.noticeboard.notification.elcapitan.1.0</string>
</array>
</dict>
</plist>
Posted on 10-28-2015 12:50 PM
I had mentioned the noticeboard plist a long while back. Back when Yosemite released and people were trying to block it. It does seem to store the data on when the message last came up.
But the thread here that has bubbled to the top may also have the solution for El Cap.
Posted on 10-29-2015 07:56 AM
@bpavlov, one of my colleagues has a file like that. For some reason the one on my system is quite blank. I could of sworn i dismissed the notification though, especially since i haven't seen it again since:
<?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>LastNoticeboardCatalogCheck</key>
<date>2015-10-27T17:56:23Z</date>
</dict>
</plist>
Posted on 10-29-2015 09:02 AM
This solution has worked great for my environment. I use it in conjunction with Outset to apply once per user on login.
So far this seems to also suppress the upgrade nag as well.
Posted on 11-02-2015 10:55 AM
Just applied the suggestion referenced by @FritzsCorner and it does the job out here as well
Posted on 11-04-2015 07:47 AM
Looks to me like this is NOT specific to El Capitan, will this continue to hide all notification about OS updates going forward?
Posted on 11-04-2015 11:59 AM
Opening a case with Apple Enterprise Support to see if I can get some info on best practice from them. I'll update when I hear back.
Posted on 11-04-2015 12:45 PM
I opened a case with them for Yosemite update notification suppressing and posted their response in this thread: https://jamfnation.jamfsoftware.com/discussion.html?id=12694
Posted on 11-04-2015 12:50 PM
@FritzsCorner @Martinus I'm not familiar with Munki or Outset. Is there any way to push this through Jamf?
Posted on 11-04-2015 12:58 PM
Using CASPER you can accomplish the same thing.I downloaded the file. Using the local admin account I copied @FritzsCorner 's file in his package to the appropriate location where the script would have moved the file. I then dragged the file into composer to make the package. Create a dmg from composer and upload into Casper Admin. Double click the file in Casper Admin. Click on the options tab, and check FUT and FEU. Deploy to your machines (double check in the policy that the FUT and FEU options are checked). Casper should then deploy to the local admin account, all users who have user folders on the machine and into the user template folder. Worked like a charm.
Posted on 11-04-2015 01:00 PM
@jstine this might be a brute force method, but @mhasman and I hid the banner, took the SQLite database that was created, and packaged it up in Packages to be deployed to user machines along with an adaptation of the script that was posted.
That seems to do the trick. A side effect would be that users' preferences for hidden updates will get wiped out as stated in the original article that @FritzsCorner posted.
The policy we created is set for recurring check-in, once per computer.
Posted on 11-04-2015 01:16 PM
@jstine Yeah, JAMF Casper Suite can do this as well. Outset just works well to address some of the deployment complications my environment has.
Posted on 11-05-2015 05:59 AM
Response from Apple below, very helpful :). I'm not sure I want to modify the database just yet, but I think i'll give the noticeboard tweak a shot and see how that looks. It's unfortunate there is no real way to test though. Once noticeboard is deployed out it's just a "wait and see" validation.
I understand that you would like to disable the prompts for upgrading to El Capitan. There is no method in OS X to achieve this currently. This feature request has been brought to the attention of Product Engineering, but at this time there are no plans to implement it. Regarding the method to modify noticeboard.plist, although that might remove the banner in the App Store, it might not disable the upgrade prompts in the upper right hand corner. Also, this method is not supported by Apple.
Posted on 11-05-2015 07:00 AM
@Jason Thanks for sharing their response. I was hopeful that hiding the upgrade Banner in the App Store updates would also hide the notification that pops up, but when I logged into my Yosemite system this morning the update notice was sitting there waiting for me. It is pretty annoying. We have software restrictions in place that prevent people from running the update, but it does cause some confusion among our Mac user base.
Posted on 09-20-2016 09:25 AM
I know this is a little late, but use this command as a script in the JSS. It removes the Automatically check for updates check in System Preferences. Works in El Cap and Yosemite.
sudo softwareupdate --schedule off
Posted on 09-21-2016 06:41 AM
@kmabe
Careful with that you maybe be missing Gatekeeper and Xprotect updates:
https://macops.ca/os-x-admins-your-clients-are-not-getting-background-security-updates
L
Posted on 10-31-2016 12:04 PM
I'm still testing it but it appears that using a config profile for com.apple.SoftwareUpdate using the following plist will suppress the prompts and enable XProtect updates
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs$
<plist version="1.0">
<dict>
<key>AutomaticCheckEnabled</key>
<true/>
<key>AutomaticDownload</key>
<false/>
<key>SkipLocalCDN</key>
<false/>
</dict>
</plist>
Nevermind, I got the prompt after pushing this to my test macs.
Posted on 11-02-2016 09:57 AM
I devised a script to write out a launchdaemon and execute the background installer for XProtect and Gatekeeper updates
#!/bin/bash
SCRIPT="/Library/Scripts/XProtectUpdate.sh"
LABEL="com.org.XProtectUpdater"
DAEMON=/Library/LaunchDaemons/com.org.XProtectUpdater.plist
# Gets the OS version
OSVERS=$(/usr/bin/sw_vers -productVersion | /usr/bin/awk -F. '{print $2}')
# Regex for 10.9+
OSREGEX="^[19]?[0-9]$"
RUNNING=0
NEW=0
WriteScript() {
/bin/echo "#!/bin/bash" > "$SCRIPT"
/bin/echo '/usr/bin/defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticCheckEnabled -bool true' >> "$SCRIPT"
/bin/echo '/usr/sbin/softwareupdate --background-critical' >> "$SCRIPT"
/bin/echo '/usr/bin/defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticCheckEnabled -bool false' >> "$SCRIPT"
/bin/chmod +x "$SCRIPT"
}
WriteDaemon() {
/usr/bin/defaults write $DAEMON Label -string $LABEL
/usr/bin/defaults write $DAEMON ProcessType Background
/usr/bin/defaults write $DAEMON RunAtLoad -bool true
# Run every 12 hours
/usr/bin/defaults write $DAEMON StartInterval -int 43200
/usr/bin/defaults write $DAEMON ProgramArguments -array
/usr/libexec/PlistBuddy -c "Add :ProgramArguments: string /bin/sh" $DAEMON
/usr/libexec/PlistBuddy -c "Add :ProgramArguments: string $SCRIPT" $DAEMON
/bin/chmod 644 $DAEMON
}
CheckDaemon() {
if [ -f $DAEMON ]; then
RUNNING=$(/bin/launchctl list | /usr/bin/grep $LABEL | /usr/bin/wc -l)
else
NEW=1
fi
}
LoadDaemon() {
/bin/launchctl load -w $DAEMON
RUNNING=1
}
CheckOSRequirements() {
if [[ ! $OSVERS =~ $OSREGEX ]]; then
/bin/echo "OS Requirements not met"
exit 0
fi
}
Main() {
CheckOSRequirements
CheckDaemon
# 1 for new daemon, 0 for old
if [ $NEW -eq 1 ]; then
WriteDaemon
WriteScript
fi
# 1 for already running, 0 for not running
if [ $RUNNING -eq 0 ]; then
LoadDaemon
fi
}
Main "$@"
Helpful bits:
https://macops.ca/os-x-admins-your-clients-are-not-getting-background-security-updates
https://derflounder.wordpress.com/2016/03/28/checking-xprotect-and-gatekeeper-update-status-on-macs/