NetXMS Support Forum

Russian Support => Общие вопросы => Topic started by: Argonauts on August 25, 2026, 05:15:38 AM

Title: DCI для параметра в реестре
Post by: Argonauts on August 25, 2026, 05:15:38 AM
Доброго дня
NetXMS Server Version 6.2.1 Build 6.2-513-g227556c428
NXCP: 5.62.1.56 (AES-256, 3DES, AES-128)
Built with: g++ (Ubuntu 13.2.0-23ubuntu4) 13.2.0


Пытаюсь создать параметр в ноде из реестра windows машины.
-Instance discovery по листу от агента
--System.Registry.Values(HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Safer\CodeIdentifiers)
-Метрика
--System.Registry.Value(*) формат string

Dci появляется на мгновение, и пропадает.

Instance discovery poll отдает, что параметры он создать пытается, но опять же ничего в списке не появляется
[25.08.2026 10:02:41]       Creating new DCO for instance "TransparentEnabled"
[25.08.2026 10:02:41]       Creating new DCO for instance "PolicyScope"
[25.08.2026 10:02:41]       Creating new DCO for instance "ExecutableTypes"
[25.08.2026 10:02:41]       Creating new DCO for instance "AuthenticodeEnabled"
[25.08.2026 10:02:41]       Creating new DCO for instance "LogFileName"
[25.08.2026 10:02:41]       Creating new DCO for instance "DefaultLevel"

Пробовал еще через external list в агенте забрать
ExternalList = HostName:powershell -NonInteractive -Command "Get-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\Safer\CodeIdentifiers'"
но опять же dci просто пропадает сразу
Что я не так делаю?
Title: Re: DCI для параметра в реестре
Post by: Alex Kirhenshtein on August 27, 2026, 06:51:03 PM
Добрый день,

Метрика указана неверно. System.Registry.Value(*) — это шаблон из каталога метрик агента, а не готовая метрика: у неё два аргумента, путь к ключу и имя value. Для вашего случая:

System.Registry.Value(HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Safer\CodeIdentifiers,{instance})
{instance} нужно добавить и в description, иначе все шесть DCI получатся с одинаковым именем.

С литеральной * агент не может разобрать первый аргумент как корневой ключ и возвращает "unknown metric", поэтому созданные DCI сразу уходят в статус unsupported — в event log ноды должно быть шесть SYS_DCI_UNSUPPORTED. В Data Collection в режиме просмотра проверьте, что включён показ unsupported DCI.

Instance discovery настроен правильно, external list здесь не нужен — System.Registry.Values(...) возвращает именно имена values.

Отдельно: сам DCI, на котором настроен instance discovery, в режиме просмотра не отображается, в списке видны только созданные по нему DCI. Это ожидаемое поведение.