Difference between revisions of "cpmiquerybin on SmartCenter server"

From cpwiki.net
Jump to: navigation, search
Check Point Profressional Services
(use a function to filter out get_cust_name error)
(set environment variables)
 
(2 intermediate revisions by one user not shown)
Line 11: Line 11:
  
 
source it to make them take effect...
 
source it to make them take effect...
  [Expert@ckkpmgr]# source $CPDIR/tmp/.CPprofile.sh
+
  [Expert@ckkpmgr]# '''source $CPDIR/tmp/.CPprofile.sh
 +
'''
  
 
== successful test run ==
 
== successful test run ==
Line 32: Line 33:
 
== use a function to filter out get_cust_name error ==
 
== use a function to filter out get_cust_name error ==
  
add a global function to /etc/profile
+
add a global function to /etc/bashrc
 
  function cpquery() { /usr/local/bin/cpmiquerybin "$@" 2>&1 | grep -v "get_cust_name: couldn't find";}
 
  function cpquery() { /usr/local/bin/cpmiquerybin "$@" 2>&1 | grep -v "get_cust_name: couldn't find";}
 +
 +
source it...
 +
[Expert@ckkpmgr]# '''source /etc/bashrc'''
  
 
The function above redirects stderr to stdout and filters out the error message string. Use the function '''cpquery''' at the shell command line in place of cpmiquerybin.  You aren't supposed to use aliases in scripts, maybe you can use the global function?  or you can define the function in all your scripts.
 
The function above redirects stderr to stdout and filters out the error message string. Use the function '''cpquery''' at the shell command line in place of cpmiquerybin.  You aren't supposed to use aliases in scripts, maybe you can use the global function?  or you can define the function in all your scripts.

Latest revision as of 20:45, 15 March 2014

cpmiquerybin is a useful tool found on Check Point Provider-1 servers. Ever wish you had it on a SmartCenter? Well, you can. Copy the cpmiquerybin from a Provider-1 (OF THE SAME Check Point VERSION) to your SmartCenter.


set environment variables

add the following lines to $CPDIR/tmp/.CPprofile.sh, replace the 192.168.1.10 with whatever your SmartCenter IP address is.

MSP_SOMEIP_ADDR="192.168.1.10"; export MSP_SOMEIP_ADDR
MDSDIR="/opt/CPshrd-R75.40"; export MDSDIR

source it to make them take effect...

[Expert@ckkpmgr]# source $CPDIR/tmp/.CPprofile.sh

successful test run

[Expert@ckkpmgr]# cpmiquerybin attr "" network_objects "name='LocalMachine'" -a __name__
get_cust_name: couldn't find /customers/ within fwdir
LocalMachine

The error concerning the customers dir is annoying. I tried to make some dummy dirs to fake it out...

mkdir /opt/CPsuite-R75.40/fw1/customers
mkdir /opt/CPsuite-R75.40/fw1/customers/dummy
mkdir /opt/CPshrd-R75.40/customers
mkdir /opt/CPshrd-R75.40/customers/dummy

but it didn't work... so, best to use a function.


use a function to filter out get_cust_name error

add a global function to /etc/bashrc

function cpquery() { /usr/local/bin/cpmiquerybin "$@" 2>&1 | grep -v "get_cust_name: couldn't find";}

source it...

[Expert@ckkpmgr]# source /etc/bashrc

The function above redirects stderr to stdout and filters out the error message string. Use the function cpquery at the shell command line in place of cpmiquerybin. You aren't supposed to use aliases in scripts, maybe you can use the global function? or you can define the function in all your scripts.

another test run...

[Expert@ckkpmgr]# cpquery attr "" network_objects "name='LocalMachine'" -a __name__
LocalMachine

no more error!