Skip to content

Instantly share code, notes, and snippets.

View smashism's full-sized avatar
:shipit:
ship it!

emily smashism

:shipit:
ship it!
View GitHub Profile
#!/bin/bash
###############################################################################
################################## VARIABLES ##################################
###############################################################################
dockutil=$(which dockutil)
currentUser=$( echo "show State:/Users/ConsoleUser" | scutil | awk '/Name :/ { print $3 }' )
@smashism
smashism / super_simple_slack_webhook.sh
Created April 14, 2021 06:00
super simple slack webhook for bash scripts
curl -X POST -H 'Content-type: application/json' --data '{"username": "Clever Name Here","icon_emoji": ":fancy_cat:","text": "Hello, this is your daily reminder that a thing just happened!","channel": "XXXXxXXXx"}' https://hooks.slack.com/services/full/URL/of/configured/incomingwebhook
@smashism
smashism / management-action-by-policy.sh
Last active October 11, 2019 20:33
Add this to a policy in Jamf Pro to send a notification in a more controlled manner than the Start/End notifications in user interaction settings.
#!/bin/bash
###
#
# Name: management-action-by-policy.sh
# Description: This script is designed to run with policies to use
# Management Action.app to send a push notification to
# a managed Mac.
# Use: 1- Add script to Jamf Pro server, and optionally add
# parameter lables that match the parameters below.
@smashism
smashism / checkJPSconnection
Created February 11, 2019 17:54
function to check jamf pro server (JPS) connection in a shell script. jps variable must be set.
function checkJPSConnection {
n=0
until [[ $n -ge 12 ]]; do
checkAvailablity=$(${jamfBinary} checkJSSConnection)
# Function exitStatus
if [[ $checkAvailablity == *"${jps}"* ]]; then
echo "${jps} is available, continuing..."
break
else
echo "${jps} is unavailable at this time. Suspending until next interval..."
@smashism
smashism / privacy-settings-vmwaretoolsdaemon.mobileconfig
Created November 2, 2018 18:00
PPPC profile for vmware-tools-daemon to have accessibility control
<?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>PayloadContent</key>
<array>
<dict>
<key>PayloadDescription</key>
<string>This profile allows vmware-tools-daemon to access Accessibility.</string>
<key>PayloadDisplayName</key>
@smashism
smashism / random_sn
Last active December 10, 2022 15:52
random_sn
randomsn() {
managed_python3 -c "import string; from random import randint, sample; print('VM' + ''.join(sample((string.ascii_lowercase + string.digits),10)))"
}
#!/bin/bash
nameString="$4" # What to put in a name string
plistName="$5" # Name of the plist file (e.g., com.planetexpress.expendable.plist)
plistPath="$6" # Path to plist file (e.g., /Users/Shared/Careerchips)
currentDate=$(date +"%Y-%m-%d %H:%M:%S") # Creates date in format Jamf can use for date-based data type EA
defaults write $plistPath/$plistName name "$nameString" # Double-duty: will make plist if doesn't exist, then write the value!
defaults write $plistPath/$plistName date "$currentDate" # Date can be used in Jamf EA with "Date" data type.
#!/bin/bash
###
#
# Name: set-ea-value.sh
# Description: This script is designed to leverage the API to manually
# update the value of an EA on a computer record. Handy
# for situations where you don't need information actively
# pulled from a Mac but still want to set adhoc when needed.
# Values for jamfserver, API credentials, EA ID, EA Name,
@smashism
smashism / jamfhelper_prompt.sh
Created January 17, 2018 20:00
jamf helper prompt with title/subtitle/message
# run this in the "execute command" field of a policy in leu of the "complete" message if you want to add a title/subtitle
# can also be put in a bash/shell script
# use single-quotes if you use an exclamation point or other special characters, otherwise double-quotes are fine
/Library/Application\ Support/JAMF/bin/Management\ Action.app/Contents/MacOS/Management\ Action -title "Action Required: Do a thing" -subtitle "No really, this is required." -message 'Comply or get a Justin Bieber desktop background!'
#!/bin/sh
###
#
# Name: set_computerName.sh
# Description: This script is designed to set a computer name during DEP enrollment as follows:
# 1- Get logged-in username
# 2- Format the computer name as $username-mac
# 3- Set computer name/hostname/local hostname and NetBIOSName using formatted name
# 4- To be overly thorough, use jamf setcomputername to set name as well