#!/bin/bash #fill in variables for your environment jssurl="https://lions-mac.ing.de:8443" apiUser=$(osascript -e 'text returned of (display dialog "Benutzernamme" default answer "" buttons {"OK"} default button 1)') apiPass=$(osascript -e 'text returned of (display dialog "Password" default answer "" buttons {"OK"} default button 1)') #create temp folder mkdir /tmp/appinventory #list all computer IDs allCompIDs=$(curl -k -u $apiUser:$apiPass $jssurl/JSSResource/computers | xmllint --format - | awk -F'>|<' '//,/<\/id>/{print $3}' | sort -n) #get computer name for computer IDs for compID in ${allCompIDs}; do computerName=$(curl -k -u $apiUser:$apiPass $jssurl/JSSResource/computers/id/${compID} | xmllint --format - | awk -F'>|<' '//,/<\/name>/{print $3}' | head -n1) #get macOS version for all computers osVersion=$(curl -k -u $apiUser:$apiPass $jssurl/JSSResource/computers/id/${compID} | xmllint --format - | awk -F'>|<' '//,/<\/os_version>/{print $3}') #get list of applications installed on each computer name and exports to csv per computer with format compName,osVersion,appName,appVersion curl -k -u $apiUser:$apiPass $jssurl/JSSResource/computers/id/${compID} | xmllint --format - | awk -F'>|<' '//,/<\/applications>/{print $3}' | tail -n+4 | tr '\n' ',' | sed -e $'s/,,,/\\\n/g' | sed 's/,\/.*,/,/g' | sed -e '$ d' | sed '1s;^;'"$computerName"','"$osVersion"',;' | sed 's/^/,,/g' | sed 's/,,'"$computerName"'/'"$computerName"'/g' | cut -f4 > /tmp/appinventory/${computerName}.csv done # < (echo "${allCompIDs}") #combine individual inventories into one file cat /tmp/appinventory/*.csv >> /Users/90022300/Desktop/AllMacAppInventory.csv #remove temp folder #rm -rf /tmp/appinventory