Этапы пользователей
Создавайте пользовательские этапы для настройки и сохранения этапов для использования во время создания бота. После создания этапы становятся доступны для повторного использования в Редактор ботов Neurons в разделе Этапы > Пользователь.
Для создания этапа пользователя:
- В ПО Боты Neurons выберите Создание бота.
- На странице создания бота выберите Создать для планируемого бота или бота особого действия.
- На странице редактора новых ботов выберите Управление этапами пользователей для отображения страницы Диспетчера этапов пользователей .
- На странице Диспетчера этапов пользователей выберите Создать и этап:
- Запрос PowerShell
- Действие PowerShell
- Действие Bash
- Действие командной строки
- OSQuery
- На странице редактора этапов пользователей введите имя этапа. Например, Сжатие файла/папки.
- Если нужно, введите описание. Описательный текст отображается, когда в редакторе бота и на панели Настройки этапа указана информация о нем. Например, На этом этапе исходные файлы из указанного пути сжимаются помещаются целевой путь.
- Введите код сценария.
Пример:
Compress-Archive -path C:\logs\file.txt
-destinationpath C:\logs\file.zip
-compressionlevel Optimal
Вы можете сделать этот сценарий более гибким, заменив часть неизменяемого кода переменными. Это позволит настраивать элементы во время использования этапа.
Пример:
Compress-Archive -path ___Path to Source File or Folder__
-destinationpath __Destination Path__
-compressionlevel __Compression level|options:Fastest,Optimal,No Compression_
Нажмите Ctrl + пробел для вставки переменной параметров или переменной значения:
- Переменная параметров отображается в настройках в виде раскрывающегося списка - доступные параметры - это вводимые в сценарии параметры. В этом примере: Параметры уровня сжатия Fastest, Optimal, No Compression.
- Переменная значения отображается в настройках в виде текстового поля с меткой, вводимой в сценарии. В этом примере: Patch to Source File or Folder, Destination Path, and Compression level.
В этом примере настройки этапа будут выглядеть так:
- Заполните настройки этапа - доступные настройки зависят от типа пользователя создаваемого этапа:
- Система
- От имени пользователя в системе
- PowerShell
- Ядро
- Авто
- Выходные данные сценария имеют формат JSON (можно использовать команду ConvertTo-JSON).
- Вы можете присвоить имя каждому полю данных как записи вывода в настройках этапа.
- Если будет выбран тип PowerShell со значением Core, сценарий PowerShell будет выполнен в ПО PowerShell Core .Net Core 3.1 Desktop Runtime - версия 24.64.28315 или выше должна быть установлена на вашем рабочем компьютере.
- Если будет выбран тип PowerShell со значением Auto, запрос выполнит поиск ПО Net Core 3.1 Desktop Runtime - версия 24.64.28315 или более поздней версии. Ниже представлены результаты:
- Если среда выполнения уже установлена, сценарий будет выполнен с использованием PowerShell Core.
- Если среда выполнения не установлена, сценарий будет выполнен с использованием PowerShell.
- Одиночный - если тип вывода указан как одиночный - только один объект будет возвращен в формате JSON.
- Несколько - если тип вывода указан как множественный - данные будут получены в виде массива объектов в формате JSON.
[{“Пример поля”: "A"}, {"Пример поля": “B”}]
Объекты в массиве содержат примитивные типы. В поле Вывод для инспектора этапов нужно подключить поле Пример и указать Имя.
$processes = Get-Process | Select-Object Name
ConvertTo-Json $processes - Система
- От имени пользователя в системе
- PowerShell
- Ядро
- Авто
- Система
- От имени пользователя в системе
- Система
- От имени пользователя в системе
-
Для сканирования и восстановления поврежденных файлов:
-
Для проверки и исправления статуса физического диска:
![Закрыто](Skins/Default/Stylesheets/Images/transparent.gif)
Выполнить от имени:
Тип:
Вывод: Добавьте выводные данные для каждого имени столбца, возвращаемого запросом PowerShell, который нужно использовать на этапе результатов последующего фильтра или в качестве переменной на другом этапе.
Единичный результат: Включение или выключение. Используйте одиночный или несколько результатов для определения, будет ли запрос возвращать один или несколько результатов для каждого устройства. Это определяет, доступны ли переменные в качестве входных маркеров непосредственно на последующих этапах (одиночные) или они доступны только для этапов в блоке результатов для каждого (несколько) для зацикливания этих этапов для каждого результата.
Используйте PowerShell для опроса вашей среды, когда нужные особые действия невозможно выполнить с помощью стандартных этапов бота.
Для успешного выполнения запроса убедитесь, что:
По умолчанию время ожидания вывода сценария - 25 минут.
Типы PowerShell:
Тип вывода:
Включите, если нужно, чтобы результаты отображались кратными, и выключите, если результаты должны отображаться по-отдельности.
$name = [System.Net.Dns]::GetHostName()
ConvertTo-Json @([customobject]@{Name = $name;})
![Закрыто](Skins/Default/Stylesheets/Images/transparent.gif)
Выполнить от имени:
Тип:
Пример действия PowerShell:
Действие PowerShell подобно запросу PowerShell за исключением того, что для действия PowerShell выводные данные отсутствуют. Для получения дополнительной информации см. раздел Пример запроса PowerShell.
![Закрыто](Skins/Default/Stylesheets/Images/transparent.gif)
Выполнить от имени:
Пример действия Bash:
Для уменьшения размера посредством удаления первых 100 записей, используйте следующую команду:
sed 1,100d your-filename
![Закрыто](Skins/Default/Stylesheets/Images/transparent.gif)
Выполнить от имени:
Пример действия команды:
sfc /scannow
chkdsk /offlinescanandfix
![Закрыто](Skins/Default/Stylesheets/Images/transparent.gif)
Единичный результат: Включение или выключение. Используйте одиночный или несколько результатов для определения, будет ли запрос возвращать один или несколько результатов для каждого устройства. Это определяет, доступны ли переменные в качестве входных маркеров непосредственно на последующих этапах (одиночные) или они доступны только для этапов в блоке результатов для каждого (несколько) для зацикливания этих этапов для каждого результата.
Добавить назначение столбца: Добавьте назначение столбцов для каждого имени столбца, возвращаемого osquery, которое нужно использовать на этапе результатов последующего фильтра или в качестве переменной на другом этапе.
Пример OSQuery:
Для обнаружения наиболее часто запускаемых на устройстве приложений, запустите сценарий:
select path,last_execution_time,count,
sid from userassist order by count desc
limit __Number of Apps to return|options:1,5,10__
-
Выберите Применить и закрыть для сохранения этапа пользователя.
Если вы внесли изменения в существующий этап пользователя, будет создана новая версия. После сохранения будет отображен диалог с предупреждением о том, что любые боты, использующие этап пользователя, нуждаются в обновлении для использования его последней версии.
Действия
Вы можете выполнять следующие действия для любого из этапов пользователей:
- Клонировать: Выберите этап пользователя, а затем Действия > Клонировать. Отобразится диалог клонирования этапа. Введите уникальное имя и нажмите Клонировать. Появится всплывающее сообщение с информацией об успешном создании этапа. Клонированный этап будет отображен в списке, и его можно выбрать и отредактировать.
- Удалить: Выберите один или несколько этапов пользователей и выберите Действия > Удалить . Отобразится диалог удаления этапов. Выберите Удалить для подтверждения удаления этапа. Это действие не может быть отменено, и данный этап станет устаревшим для любого бота, который его использует. Устаревшие этапы помечаются красной рамкой.