список всех DCI

Started by deepjohnsea, September 19, 2019, 06:22:49 PM

Previous topic - Next topic

deepjohnsea

Баловался с графиками и понасоздавал кучу DCI у разных нод.
Вопрос...
Как получить весь список DCI с привязкой к объектам. Хочу почистить. Да и просто интересно.
ПС:
И куда делся Unbind ?

Victor Kirhenshtein

Можно например таким NXSL скриптом:


global visited = %();

EnumerateNodes(FindObject(1));

sub EnumerateNodes(rootObject)
{
for(o : GetObjectChildren(rootObject))
{
if (classof(o) == "Node")
{
PrintDCIs(o);
}
else if (classof(o) == "Subnet")
{
EnumerateNodes(o);
}
}
}

sub PrintDCIs(node)
{
if (visited[node->id] != null)
return;

println("***** " . node->name . " *****");
for(dci : FindAllDCIs(node))
{
println("   " . dci->description);
}

visited[node->id] = 1;
}


deepjohnsea

Стесняюсь спросить  :-[
А куда это все пихать?

Filipp Sudanov

Это скрипт на языке NXSL, который используется в NetXMS в качестве внутренного скриптового языка.
Если щелкнуть правой кнопкой по любой ноде, там будет пункт "Execute server script". Туда закопипаcтить код и нажать F2.