search cancel

How do we delete device(s) in UIM/Nimsoft (in an user friendly way)?


Article ID: 201112


Updated On:


DX Unified Infrastructure Management (Nimsoft / UIM)


How do we delete device(s) in UIM/Nimsoft (in an user friendly way)?


UIM 8.x / 9.x /20.1 (not tested on 20.3/20.4 but should work)


NOTE: Support is generally not setup to help client build custom automation solution as you are requesting.
This usually would be refereed to our services department.

The latest available doc/discussion explained that this is a multi step procedure, certainly if you want also to delete the related QoS data.


Attached zip contains a tool: nimsoft_delete_device that will remove the device in:

- via discovery_server probe callback (remove from usm)

- via hub probe callback (remove from IM)

- all related QoS data

- all related MCS\SSR QoS data

- all related alarms in nas_transaction_log and nas_transaction_summary

- via the nas probe callback (nameservice_delete)


Selection parameters:

  -h: device(s) to delete

  -f:  path/file with devices to delete, 1 device per line, example: -f"c:/temp/delete.txt"

  -o: filter on origin

  -c: filter on dedicated

      (Device, VirtualMachine, Host, HostSystem)

  -r: enable regex expressions on flags -h,-o,-c (y,n) default: n

Delete parameters:

  -p: prevent rediscovery (y,n) default: n

  -q: delete QoS (y,n) default: y

      (QoS will not be deleted if -c is used)

  -i: delete in hub/IM (y,n) default: y

  -a: delete alarm (y,n) default: y

  -m: delete MCS/SSR QoS entries (y,n) default: y

  -n: delete in NAS address table (y,n) default: n

Display parameters

  -l: list detailed list of selected QoS to delete (y,n) default: n

  -v: verbose (y,n) default: y

  -t: verbose on sql delete (y,n) default: n

Execution parameters

  -s: simulate run (y,n) default: y
  -x: device match on ip (y,n) default: y. n: run an extra match on s_qos_data
  -w: the single device, defined via -h, will be used in the SQL WHERE clause

Debug Parameters:

  -d: when using -d"p" you will receive in simulation mode the PU command needed to use the callback: remove_master_device_by_cskey


Example1: nimsoft_delete_device.exe -h"servername"

This will simulate the delete of the server "servername".  If the simulation is ok for you, you can add: -s"n"

Example2: nimsoft_delete_device.exe -f"c:/temp/delete_servers.txt"

This will simulate the delete of all devices in file: c:/temp/delete_servers.txt. (Note: use a "/" to specify the path)


The script is written for Windows and MSSQL/mySQL and compiled via the pp option in Strawberry Perl. The package contains the .exe and .pl versions)

The zip contains also a CentOS compiled version (.bin)

In the zip file there is also a doc file that contains more info (you will need to change a file: nimsoft_generic.dat with server & user settings)


Version 1.2:

- parameter -o makes it possible to filter on origin in regex format

- mssql trusted connection can be used

Version 2.0:

- mysql added

- delete alarms in nas_transaction_log and nas_transaction_summary

- delete mcs/ssr qos and definitions

- regex is now an option

Version 2.1:

- in the search of all robotnames the tool will only search the domain specified in the nimsoft_generic.dat file

Version 2.2:

- works now with MSSQL and MySQL

- Works now on Windows and Linux (tested on Centos7)

- included compiled version for Linux (.bin) and Windows (.exe) that should work on standalone servers (but with a robot installed)

Version 2.3:

- The step to delete the device in the robot table of the hub is now based on a simple SQL query instead of (time consuming) callbacks

Version 2.4:

- the -m option is modified to be compatible with UIM 8.51.

- delete device NAS addess table with the option -n

Version 2.5:

- add with(nolock) in the sql queries

- add debug option -d"p"

Version 2.6:

- add option -f, so that you can use a file, 1 server per line, to define the servers/devices to delete

Version 2.9:

- minor debug/message changes

- option -i"y", delete in hub/IM via removerobot callback, had a wrong callback address if the robot was on a remote hub

Version 3.0:

- if multiple cs_id's are found for a device, all will be deleted

- work together with a probe version of "delete device" so that you can delete a device via a nimalarm

Version 3.1:

- tested with version 9.0.2

- add option -p to activate "prevent_rediscovery" (y,n) default: n

Version 3.3:

- callback removerobot needed to be case sensitive (added lookup to find the correct case)

- reworked/retested the Perl setup environment chapter 3

- revised all print statements to make debugging easier

- when working with the Perl source, you will need 3 extra Perl packages installed (see chapter 3, last 3 cpan install statements)

- MCS code reworked, thanks to Swat team, to remove MVS profiles of the deleted device

- tested with 9.1 (or 9.0.2 sp1)

- prepared to work with probe_decom (probe that will accept remove devices commands via a simple NimAlarm)
Version 3.4:
- nimsoft_generic.dat has a new parameter: sql_driver.  This gives you the possibility to use another MSSQL driver needed for TLS 1.2
- tested with UIM 9.20
- new parameter -x.  Source match on ip. Default: y. When set to: n we will run an "extra" search directly on s_qos_data to find matching qos metrics that have no ci_metric_id
Version 3.4.2:
- parameter -w"y" will use the single device, defined via -h, in the SQL WHERE clause.  When deleting a single device this is now the recommended parameter to use; it will improve the execution performance (very much)

Comments and ideas are very welcome.

(this is , like all other user written tools, only an example tool that I tested as good as possible)


Note1: this version was fully tested on 9.20

If you want to run it on older 8.x versions you must use the -m"n" parameter so that the tool will not try to use the MCS/SSR tables from 8.4

(tested with -m"n" on 8.1 and 8.31)

Note2: if you run the tool in non-simulation mode and receive an error like: "rc=2 err=communication error from nimNamedRequest " this is probably due to an error in defining the correct variable values (specially Case is important) for uim_domain, uim_hub or uim_robot in the file nimsoft_generic.dat.  Try to use your values in the command:

pu -u administrator -p ?? /your_domain/your_hub/your_robot/discovery_server get_snmp_devices

The debug option -d"p" can help you to generate this PU command.
Note3: the latest version is attached as an update at the end

Pre-requisite: this tool does require a robot installed locally on the device where you want to run this tool (to be able to login to UIM)

Attachments get_app
nimsoft_delete_device_v3.4_1602183400981.docx get_app