Я видимо туплю, как запускать скрипты
Взял скрипт примера тут
https://wiki.netxms.org/wiki/Using_nxshell_to_automate_bulk_operations#List_Inventory_Software_for_all_nodes
for node in [o for o in s.getAllObjects() if isinstance(o, objects.Node)]:
print 'Node: ', node.getObjectName()
try:
for package in s.getNodeSoftwarePackages(node.getObjectId()):
print package.getName()
except:
print "No package found"
А у меня лезет ошибка сразу
line 1 T_IDENTIFIER expecting '('
Буду очень благодарен, если поможете со скриптом, который у всех нод в контейнере поставит галки
Disable SSH...
Disable configuration pulling
Disable routing...
Disable topology...
Disable network discovery
Привет, доброе утро.
Я использовал этот ресурс viki, и моя оболочка выглядит немного иначе, чем ваша, и скрипт не выдает никаких ошибок. Пожалуйста, попробуйте запустить его из оболочки UNIX и с последней версией
Этот скрипт из вики расчитан на запуск при помощи nxshell (python).
Execute script в консоли запускает nxsl скрипты.
Из NXSL можно отключить таким скриптом:
$node->enableSsh(false);
$node->enableConfigurationPolling(false);
$node->enableRoutingTablePolling(false);
$node->enableTopologyPolling(false);
$node->enableDiscoveryPolling(false);
Можно запустить на ноде, или добавить в Hook::ConfigurationPoll.
Ну или можно обойти ноды скриптом:
for (n : GetAllNodes()) {
n->enableSsh(false);
n->enableConfigurationPolling(false);
n->enableRoutingTablePolling(false);
n->enableTopologyPolling(false);
n->enableDiscoveryPolling(false);
}
А кстати как вообще дефолтные настройки раздела "Polling" сделать для новых нод?
дефолтные настройки изменить нельзя, так как они жестко закодированы. Есть Hook::ConfigurationPoll скрипт где вы можете добавить следующее
if (classof($object) == "Node") {
$node->enableConfigurationPolling(false);
}
Первый раз после создания noda будет запущен Configurstion poll, а затем он будет отключен.