NetXMS Support Forum

Russian Support => Общие вопросы => Topic started by: deepjohnsea on September 19, 2019, 06:22:49 PM

Title: список всех DCI
Post by: deepjohnsea on September 19, 2019, 06:22:49 PM
Баловался с графиками и понасоздавал кучу DCI у разных нод.
Вопрос...
Как получить весь список DCI с привязкой к объектам. Хочу почистить. Да и просто интересно.
ПС:
И куда делся Unbind ?
Title: Re: список всех DCI
Post by: Victor Kirhenshtein on September 20, 2019, 01:16:59 PM
Можно например таким 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;
}

Title: Re: список всех DCI
Post by: deepjohnsea on September 20, 2019, 03:25:54 PM
Стесняюсь спросить  :-[
А куда это все пихать?
Title: Re: список всех DCI
Post by: Filipp Sudanov on September 20, 2019, 03:40:11 PM
Это скрипт на языке NXSL, который используется в NetXMS в качестве внутренного скриптового языка.
Если щелкнуть правой кнопкой по любой ноде, там будет пункт "Execute server script". Туда закопипаcтить код и нажать F2.