Skip to main content

Hi I've created this script utilizing the jamf API to wipe some 2015 intel MacBook Airs, but it's locking the devices instead of wiping them. I using the existing json format since the classic api's erase command has been deprecated. What am i running into here?


`


#!/bin/bash


# Define credentials
response=$(curl -v -u "GVC4_API_Admin_Migration:Change2025" https://gvc4.jamfcloud.com/api/v1/auth/token -X POST)
bearerToken=$(echo "$response" | jq -r '.token')


# Device IDs
computerIDs=(2403 2636 2619 2595)


for comID in "${computerIDs[@]}"
do
echo "Sending erase command to computer ID $comID..."
#curl -X POST \\
#-H "Accept: application/json" -H "Authorization: Bearer ${bearerToken}" \\
#"https://gvc4.jamfcloud.com/JSSResource/computercommands/command/EraseDevice/passcode/123456/id/$comID"
curl -X 'POST' \\
"https://gvc4.jamfcloud.com/api/v1/computer-inventory/$comID/erase" \\
-H "Authorization: Bearer $bearerToken" \\
-H "Content-Type: application/json" \\
-d '{ "pin": "123456" }'
done


`


 

@gesiyeIgbas https://developer.jamf.com/jamf-pro/reference/createcomputercommandbycommandidandpasscode states that ErseDevice was deprecated on 2023-06-21 so that's probably why it becomes a DeviceLock.


You might want to take a look at https://learn.jamf.com/en-US/bundle/technical-articles/page/Erase_Device_Command_Options.html for the v2 endpoint which was updated 2024-09-02 and note the Obliteration Behavior option since Erase All Contents and Settings doesn't work on pre-T2 Macs like the 2015 MBAs.


Reply