# [RECOVERED] Use Intune with Apple devices > **[RECOVERED -- UNVERIFIED]** Auto-reconstructed from transcript eca77c0f-b935-4fb5-8d8a-da3a5c230afe (2026-05-23T23:58:47.026Z .. 2026-05-24T00:21:10.410Z) on 2026-06-01. Prose sections are Ollama-drafted from the transcript and may be imprecise; the Commands/Config/Reference sections are extracted verbatim. Review and correct, then remove this banner. ## User - **User:** Mike Swanson (mike) - **Machine:** GURU-5070 - **Role:** admin ## Session Summary The session focused on setting up Apple Business Manager (ABM) for integration with Microsoft Intune to manage Apple devices. The team verified the existence of an Apple ABM verification email sent to the admin@azcomputerguru.com mailbox, which was found to be non-existent. The verification email was located in the mike@azcomputerguru.com mailbox. The team then proceeded to add an alias, apple@azcomputerguru.com, to the admin@azcomputerguru.com distribution group to facilitate future communication. Despite initial issues with adding the alias, the team successfully configured the alias using the Exchange Admin API, ensuring it was recognized and functional. ## Key Decisions - Adding `apple@azcomputerguru.com` as an alias to the `admin@azcomputerguru.com` distribution group to streamline ABM communication. - Using the Exchange Admin API to ensure the alias was added correctly, given the initial failure with the REST endpoint. ## Problems Encountered - The `admin@azcomputerguru.com` mailbox did not exist, requiring the team to search for alternative mailboxes. - Initial attempts to add the alias to the distribution group failed, necessitating a switch to the Exchange Admin API for proper configuration. - The alias was not recognized initially, prompting a re-evaluation of the request format to align with the API's expected input. ## Configuration Changes _Machine-extracted verbatim from the transcript (file targets of Write/Edit/NotebookEdit)._ - none detected ## Credentials & Secrets _Machine-extracted; review carefully -- secrets are not auto-harvested from transcripts._ - none detected (verify against the Commands & Outputs section) ## Infrastructure & Servers _Machine-extracted verbatim (IP / hostname regex hits across the whole transcript)._ - **Hosts:** `business.apple.com`, `identity.apple.com`, `yourdomain.com`, `azcomputerguru.com`, `vault.sh`, `get-token.sh`, `onboard-tenant.sh`, `patch-tenant-admin-manifest.sh`, `resolve-tenant.sh`, `tenant-sweep.sh`, `user-breach-check.sh`, `schemas.xmlsoap.org`, `schemas.microsoft.com`, `graph.microsoft.com`, `azcomputerguru.onmicrosoft.com`, `outlook.office365.com`, `microsoft.exchange.admin.odata.core.odataserviceexception`, `microsoft.exchange.data.proxyaddresscollection`, `newtonsoft.json.linq.jproperty`, `microsoft.exchange.data.proxyaddress`, `microsoft.exchange.adminapi.commandinvocation.parametertransformationexception`, `adminapi.warnings`, `odata.type`, `odata.context`, `exchange.generichashtable` ## Commands & Outputs _Machine-extracted verbatim: mutating Bash/PowerShell commands with truncated output._ ``` test -f D:/vault/scripts/vault.sh && echo "vault ok" || echo "vault missing" ``` Output: vault ok ``` TOKEN=$(bash D:/claudetools/.claude/skills/remediation-tool/scripts/get-token.sh ce61461e-81a0-4c84-bb4a-7b354a9a356d investigator-exo 2>/dev/null) # EWS FindItem - search for emails from Apple in admin mailbox curl -s -X POST "https://outlook.office365.com/EWS/Exchange.asmx" \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: text/xml; charset=utf-8" \ -d ' admin@azcomputerguru.com AllProperties ' ``` Output: a:ErrorNonExistentMailboxThe SMTP address has no mailbox ass ... [truncated] ``` TOKEN=$(bash D:/claudetools/.claude/skills/remediation-tool/scripts/get-token.sh ce61461e-81a0-4c84-bb4a-7b354a9a356d investigator-exo 2>/dev/null) search_mailbox() { local MAILBOX=$1 echo "=== Searching $MAILBOX ===" curl -s -X POST "https://outlook.office365.com/EWS/Exchange.asmx" \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: text/xml; charset=utf-8" \ -d " $MAILBOX IdOnly " | grep -oP '(?<=)[^<]+|(?<=)[^<]+|(?<=)[^<]+|ErrorNonExistentMailbox|TotalItemsInView="\K[0-9]+' } search_mailbox "mike@azcomputerguru.com" search_mailbox "support@azcomputerguru.com" ``` Output: Exit code 2 === Searching mike@azcomputerguru.com === grep: -P supports only unibyte and UTF-8 locales === Searching support@azcomputerguru.com === grep: -P supports only unibyte and UTF-8 locales ``` TOKEN=$(bash D:/claudetools/.claude/skills/remediation-tool/scripts/get-token.sh ce61461e-81a0-4c84-bb4a-7b354a9a356d investigator-exo 2>/dev/null) ews_search() { local MAILBOX=$1 echo "=== $MAILBOX ===" curl -s -X POST "https://outlook.office365.com/EWS/Exchange.asmx" \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: text/xml; charset=utf-8" \ -d " $MAILBOX IdOnly " | grep -oE '[^<]+|[^<]+|[^<]+|TotalItemsInView="[0-9]+"' } ews_search "mike@azcomputerguru.com" ews_search "support@azcomputerguru.com" ``` Output: === mike@azcomputerguru.com === TotalItemsInView="1" Verify your Apple Account email address. 2026-05-24T00:09:56Z === support@azcomputerguru.com === TotalItemsInView="0" ``` EXO_TOKEN=$(bash D:/claudetools/.claude/skills/remediation-tool/scripts/get-token.sh ce61461e-81a0-4c84-bb4a-7b354a9a356d exchange-op 2>/dev/null) # First, look up the distribution group via EXO InvokeCommand curl -s -X POST "https://outlook.office365.com/adminapi/beta/ce61461e-81a0-4c84-bb4a-7b354a9a356d/InvokeCommand" \ -H "Authorization: Bearer $EXO_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "CmdletInput": { "CmdletName": "Get-DistributionGroup", "Parameters": { "Identity": "admin@azcomputerguru.com" } } }' | jq '{Name: .value[0].Name, PrimarySmtpAddress: .value[0].PrimarySmtpAddress, EmailAddresses: .value[0].EmailAddresses}' ``` Output: { "Name": "admin@azcomputerguru.com", "PrimarySmtpAddress": "admin@azcomputerguru.com", "EmailAddresses": [ "smtp:developer@azcomputerguru.com", "SMTP:admin@azcomputerguru.com", "smtp:Sifo-Office@azcomputerguru.com", "smtp:sifoidak@azcomputerguru.com", "smtp:admin_a ... [truncated] ``` EXO_TOKEN=$(bash D:/claudetools/.claude/skills/remediation-tool/scripts/get-token.sh ce61461e-81a0-4c84-bb4a-7b354a9a356d exchange-op 2>/dev/null) curl -s -X POST "https://outlook.office365.com/adminapi/beta/ce61461e-81a0-4c84-bb4a-7b354a9a356d/InvokeCommand" \ -H "Authorization: Bearer $EXO_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "CmdletInput": { "CmdletName": "Set-DistributionGroup", "Parameters": { "Identity": "admin@azcomputerguru.com", "EmailAddresses": { "Add": ["smtp:apple@azcomputerguru.com"] } } } }' | jq '.' ``` Output: { "error": { "code": "BadRequest", "message": "Invalid Operation", "innererror": { "message": "Invalid Operation", "type": "Microsoft.Exchange.Admin.OData.Core.ODataServiceException", "stacktrace": "", "internalexception": { "message": "Cannot p ... [truncated] ``` EXO_TOKEN=$(bash D:/claudetools/.claude/skills/remediation-tool/scripts/get-token.sh ce61461e-81a0-4c84-bb4a-7b354a9a356d exchange-op 2>/dev/null) # Pass the full EmailAddresses array with apple@ appended curl -s -X POST "https://outlook.office365.com/adminapi/beta/ce61461e-81a0-4c84-bb4a-7b354a9a356d/InvokeCommand" \ -H "Authorization: Bearer $EXO_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "CmdletInput": { "CmdletName": "Set-DistributionGroup", "Parameters": { "Identity": "admin@azcomputerguru.com", "EmailAddresses": [ "smtp:developer@azcomputerguru.com", "SMTP:admin@azcomputerguru.com", "smtp:Sifo-Office@azcomputerguru.com", "smtp:sifoidak@azcomputerguru.com", "smtp:admin_azcomputerguru.com@azcomputerguru.onmicrosoft.com", "smtp:apple@azcomputerguru.com" ] } } }' | jq '.' ``` Output: { "@odata.context": "https://outlook.office365.com/adminapi/beta/ce61461e-81a0-4c84-bb4a-7b354a9a356d/$metadata#Collection(Exchange.GenericHashTable)", "adminapi.warnings@odata.type": "#Collection(String)", "@adminapi.warnings": [], "value": [] } ``` EXO_TOKEN=$(bash D:/claudetools/.claude/skills/remediation-tool/scripts/get-token.sh ce61461e-81a0-4c84-bb4a-7b354a9a356d exchange-op 2>/dev/null) # Verify the alias was added curl -s -X POST "https://outlook.office365.com/adminapi/beta/ce61461e-81a0-4c84-bb4a-7b354a9a356d/InvokeCommand" \ -H "Authorization: Bearer $EXO_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "CmdletInput": { "CmdletName": "Get-DistributionGroup", "Parameters": { "Identity": "admin@azcomputerguru.com" } } }' | jq '.value[0].EmailAddresses' ``` Output: [ "smtp:developer@azcomputerguru.com", "SMTP:admin@azcomputerguru.com", "smtp:Sifo-Office@azcomputerguru.com", "smtp:sifoidak@azcomputerguru.com", "smtp:admin_azcomputerguru.com@azcomputerguru.onmicrosoft.com", "X500:/o=First Organization/ou=Exchange Administrative Group (FYDIBOHF2 ... [truncated] ``` EXO_TOKEN=$(bash D:/claudetools/.claude/skills/remediation-tool/scripts/get-token.sh ce61461e-81a0-4c84-bb4a-7b354a9a356d exchange-op 2>/dev/null) curl -s -X POST "https://outlook.office365.com/adminapi/beta/ce61461e-81a0-4c84-bb4a-7b354a9a356d/InvokeCommand" \ -H "Authorization: Bearer $EXO_TOKEN" \ -H "Content-Type: application/json" \ -d "{ \"CmdletInput\": { \"CmdletName\": \"Set-DistributionGroup\", \"Parameters\": { \"Identity\": \"admin@azcomputerguru.com\", \"EmailAddresses\": \"@{Add='smtp:apple@azcomputerguru.com'}\" } } }" | jq '.' ``` Output: { "error": { "code": "BadRequest", "message": "Invalid Operation", "innererror": { "message": "Invalid Operation", "type": "Microsoft.Exchange.Admin.OData.Core.ODataServiceException", "stacktrace": "", "internalexception": { "message": "Cannot p ... [truncated] ``` EXO_TOKEN=$(bash D:/claudetools/.claude/skills/remediation-tool/scripts/get-token.sh ce61461e-81a0-4c84-bb4a-7b354a9a356d exchange-op 2>/dev/null) curl -s -X POST "https://outlook.office365.com/adminapi/beta/ce61461e-81a0-4c84-bb4a-7b354a9a356d/InvokeCommand" \ -H "Authorization: Bearer $EXO_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "CmdletInput": { "CmdletName": "Set-DistributionGroup", "Parameters": { "Identity": "admin@azcomputerguru.com", "EmailAddresses": [ "smtp:developer@azcomputerguru.com", "SMTP:admin@azcomputerguru.com", "smtp:Sifo-Office@azcomputerguru.com", "smtp:sifoidak@azcomputerguru.com", "smtp:admin_azcomputerguru.com@azcomputerguru.onmicrosoft.com", "X500:/o=First Organization/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=3ba6a831669c4577a3badb895e16a0a8-ACG A", "smtp:apple@azcomputerguru.com" ] } } }' | jq '.' ``` Output: { "@odata.context": "https://outlook.office365.com/adminapi/beta/ce61461e-81a0-4c84-bb4a-7b354a9a356d/$metadata#Collection(Exchange.GenericHashTable)", "adminapi.warnings@odata.type": "#Collection(String)", "@adminapi.warnings": [], "value": [] } ``` EXO_TOKEN=$(bash D:/claudetools/.claude/skills/remediation-tool/scripts/get-token.sh ce61461e-81a0-4c84-bb4a-7b354a9a356d exchange-op 2>/dev/null) curl -s -X POST "https://outlook.office365.com/adminapi/beta/ce61461e-81a0-4c84-bb4a-7b354a9a356d/InvokeCommand" \ -H "Authorization: Bearer $EXO_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "CmdletInput": { "CmdletName": "Get-DistributionGroup", "Parameters": { "Identity": "admin@azcomputerguru.com" } } }' | jq '.value[0].EmailAddresses' ``` Output: [ "X500:/o=First Organization/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=3ba6a831669c4577a3badb895e16a0a8-ACG A", "smtp:apple@azcomputerguru.com", "smtp:developer@azcomputerguru.com", "SMTP:admin@azcomputerguru.com", "smtp:Sifo-Office@azcomputerguru.com", " ... [truncated] ## Pending / Incomplete Tasks - None. ## Reference Information _Machine-extracted verbatim from the whole transcript via regex. Treat as leads, not gospel; deduped._ - **URLs:** http://schemas.xmlsoap.org/soap/envelope/, http://schemas.microsoft.com/exchange/services/2006/types, http://schemas.microsoft.com/exchange/services/2006/errors, https://graph.microsoft.com/v1.0/users?$, https://outlook.office365.com/admin, https://outlook.office365.com/adminapi/beta/ce61461e-81a0-4c84-bb4a-7b354a9a356d/$metadata#Collection(Exchange.GenericHashTable