- Access exclusive content
- Connect with peers
- Share your expertise
- Find support resources
04-28-2026 09:49 AM
Hello team,
I need guidance on automating Cortex XDR agent upgrades across multiple endpoints using an MDM.
Upgrading directly from the console is consuming significant bandwidth. We are evaluating options like P2P distribution, brokers, or staging updates, but face some challenges:
cytool protect disable, which complicates automation.Could you please advise on:
Or Can I require a update.exe to Palo Alto?
Any official recommendations or documentation would be appreciated.
Thanks.
04-29-2026 06:28 AM
Hello @QuestionAb ,
Greetings for the day.
Automating Cortex XDR agent upgrades effectively involves balancing initial deployment via MDM with the native automated lifecycle management capabilities of the Cortex XDR console.
The recommended approach for large environments is to use your MDM (e.g., Intune, Jamf) primarily for the initial baseline installation. Once the agent is installed and communicating with the console, rely on the native Agent Auto-Upgrade policy for ongoing version management.
Native Auto-Upgrade:
This is the most efficient method because it removes the need to continuously create new MDM packages or update application detection rules for every minor release.
Phased Rollout Strategy:
Regardless of the deployment method, use a gradual rollout:
Console-led Upgrades:
When upgrades are initiated from the Cortex XDR console, tamper protection (SPROT) is automatically handled during the process.
MDM/Script-led Upgrades (Windows):
If performing upgrades via MDM or scripts, you must explicitly disable tamper protection using the uninstall password before running the installer:
ECHO [AGENT_UNINSTALL_PASSWORD] | "C:\Program Files\Palo Alto Networks\Traps\cytool.exe" protect disable
msiexec /i cortexxdr_x64.msi /qn /l*v C:\XDRtemp\XDRupgrade.log
Linux:
Running the installer script with sudo or as root handles the upgrade automatically without manual tamper protection steps.
To avoid network congestion during large-scale upgrades:
Download Source Priority:
Configure agent settings to prioritize internal sources such as Peer-to-Peer (P2P) or Broker VM before reaching out to the cloud.
Global Upgrade Scheduler:
Use centralized controls to:
Distribution Packages:
When downloading installers for MDM deployment, use distribution packages that include both the MSI and the latest content. This reduces the bandwidth spike immediately after installation.
Broker Association:
You can assign or update proxy/broker settings directly from the console by selecting endpoints and applying agent proxy configurations.
Installer Behavior:
Palo Alto Networks provides an MSI installer for Windows. This single package functions as both a fresh install and an upgrade when executed on a system with an existing agent.
End-of-Life (EOL) Agents:
Upgrading from very old versions (such as 7.x to 8.x) may not support direct in-place upgrades. In such cases, uninstalling the old agent and performing a clean installation is recommended.
MDM Detection Rules:
When deploying upgrades through MDM, ensure detection rules (e.g., MSI Product Code) are updated to match the new version. Otherwise, the MDM may repeatedly attempt to reinstall older versions.
If you feel this has answered your query, please let us know by clicking like and on "mark this as a Solution".
Thanks & Regards,
S. Subashkar Sekar
05-05-2026 01:35 PM
Thank you so much @susekar
I want to confirm whether, when running an older version (for example, 7.9), it is possible to upgrade directly to a newer version (such as 9.1) over the existing agent without generating a new Agent ID.
In my testing, I performed a manual upgrade from version 8.8 to 9.1 by installing the new package over the existing agent, and the result was that the agent upgraded successfully while preserving its identity (Agent ID).
Based on this, I assume the same behavior should apply when performing the upgrade through a management tool such as MDM. However, I would like to confirm if there are any additional considerations or limitations in this scenario.
Best regards
Click Accept as Solution to acknowledge that the answer to your question has been provided.
The button appears next to the replies on topics you’ve started. The member who gave the solution and all future visitors to this topic will appreciate it!
These simple actions take just seconds of your time, but go a long way in showing appreciation for community members and the LIVEcommunity as a whole!
The LIVEcommunity thanks you for your participation!

