Запуск скрипта, версия 4.5.6 (ошибка T_IDENTIFIER)

Started by Akira, September 12, 2024, 08:57:01 AM

Previous topic - Next topic

Akira

Я видимо туплю, как запускать скрипты

Взял скрипт примера тут
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



uldis


Привет, доброе утро.

Я использовал этот ресурс viki, и моя оболочка выглядит немного иначе, чем ваша, и скрипт не выдает никаких ошибок. Пожалуйста, попробуйте запустить его из оболочки UNIX и с последней версией

Alex Kirhenshtein

Этот скрипт из вики расчитан на запуск при помощи 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);
}

Akira

А кстати как вообще дефолтные настройки раздела "Polling" сделать для новых нод?

uldis

дефолтные настройки изменить нельзя, так как они жестко закодированы. Есть  Hook::ConfigurationPoll скрипт где вы можете добавить следующее

if (classof($object) == "Node") {
  $node->enableConfigurationPolling(false);
}

Первый раз после создания noda будет запущен Configurstion poll, а затем он будет отключен.