Skip to content

Instantly share code, notes, and snippets.

View jhbush's full-sized avatar

Jason Bush jhbush

  • Coffee Cats Consulting
  • San Francisco Bay Area
  • 22:36 (UTC -08:00)
  • LinkedIn in/bushjason
View GitHub Profile
@talkingmoose
talkingmoose / Download macOS Monterey in Background.zsh
Last active July 17, 2025 22:10
Creates a launch daemon and script on target Macs in a Jamf Pro policy to download the specified macOS installer and update Jamf Pro's inventory. This is preferable to running a command directlt in policy, which can take 30+ minutes to complete, preventing other policies from running. The script self destructs once it sees the installer in the A…
#!/bin/zsh
:<<ABOUT_THIS_SCRIPT
-------------------------------------------------------------------------------
Written by:William Smith
Partner Program Manager
Jamf
[email protected]
https://gist.github.com/6b78ba3fc4a6623dbc8225e2df38d570
@timotgl
timotgl / uninstall-logitech-ghub.sh
Created April 4, 2022 12:15
How to fully uninstall Logitech G HUB on macOS via terminal/command line
# How to fully uninstall Logitech G HUB on macOS via terminal/command line
# Tested on macOS version 12.3.1 (21E258) Monterey in April 2022
# with Logitech G HUB version 2022.3.242300 (released on 2022-03-22) installed.
# 1. Make sure "Logitech G HUB" itself is not running. If it is, quit it.
# 2. Open "Activity Monitor" and force-quit all processes named "lghub*".
# 3. Delete system-wide files
sudo rm -rf /Applications/lghub.app
@talkingmoose
talkingmoose / Jamf Connect License.zsh
Created March 30, 2022 17:11
Checks for an existing Jamf Connect license installed on a Mac and reports license details similar to Jamf Connects' About window.
#!/bin/zsh
# Try to read the com.jamf.connect.login.plist file for license information
licenseInfo=$( /usr/bin/defaults read /Library/Managed\ Preferences/com.jamf.connect.login LicenseFile 2> /dev/null | /usr/bin/base64 --decode )
# If the file doesn't exist, try to read the com.jamf.connect.plist file for license information
if [ "$licenseInfo" = "" ]; then
licenseInfo=$( /usr/bin/defaults read /Library/Managed\ Preferences/com.jamf.connect LicenseFile 2> /dev/null | /usr/bin/base64 --decode )
@zhuowei
zhuowei / Ensemble.plist
Last active September 18, 2023 06:26
Put this file as /Library/Preferences/FeatureFlags/Domain/Ensemble.plist and reboot to (hopefully) turn on Universal Control on macOS 12
<?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>
<!-- not sure which one it is, so set both -->
<key>Ensemble</key>
<dict>
<key>Enabled</key>
<true/>
</dict>
@nikolay-n
nikolay-n / defsmon.py
Last active October 29, 2022 14:26
Defaults Monitor - tool to sniff defaults keys and values using unified log
#!/usr/bin/python2.7
# -*- coding: utf-8 -*-
'''
Defaults Monitor - tool to sniff defaults keys and values using unified log
to launch use standard python 2.7, eg python2.7 ./defsmon.py
'''
import os
@talkingmoose
talkingmoose / MegaPKGr.zsh
Last active August 16, 2025 01:51
The pkgbuild binary and Jamf Composer don't support adding single files of 8 GB or more to a package. Some apps like Install macOS Big Sur.app include files larger than 8 GB in their bundles. This script will create a deployable PKG file from apps whose bundles include those large files.
#!/bin/zsh
:<<ABOUT_THIS_SCRIPT
-------------------------------------------------------------------------------
Written by:William Smith
Professional Services Engineer
Jamf
[email protected]
https://gist.github.com/e9ed319226c6da30dd633725e48a97b0
@MScottBlake
MScottBlake / 1-Reboot to Recovery.command
Last active September 18, 2025 11:57
Removing a Non-Removable MDM Profile
#!/bin/zsh
# Elevate permissions, if needed
if [ $USER != 'root' ]; then
sudo $0
exit 0
fi
# Reboot to Recovery
/usr/sbin/nvram "recovery-boot-mode=unused"
#!/bin/zsh
## postinstall
pathToScript=$0
pathToPackage=$1
targetLocation=$2
targetVolume=$3
# Optionally replace the value of this variable with the name of your organization.
organizationIdentifier=com.arekdreyer
@talkingmoose
talkingmoose / Match Version Number or Higher.bash
Last active September 25, 2025 18:19
Generates a regular expression (regex) that matches the provided version number or higher. Useful for Jamf Pro's "matches regex" operator in searches and smart groups where the results need to be the current version of an app or higher.
#!/bin/bash
<<ABOUT_THIS_SCRIPT
-------------------------------------------------------------------------------
Written by:William Smith
Professional Services Engineer
Jamf
[email protected]
https://gist.github.com/2cf20236e665fcd7ec41311d50c89c0e
@talkingmoose
talkingmoose / Download and Install Zoom Client for Mac.zsh
Last active November 6, 2024 00:54
Downloads and installs the latest available Zoom Client for Mac software directly on the client. This avoids having to manually download and store an up-to-date installer on a distribution server. Includes an optional checksum for added security.
#!/bin/zsh
:<<'ABOUT_THIS_SCRIPT'
-----------------------------------------------------------------------
Written by:William Smith
Professional Services Engineer
Jamf
[email protected]
https://gist.github.com/talkingmoose/5336e69480d87014a4c2ea1d6ec0ea4e