- Products
- Learn
- Local User Groups
- Partners
- More
Simplify Admin Operations with R82.20
Wed, 19 August @ 5pm CET/11am EDT
The industry's first AI Network Firewall
Securing AI traffic, everywhere
The State of Ransomware Q2 2026:
This Quarter's Trends, and Their Impact on Your Defenses
READY OR NOT: Securing the AI Enterprise
AI Research & Threat Landscape
CheckMates Go:
No Attack Required
This one-liner executes a management API query for successful tasks from the last 30 days, extracts the task name, status, and last modification time from the JSON output, converts the timestamp into a readable date and time format (YYYY-MM-DD HH:MM), and prints the results in aligned columns with fixed widths for better readability.
For example, it shows:
When the policy was installed
When the SMS database was installed
When signature updates were performed
And many other operational security-related tasks
mgmt_cli -r true show tasks status "successful" from-date "$(date -u -d '30 days ago' +%Y-%m-%dT%H:%M:%S)" --format json | jq -r '.tasks[] | . as $t | ($t["meta-info"]["last-modify-time"]["iso-8601"] | split("T")) as $d | "\($t["task-name"])\t\($t.status)\t\($d[0]) \($d[1][0:5])"' | awk -F'\t' '{ printf "%-80s %-20s %-20s\n", $1, $2, $3 }'
This one-liner executes a management API query for successful tasks from the last 30 days, extracts the task name, status, and last modification time from the JSON output, converts the timestamp into a readable date and time format (YYYY-MM-DD HH:MM), and prints the results in aligned columns with fixed widths for better readability.
For example, it shows:
When the policy was installed
When the SMS database was installed
When signature updates were performed
nice one.
unfortunately it Will not work with multi domain. With mdm the oneliner would be much longer and then when working with many cma using -r true is very inefficient.
Edith says:
first to loop over cma
mgmt_cli -r true show domains --format json | jq -r '.objects[] | .name'
Then for each domain
while read domain; do
mgmt_cli -r true show tasks status "successful" from-date "$(date -u -d '30 days ago' +%Y-%m-%dT%H:%M:%S)" -d "$domain" --format json
Could then be something like this
mgmt_cli -r true show domains --format json | jq -r '.objects[] | .name' | while read domain; do
mgmt_cli -r true show tasks status "successful" from-date "$(date -u -d '30 days ago' +%Y-%m-%dT%H:%M:%S)" -d "$domain" --format json |
jq -r --arg dom "$domain" '.tasks[]? | . as $t | ($t["meta-info"]["last-modify-time"]["iso-8601"] | split("T")) as $d | "\($dom)\t\($t["task-name"])\t\($t.status)\t\($d[0]) \($d[1][0:5])"'
done | awk -F'\t' '{ printf "%-20s %-80s %-20s %-20s\n", $1, $2, $3, $4 }'
nice one.
unfortunately it Will not work with multi domain. With mdm the oneliner would be much longer and then when working with many cma using -r true is very inefficient.
Edith says:
first to loop over cma
mgmt_cli -r true show domains --format json | jq -r '.objects[] | .name'
Then for each domain
while read domain; do
mgmt_cli -r true show tasks status "successful" from-date "$(date -u -d '30 days ago' +%Y-%m-%dT%H:%M:%S)" -d "$
WOW...AMAZING!
************************
[Expert@CP-MANAGEMENT:0]# mgmt_cli -r true show tasks status "successful" from-date "$(date -u -d '30 days ago' +%Y-%m-%dT%H:%M:%S)" --format json | jq -r '.tasks[] | . as $t | ($t["meta-info"]["last-modify-time"]["iso-8601"] | split("T")) as $d | "\($t["task-name"])\t\($t.status)\t\($d[0]) \($d[1][0:5])"' | awk -F'\t' '{ printf "%-80s %-20s %-20s\n", $1, $2, $3 }'
CP-FW-01 - getCores-CMD succeeded 2026-01-27 00:15
CP-FW-01 - getCores-CMD succeeded 2026-01-22 00:15
CP-FW-01 - getCores-CMD succeeded 2026-01-24 00:15
CP-FW-01 - getCores-CMD succeeded 2026-01-23 00:15
CP-FW-01 - getCores-CMD succeeded 2026-01-29 00:15
CP-FW-01 - getCores-CMD succeeded 2026-01-25 00:15
CP-FW-01 - getCores-CMD succeeded 2026-01-26 00:15
CP-FW-01 - getCores-CMD succeeded 2026-01-28 00:15
CP-FW-02 - getCores-CMD succeeded 2026-01-22 00:15
CP-FW-02 - getCores-CMD succeeded 2026-01-25 00:15
CP-FW-02 - getCores-CMD succeeded 2026-01-23 00:15
CP-FW-02 - getCores-CMD succeeded 2026-01-26 00:15
CP-FW-02 - getCores-CMD succeeded 2026-01-27 00:15
CP-FW-02 - getCores-CMD succeeded 2026-01-28 00:15
CP-FW-02 - getCores-CMD succeeded 2026-01-29 00:15
CP-FW-02 - getCores-CMD succeeded 2026-01-24 00:15
CP-GW - getCores-CMD succeeded 2026-01-25 00:15
CP-GW - getCores-CMD succeeded 2026-01-28 00:15
CP-GW - getCores-CMD succeeded 2026-01-29 00:15
CP-GW - getCores-CMD succeeded 2026-01-23 00:15
CP-GW - getCores-CMD succeeded 2026-01-22 00:15
CP-GW - getCores-CMD succeeded 2026-01-24 00:15
CP-GW - getCores-CMD succeeded 2026-01-26 00:15
CP-GW - getCores-CMD succeeded 2026-01-27 00:15
IPS Management Update succeeded 2026-01-28 22:39
Application Control & URL Filtering succeeded 2026-01-29 00:00
IPS Management Update succeeded 2026-01-29 02:39
IPS Management Update succeeded 2026-01-27 10:41
Policy installation - LAB-POLICY-Andy succeeded 2026-01-27 12:33
IPS Management Update succeeded 2026-01-28 20:40
Install Database on CP-MANAGEMENT succeeded 2026-01-27 12:33
IPS Management Update succeeded 2026-01-29 04:39
IPS Management Update succeeded 2026-01-29 06:39
IPS Management Update succeeded 2026-01-27 12:39
IPS Management Update succeeded 2026-01-27 14:39
IPS Management Update succeeded 2026-01-27 16:39
IPS Management Update succeeded 2026-01-27 20:39
IPS Management Update succeeded 2026-01-27 22:39
Application Control & URL Filtering succeeded 2026-01-28 00:00
IPS Management Update succeeded 2026-01-28 00:39
IPS Management Update succeeded 2026-01-28 02:39
IPS Management Update succeeded 2026-01-27 18:40
IPS Management Update succeeded 2026-01-28 04:39
IPS Management Update succeeded 2026-01-28 06:39
IPS Management Update succeeded 2026-01-28 10:39
Install Database on CP-SMARTEVENT succeeded 2026-01-27 12:33
IPS Management Update succeeded 2026-01-28 12:39
IPS Management Update succeeded 2026-01-28 14:39
IPS Management Update succeeded 2026-01-28 16:39
Policy installation - LAB-POLICY-Andy succeeded 2026-01-29 08:08
[Expert@CP-MANAGEMENT:0]#
WOW...AMAZING!
************************
[Expert@CP-MANAGEMENT:0]# mgmt_cli -r true show tasks status "successful" from-date "$(date -u -d '30 days ago' +%Y-%m-%dT%H:%M:%S)" --format json | jq -r '.tasks[] | . as $t | ($t["meta-info"]["last-modify-time"]["iso-8601"] | split("T")) as $d | "\($t["task-name"])\t\($t.status)\t\($d[0]) \($d[1][0:5])"' | awk -F'\t' '{ printf "%-80s %-20s %-20s\n", $1, $2, $3 }'
CP-FW-01 - getCores-CMD succeeded 2026-01-27 00:15
CP-FW-01 - getCores-CMD succee
About CheckMates
Learn Check Point
Advanced Learning
YOU DESERVE THE BEST SECURITY