Difference between revisions of "Script Example: Enumerate All Nodes"
Jump to navigation
Jump to search
(Created page with "'''Requirements''' Enumerate all nodes in NetXMS database. '''Solution''' Create script in script library which will find "Entire Networks" object and walk down the tree. ...") |
m (Text replacement - "^" to "{{deprecated}}") |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{deprecated}} | |||
{| style="border-spacing: 20px; border: 20px solid red;" | |||
| | |||
'''WARNING''': This page is no longer updated. Please visit '''[https://www.netxms.org/documentation/nxsl-latest/#_examples_2 NetXMS Script examples]''' for current version of the documentation. | |||
|} | |||
'''Requirements''' | '''Requirements''' | ||
Line 7: | Line 18: | ||
Create script in script library which will find "Entire Networks" object and walk down the tree. This script can be executes as an action from event processing policy, or directly from server debug console via '''exec''' command. | Create script in script library which will find "Entire Networks" object and walk down the tree. This script can be executes as an action from event processing policy, or directly from server debug console via '''exec''' command. | ||
In order to be able to access info about all nodes, the '''CheckTrustedNodes''' server configuration variable needs to be set to 0. | |||
<syntaxhighlight lang="c"> | <syntaxhighlight lang="c"> |
Latest revision as of 16:13, 13 September 2022
This Wiki is deprecated and we are are currrently migrating remaining pages into product documentation (Admin Guide, NXSL Guide) |
WARNING: This page is no longer updated. Please visit NetXMS Script examples for current version of the documentation. |
Requirements
Enumerate all nodes in NetXMS database.
Solution
Create script in script library which will find "Entire Networks" object and walk down the tree. This script can be executes as an action from event processing policy, or directly from server debug console via exec command.
In order to be able to access info about all nodes, the CheckTrustedNodes server configuration variable needs to be set to 0.
// Find "Entire Network" object and start enumeration from it
EnumerateNodes(FindObject(1));
// This function walks object tree recursively starting from given root
sub EnumerateNodes(rootObject)
{
// Walk all child objects
foreach(o : GetObjectChildren(rootObject))
{
if (classof(o) == "Node")
{
// Process node object
trace(1, " + " . o->name);
}
else if (classof(o) == "NetObj")
{
// For all other objects, go down the tree
// There can be additional checks for object class, like
// if (o->type == 5)
EnumerateNodes(o);
}
}
}