Хотел по быстрому узнать в NetXMS где же я прописал определенны vlan.
И тут у меня тупик.
Задача то простая. Хочу по номену vlan-а или его названию найти железки где он фигурирует.
И обратная задача. Есть куча точек где этот vlan не поднят. Хочу найти их.
Пробовал с помощю поиска. что то такое (type==NODE) and ($node->hasVLANs) and ($node->vlans in %{id:100 } )
Поиск в форуме ничего не дал....Ну или я не там искал.
Попробуйте такой запрос:
with
vlanIdList = {
list = %();
for(v : vlans)
list->append(v->id);
return list;
}
type == NODE and hasVLANs and (100 in vlanIdList)
Огромное спасибо! Работет!
Не сочтите за наглость... Вкус приходит во время еды. )))
А как сделать поиск c нескольким id.
Ну и вишенка на торте... Как бы "Постоянные запросы для поиска" сохранять для повторного использованиия
У меня постоянно говорит
Cannot save object query: Access denied
ver 3.9.235
Вариант для проверки что устройство во всех указанных VLAN'ах:
with
vlanIdList = { %(4, 5, 8) },
vlanMatch = {
list = %();
for(v : vlans)
if (v->id in vlanIdList)
list->append(v->id);
return list->size == vlanIdList->size;
}
type == NODE and hasVLANs and vlanMatch
Здесь vlanIdList содержит список VLAN'ов.
Проблему с access denied повторил у себя, похоже какой-то баг. Будем разбираться.
Про сохранение запросов - пользователю нужно дать право "Manage object queries", но его невозможно дать через GUI в текущей версии. В следующем патч релизе мы это исправим.