As I am an old school R77.30 guy, I would do it this way:
Relevant for MDS only.
1. Switch to the relevant CMA
mdsenv <cma_name>
2. Find all services which have selected "Match For Any"
$MDSDIR/bin/cpmiquerybin attr "" services "include_in_any='true'" -a __name__
3. From given output gather all relevant services which I would like to disable "Match For Any" feature, and save it to some file
4. Create a small script which will iterate over all services in a created file and perform the change using dbedit
#!/bin/bash
SERVICES_MATCH_FOR_ANY=services_to_be_modified.txt
if [[ ! -f $SERVICES_MATCH_FOR_ANY ]];
then
echo "File $SERVICES_MATCH_FOR_ANY does NOT exist, cannot continue."
exit 0
fi
if [[ ! -s $SERVICES_MATCH_FOR_ANY ]];
then
echo "File $SERVICES_MATCH_FOR_ANY is EMPTY, cannot continue."
exit 1
fi
# export all Check Point environment variables
. /opt/CPshared/5.0/tmp/.CPprofile.sh
echo "Please type affected CMA Name/CMA IP:"
read CMA
echo "Going to switch to CMA with name/IP $CMA."
mdsenv $CMA
status=$?
if [ $status -eq 0 ]
then
echo "Switched to the $CMA correctly."
else
echo "CMA with name/IP $CMA does not exist !!!" >&2
exit 1
fi
for Port in $(cat $SERVICES_MATCH_FOR_ANY)
do
echo -e "modify services $Port include_in_any false\n-q\n" | dbedit -local
done
exit 0
Kind regards,
Jozko Mrkvicka