Files
Alte_Skripte/Enforce_restart_time.sh
2026-02-16 15:05:15 +01:00

112 lines
3.4 KiB
Bash

#!/bin/bash
#####################################################################################
# Shellscript : Script stellt sicher, dass das Gerät neugestartet worden ist.
# Autor : Andreas Vogel, macenterprise gmbh, 17.12.2019
#####################################################################################
#################################### Time Today ####################################
today=$(date +%s)
echo "Heute ist der $today"
#################################### Daemond ans Script ####################################
listDaemons="
/Library/LaunchDaemons/de.ing.FiveMinWarningDaemon.plist
/Library/LaunchDaemons/de.ing.LastWarningDaemon.plist
"
listScripts="
LastWarningScript.sh
FiveMinWarningScript.sh
"
################################# Unload or Remove #################################
removeDaemon(){
for d in $listDaemons
do
if [ -f "$d" ]
then
echo $d
sudo launchctl unload $d
sudo rm $d
fi
done
}
removeScrpit(){
for s in $listScripts
do
if [ -f "/Library/Application Support/JAMF/ING/$s" ]
then
echo $s
rm -rf "/Library/Application Support/JAMF/ING/$s"
fi
done
}
#################################### Jamf Helper ####################################
jamfHelper="/Library/Application Support/JAMF/bin/jamfHelper.app/Contents/MacOS/jamfHelper"
jamf="/usr/local/bin/jamf"
user=$(stat -f '%u %Su' /dev/console | cut -d ' ' -f 2)
INGIcon="/Users/$user/Library/Application Support/com.jamfsoftware.selfservice.mac/Documents/Images/brandingimage.png"
EnforceMessage="
Der geplante Neustart für dem $Day um $hour:$minute konnte nicht durchgeführt werden.
Möglicherweise befand sich das Gerät im Ruhemodus. Der Neustart wird nun durchgeführt.
"
################################# Find last Reboot #################################
# Zeit umwandeln
# wird benötigt um die Zeit in ein Gewünschtes Format umzuwandeln
# Es kann umgewandelt werden in Uhrzeit oder Datum
# lastBootFormatMin=$(date -jf "%s" "$lastBootRaw" +"%H:%M:%S")
# lastBootFormatDay=$(date -jf "%s" "$lastBootRaw" +"%d.%m:%y")
# echo "Umgewandelte Zeit ist $lastBootFormatDay $lastBootFormatMin"
########################## wann wurde der Neustart durchgeführt ##########################
# Auslesen, wann der Neustart durchgeführt worden ist
lastBootRaw=$(sysctl kern.boottime | awk '{print $5}' | tr -d ,)
echo "Der Neustart wurde durchgeführt am $lastBootRaw"
########################## wann wurde die Datei erstellt ##########################
# Auslesen, wann die Datei erstellt worden ist
TimeCreate=$(date -r /Users/andreasvogel/Desktop/test +'%s')
echo "Die Datei wurde erstellt am $TimeCreate"
delayint=$(echo "$result" | /usr/bin/sed 's/.$//')
defercal=$(($(/bin/date +%s) + delayint))
########################## Enforce Warning ##########################
EnforceWarning()
{
# shutdown -r +1
/Library/Application\ Support/JAMF/bin/jamfHelper.app/Contents/MacOS/jamfHelper -windowType utility -icon "$InfoIcon" -title "Warning" -description "$EnforceMessage" -button1 "OK" -defaultButton 1 -timeout 45
}
########################## Ausführung ##########################
if [ $lastBootRaw -lt $TimeCreate ]
then
if [ $today -lt $defercal ]
then
# shutdown -r +2
# EnforceWarning
# removeDaemon
# removeScrpit
# rm -rf /Library/LaunchDaemons/de.ing.EnforceRestat.plist
echo "vor"
else
# removeDaemon
# removeScrpit
# rm -rf /Library/LaunchDaemons/de.ing.EnforceRestat.plist
echo "nach"
fi
fi