Ad Widget

Collapse

Командная строка в system.run

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Victor Sklyarov
    Senior Member
    • Apr 2016
    • 190

    #1

    Командная строка в system.run

    Пытаюсь запустить несколько команд в system.run. Столкнулся с тем, что не могу создать переменную. Например system.run[echo off & set any=qq & echo %any%] Результат выполнения %any% Получается, что zabbix agent Не может создать для сеанса CMD окружение и создать в нём переменную. Есть ли решение этой проблемы?
  • Ldzzzz
    Junior Member
    • Feb 2024
    • 16

    #2
    Нужно разрешить выполнение удалённых команд в конфигурации агента Zabbix.

    Добавьте следующую строку в файл конфигурации агента:
    AllowKey=system.run[*]

    Затем перезапустите агент Zabbix.

    Comment


    • guntis_liepins
      guntis_liepins commented
      Editing a comment
      Ну не надо так делать.
  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3430

    #3
    Чтобы команда работала через Zabbix агента, она для начала должна нормально отрабатывать без него - просто в окошке CMD.EXE.
    У меня ваш "скрипт" и просто в окне CMD не работает - видимо, ссылка на переменную раскрывается сразу же, а не после выполнения предыдущей команды (это подтверждается тем, что на второй запуск уже отображается изменённое значение).
    Что-то смутно припоминается про режим отложенного раскрытия переменных в CMD, но дело тут явно не в Zabbix'е.
    Click image for larger version  Name:	Screenshot-2026-03-20_01.png Views:	0 Size:	12.6 KB ID:	512021
    (добавлено)
    Вот, слегка освежил в памяти (подробнее - см. "cmd /?" и "set /?"):
    Code:
    Q:\>cmd /V:ON /C "set any=cc & echo !any!"
    cc
    
    Q:\>cmd /V:ON /C "set any=dd && echo !any!"
    dd
    Last edited by Kos; Today, 17:58.

    Comment

    Working...