Posted on 12-05-2021 09:26 PM
This appears to been touched based on in the past, but appears to of died once catcher was put into place for check coverage.apple.com
however, I noticed in Monterey and possibly big sur, you can see applcare+ status, under >
Apple Logo > About my Mac > Support
And was wondering, if this can be added to an extension attribute, as like the ability to get the battery condition of a MacBook, and if so where on earth is the information stored.
Solved! Go to Solution.
Posted on 08-29-2023 04:52 PM
Sorry to resurrect a dead thread. Thought it might be okay since this is a top search result!
I found a blog post on techitout.xyz and thought it would be useful for others trying to get the same info into an extension attribute.
https://techitout.xyz/2023/07/12/jamf-pro-get-mac-warranty-information/
This works when I use it in CodeRunner, but it doesn't seem to work for me as an EA in Jamf Pro. Maybe someone else can help shed some light on why.
Posted on 08-30-2023 05:46 PM
Appears to be working in my environment,
what I did wrong at first is put it under description, instead of as a script in the extension attribute query
see how I have it setup in the images below within extension attribute (shame we can't do the same for iPad)
Posted on 12-06-2021 06:50 AM
Integrating with Apple GSX allows Jamf to pull in warranty data. Not sure if you have a GSX account, but might be something to look into:
https://docs.jamf.com/technical-articles/Integrating_with_Apples_Global_Service_Exchange_GSX.html
Posted on 12-06-2021 07:26 AM
Check the application called MUT (https://apps.apple.com/us/app/mut/id1133234759?mt=12)
This helps in getting the warranty information added to Jamf but it's not an automatic process that needs all the warranty details in a sheet to do a bulk upload.
Since we don't have a GSX connector access we use this with the procurement data and upload the warranty details in JAMF.
Posted on 11-28-2022 01:31 AM
Hello I have the same need.
Now apple display this information directly in macOS. The point will be to extract it in an attribute extension. But where is stoked this information on the mac ? :-)
Posted on 08-29-2023 04:52 PM
Sorry to resurrect a dead thread. Thought it might be okay since this is a top search result!
I found a blog post on techitout.xyz and thought it would be useful for others trying to get the same info into an extension attribute.
https://techitout.xyz/2023/07/12/jamf-pro-get-mac-warranty-information/
This works when I use it in CodeRunner, but it doesn't seem to work for me as an EA in Jamf Pro. Maybe someone else can help shed some light on why.
Posted on 08-30-2023 05:37 PM
Nice find, I will have a play with the script also and see if I can come up with something
Posted on 08-30-2023 05:46 PM
Appears to be working in my environment,
what I did wrong at first is put it under description, instead of as a script in the extension attribute query
see how I have it setup in the images below within extension attribute (shame we can't do the same for iPad)
Posted on 01-19-2024 12:38 AM
@Malcolm upon deploy this EA in Jamf, i'm getting blank output. Is it working for anyone?
Posted on 08-30-2023 06:18 PM
Looking closer at it, It seems the Warranty.plist path is not available pre macOS 13.
Posted on 08-30-2023 06:49 PM
No actually this is not the reason, I suspect the link of weather the path exists might be due to the existance of an Apple ID.
Posted on 08-30-2023 07:04 PM
that doesn't appear to be the reason either, but there does appear to be a reason for some devices not to have the folder and plist file
Posted on 08-31-2023 11:42 PM
I've been trying to figure it out as well. The article author says that he noticed it wasn't there for Intel devices. I have used this on two environments and have noticed the same thing.
Posted on 08-31-2023 11:56 PM
I'm inclined to say it's the first user account and not AD accounts, post a certain version release. on my machine it came down 25th July 2023, this might have actually been when I demobilised my account, back to a standard account, or post a software update. I have old Macbook 2019 Intels reporting in the information, and that specific one is likely using a non AD account and likely the first use user and due to the system level security not he user folders, this will present to be harder to obtain if a different user account is holding the data and not the account in use. Moving forward for our environment and current setup, for the majority I hope to see this become reliable, but an easier fix would be for apple to populated it into the library folder and not the users library. I will have a chat to our Apple Education Solutions Architect, to float the possibility to have them expand the plist file to an space on the MacBook, so that it cane be functional and allow for obtainable information that can be relied on.
Posted on 09-21-2023 12:28 PM
I believe the warranty.plist is created for any user who checks the warranty of the system from the system. They would browse to the warranty lookup Apple Portal and provide the systems serial number https://checkcoverage.apple.com/ whatever user is logged in will then have the warranty.plist written in the context of their login
2 weeks ago
Anyone come up with a solution to this?
2 weeks ago
GSX integration with Jamf really helped my desktop team with this. Once it was done, I didn't need to worry about EAs getting populated or not.
Is GSX integration something that is possible for you? The process isn't too bad. Let me know if you need the steps to complete it.
2 weeks ago
what's the requirements?
2 weeks ago
Follow these articles. If you/your organization has a service contract with Apple, you can create a GSX account. It takes a few days, depending on how responsive they/you are to questions asked.
https://learn.jamf.com/en-US/bundle/technical-articles/page/Integrating_with_Apples_Global_Service_E...
Then you will do the actual integration here (this is also linked at the bottom of the above article):
https://learn.jamf.com/en-US/bundle/jamf-pro-documentation-current/page/GSX_Connection.html
2 weeks ago
Interesting, I've put through the inquiry to apple, but likely without having the approval to service devices, we might not get approval for that. Shame it couldn't integrate with an ASM account. But that would still leave our BYOD as an unknown.
2 weeks ago
they had indicated that we can apply for a Self-Servicing Account Program which would give us access to GSX.
Self-Servicing Account Program — Official Apple Support
So looking at doing that now.
2 weeks ago
I don't think we would be eligible, might be struggling to reach the 500 device count, more specifically ones with current AppleCare available.
2 weeks ago
Nice! Hope that works for you. As for your BYOD devices, at this time, I haven't found any other ways to do it other than what I posted previously.
Tuesday
I asked if it could be added as an Apple feature, so that all devices collect their own warranty status and store it. An unlikely thing to occur, but seemingly something the OS could easily execute.
Thursday
I've tested a few things and a few script options and i think i have a solution which is not 100% reliable because it depends on your hardware and software. As far as i can tell it only works on Apple Silicon hardware and it requires macOS Sonoma 14.x as a minimum operating system. But this solution doesn't require a GSX Account or anything else.
It seems like you can check a *_warranty.plist file for the coverageEndDate attribute. On a few machines i've unfortunately seen more than one of these files located in:
~/Library/Application\ Support/com.apple.NewDeviceOutreach
.. but fortunately only one of those two files really has a coverageEndDate attribute!
After a few adjustments i was able to create an extension attribute which is working fine in our jamf environment. Just format the date as you like - the scripts current output is DD.MM.YYYY!
#!/bin/bash
# If AppleCare is active, there may be one or more files in the Users Library folder.
# Get the current username
loggedInUser=`stat -f "%Su" /dev/console`
echo Current logged in user is: $loggedInUser
# Check if the Warranty file(s) exist
cd /Users/$loggedInUser/Library/Application\ Support/com.apple.NewDeviceOutreach
warrantyFile=( $(ls | grep "_Warranty"))
# Loop to check each file and stop if condition is true
for i in "${warrantyFile[@]}"
do
echo "$i"
expires=`defaults read /Users/$loggedInUser/Library/Application\ Support/com.apple.NewDeviceOutreach/$i coverageEndDate`
if [ -z "$expires" ]
then echo "File has no expiration date – skipping this file."
else
# Convert epoch to a standard date format
ACexpires=$(date -r $expires '+%d.%m.%Y')
echo "<result>$ACexpires</result>"
exit 0
fi
done
echo "<result>No Warranty File found</result>"
exit 0
As Data Type we've used the "String" option because this is fine for us, but if you would like to use this extension attribute in a smart group you would like to change the Data Type to "Date" and reformat the output to YYYY-MM-DD hh-mm-ss.
Feel free to try this solution in your environment.