Как добавить несколько команд в свойства
Изменить язык
Полная версия
© Valve Corporation. Все права защищены. Все торговые марки являются собственностью соответствующих владельцев в США и других странах. Политика конфиденциальности | Правовая информация | Соглашение подписчика Steam | #footer_refunds
Установить Steam
© 2023 Valve Corporation. Все права защищены. Все торговые марки являются собственностью соответствующих владельцев в США и других странах.
Мастер действий командной строки
Поддержка этой версии Orchestrator завершена. Рекомендуется выполнить обновление до Orchestrator 2019.
Мастер действий Command-Line позволяет быстро создавать новые действия в Orchestrator, инкапсулируя команды, аргументы и параметры в сборку Microsoft .NET (.DLL). Мастер автоматически создает исходный код на C#, используя пакет SDK для Orchestrator, и компилирует его. С помощью этой сборки можно использовать пакет интеграции .NET (часть набора средств интеграции) для тестирования действий, а затем использовать мастер пакетов интеграции, чтобы упаковать сборку в пользовательский пакет интеграции, который можно распространять и развертывать так же, как и другие пакеты интеграции.
Сборка может содержать одно или несколько действий (команд), а действия могут иметь один или несколько доступных типов команд (Команда, Командная строка, PowerShell или команда SSH). Вы определяете имя действия, структуру команд, входные параметры и даже опубликованные данные (выходные данные).
Общие сведения о действиях в Orchestrator
Действие является единой функциональной частью runbook Orchestrator. Действия выполняют фактическую работу в модулях Runbook и объединяются с помощью ссылок, которые можно определить с помощью условий для создания ветвей рабочих процессов. При создании модуля Runbook с помощью runbook Designer вы перетаскиваете действия из области Действия в модуль Runbook и связываете их вместе, чтобы сформировать рабочий процесс. При выполнении модуля Runbook каждое действие вызывается последовательно в соответствии с способом их связывания. Каждое действие выполняет определенную задачу и может собирать входные данные из шины данных Orchestrator и публиковать выходные данные в той же шине данных. Каждое действие может извлекать опубликованные данные из любого из действий, которые выполнялись до него в runbook, а публикация выходных данных позволяет следующим действиям получить к ним доступ.
Действия варьируются от простых до сложных. Действие можно создать с помощью мастера действий Command-Line, который не выполняет никаких действий, кроме преобразования текста в выходное свойство. Вы также можете создать одно действие, которое выполняет сложное многоэтапное действие, например развертывание виртуальной машины. Вы можете определить, что будет делать каждое действие. Однако ваша цель должна заключаться в определении действий, которые инкапсулируют отдельные наборы функциональных возможностей, которые позволяют легко использовать повторно в различных ситуациях. Ключом является гибкость. Лучше создать набор из 10 различных действий, каждый из которых выполняет что-то определенное и сможет использовать эти действия 20 разными способами, а не создавать 20 различных действий для решения конкретных отдельных сценариев. Дополнительные сведения о рекомендациях рассматриваются далее в этом документе.
Создание сборки действия
Создание новой сборки действия командной строки
Выполните следующие действия, чтобы создать новую сборку действия командной строки.
Номер версии состоит из четырех частей:
Добавление команд в сборку
Добавление команды в сборку
Чтобы добавить команду в сборку, выполните следующие действия.
- На странице Команды можно определить одну или несколько команд (которые становятся действиями), которые будут добавлены в сборку. Чтобы добавить новую команду, нажмите кнопку Добавить.
- Диалоговое окно Добавление и изменение команды отображается и содержит три вкладки: Общие, Аргументы и Опубликованные данные. Введите имя команды. Это имя, отображаемое в Runbook Designer для действия. При необходимости можно также ввести описание для команды.
- Селектор свойств Mode содержит четыре параметра: Выполнить команду, Выполнить Windows PowerShell, Запустить программу и Выполнить команду SSH. Если выбран режим Запуска программы , поле Программа становится активным. Нажмите кнопку с многоточием (. ) и найдите программу, которую вы хотите запустить.
Примечание Программа, выбранная в команде Выполнить программу, будет вызываться на сервере Runbook, где выполняется модуль Runbook, содержащий это действие. Таким образом, эта программа должна существовать на всех серверах Runbook, где предполагается запустить модуль Runbook.
Важно! Если вы указали Windows PowerShell выполнить для параметра Mode и ссылаетесь на скрипт PowerShell, включенный в пакет интеграции, необходимо указать имя скрипта символами точки и косой черты, чтобы ссылаться на локальный каталог. Например, \MyScript.ps1 будет указан для скрипта с именем MyScript.ps1. Это связано с тем, что файл скрипта будет скопирован в каталог по умолчанию для пакета интеграции. Когда Windows PowerShell запускает скрипт из локального каталога, он должен указать эту нотацию.
Например, параметр переменной среды с именем Folder можно поместить в командную строку следующим образом:
Используйте шаблон соответствия , чтобы определить, найден ли данный шаблон в источнике. Возвращает значение True или False.
Тестирование сборки действия
После создания сборки вы можете протестировать ее с помощью действия Вызов .NET (содержащегося в IP-адресе набора средств интеграции для .NET), чтобы убедиться, что она работает должным образом, прежде чем преобразовать ее в пользовательский пакет интеграции.
Тестирование сборки
Чтобы протестировать сборку, выполните следующие действия.
- Откройте Runbook Designer.
- Создайте новый модуль Runbook.
- В области Действия выберите категорию Набор средств интеграции , чтобы развернуть ее, и перетащите действие Вызов .NET в новый модуль Runbook.
- Дважды щелкните объект Вызов .NET, чтобы открыть диалоговое окно Свойства .
- В поле Сборка найдите файл сборки, созданный с помощью мастера действий Command-Line (или с помощью пользовательской разработки с помощью пакета SDK), нажав кнопку с многоточием (. ) справа от поля. Выберите файл и нажмите кнопку Открыть.
- Нажмите кнопку с многоточием справа от поля Класс , чтобы просмотреть список отдельных команд в сборке. Выберите класс команд и нажмите кнопку ОК. Параметры для этого класса отображаются на вкладке Свойства диалогового окна.
- Поле Setup используется только пользовательскими классами, использующими пакет SDK Orchestrator с атрибутом OrchestratorData. Дополнительные сведения о пакете SDK см. в статье Пакет SDK для набора средств интеграции System Center Orchestrator.
- Выберите вкладку Свойства.
- При необходимости укажите сведения для каждого свойства.
- Нажмите кнопку Готово , чтобы сохранить параметры и вернуться к runbook.
- Выберите Runbook Tester на панели инструментов в runbook Designer. Запускается модуль Runbook Tester.
- Выберите Выполнить до точки останова на панели инструментов. Запускается модуль Runbook, и выполняется действие. Результаты действия отображаются в области Журнал выполнения .
- Выберите Показать сведения под именем действия в области Журнал запуска, чтобы просмотреть подробные результаты, включая входные свойства и опубликованные данные.
Миграция действий QIK CLI
Если у вас есть сборка, созданная с помощью мастера интерфейса командной строки QIK Opalis 6.3, необходимо преобразовать ее в совместимую с Orchestrator, прежде чем ее можно будет использовать в пакете интеграции Orchestrator или непосредственно в модулях Runbook с помощью действия Вызова .NET. Процесс преобразования прост и занимает всего несколько секунд для каждой сборки.
Установка набора средств интеграции Orchestrator не завершится ошибкой, если не установлен microsoft платформа .NET Framework 3.5 с пакетом обновления 1 (SP1), но другие операции в мастере действий Command-Line завершатся ошибкой, если они отсутствуют. Убедитесь, что microsoft платформа .NET Framework 3.5 с пакетом обновления 1 (SP1) установлен, прежде чем использовать интерфейс командной строки.
Преобразование сборки Интерфейса командной строки Opalis QIK
Выполните следующие действия, чтобы преобразовать сборку CLI Opalis QIK:
- Запустите мастер действий Orchestrator Command-Line, выбрав Запуск > всех программ > Мастер действий Command-Line Microsoft System Center 2012 > Orchestrator >
- После загрузки мастера нажмите кнопку Загрузить существующую сборку на первой странице.
- Выберите существующий файл сборки и нажмите кнопку Открыть. Отображается имя и расположение файла сборки.
- Измените путь к файлу, чтобы изменения сохранялись в новом файле. При необходимости можно также изменить имя сборки.
- Если вам нужно внести дополнительные изменения в сведения о сборке, нажмите кнопку Сведения о сборке и внесите эти изменения. По завершении нажмите кнопку ОК , чтобы вернуться на страницу Сведений о сборке.
- Нажмите кнопку Далее , чтобы перейти на страницу Команды. Вы увидите список команд, которые были определены ранее в сборке. При необходимости просмотрите команды и нажмите кнопку Далее , чтобы перейти на страницу Сборка сборки .
- Новая сборка будет создана и сохранена с использованием пути и имени файла, которые вы определили ранее.
- Теперь вы можете использовать новую сборку, совместимую с Orchestrator, в модулях Runbook с действием Invoke .NET или создать пакет интеграции из этой сборки, нажав кнопку Собрать пакет интеграции . Если вы не хотите создавать IP-адрес в настоящее время, нажмите кнопку Закрыть , чтобы завершить работу мастера.
Ресурсы Orchestrator
Помимо этого справочника в Интернете, предоставленного для System Center 2012 Orchestrator, существует ряд ресурсов, которые могут предоставить дополнительные сведения о создании модулей Runbook, использовании набора средств интеграции и рекомендациях.
- Домашняя страница System Center
- Документация по System Center
- Блог команды Orchestrator
- Форумы сообщества Orchestrator|
Как управлять расположением команд в командной панели формы?
Внешний вид формы определяется расположением и свойствами элементов в дереве элементов формы. На основе этих свойств система сама «рисует» форму, в частности, командную панель формы.
Любая группа кнопок (командная панель, подменю, группа кнопок, контекстное меню) заполняется по одинаковым правилам:
- сначала идут кнопки, предоставляемые источником команд, с которым связана данная группа;
- затем идёт фрагмент командного интерфейса, если источник команд подразумевает его включение;
- затем идут пользовательские команды, добавленные в данную группу;
- затем идёт подменю Все действия (только для командной панели);
- и в конце идёт кнопка Справка в том случае если она была предоставлена источником команд.
Рассмотрим самый простой вариант, когда в форме элемента справочника созданы две команды и помещены в командную панель формы.

В результате в режиме 1С:Предприятия расположение кнопок, соответствующих созданным командам Команда1, Команда2 соответствует описанному выше алгоритму: в командной панели формы и в подменю Все действия сначала расположены команды, предоставляемые источником команд — формой элемента справочника (например, Записать и закрыть, Записать и др.), затем команды, созданные разработчиком (Команда1, Команда2), и затем команда Справка.

Однако у разработчика есть несколько способов существенно вмешаться в этот процесс и повысить удобочитаемость командной панели, контекстного меню и т.п. Какие же есть возможности изменить состав и порядок кнопок?
1. Можно отделить команды, созданные разработчиком, от других команд разделителем
Для этого нужно создать в командной панели группу вида Группа кнопок и перенести в нее эти команды.


2. Можно расположить какие-то команды разработчика в начале группы команд
Для этого нужно отменить у группы источник команд (для контекстного меню и автоматической командной панели нужно выключить флажок Автозаполнение), затем добавить в группу свою кнопку, после нее добавить группу вида Группа кнопок и у этой группы установить источник команд — например, Форма.

В результате в режиме 1С:Предприятия командная панель формы и подменю Все действия будут иметь следующий вид.

3. Можно переместить автоматически заполняемые кнопки
Для этого нужно поместить в дерево командной панели или контекстного меню кнопку, связанную с той же командой, которая заполняется из источника данных (например, Удалить, Скопировать и др.). Автоматически такая кнопка не будет размещена среди стандартных команд и, таким образом, можно переместить стандартную команду в другое место.

В результате в режиме 1С:Предприятия командная панель формы и подменю Все действия будут иметь следующий вид.

Чтобы пиктограмма команды Удалить отображалась в командной панели формы, нужно установить свойство этой кнопки ТолькоВоВсехДействиях в значение Нет.
4. Можно изменить порядок и видимость кнопок фрагмента командного интерфейса, предоставляемого источником команд Форма
Например, у объекта конфигурации справочник Контрагенты существует команда Команда3. Эта команда имеет группу размещения команд — Командная панель формы.Важное и тип параметра команды —СправочникСсылка.Контрагенты.

После установки этих свойств, Команда3 становится доступна закладке Командный интерфейс формы объекта, тип которого имеет команда и располагается в командной панели формы после стандартных команд, поставляемых формой элемента справочника.

В результате в режиме 1С:Предприятия командная панель формы и подменю Все действия будут иметь следующий вид.

Команда3 входит в группу команд фрагмента командного интерфейса. Если Вас не устраивает место, в которое вставляется фрагмент командного интерфейса, можно поместить в командную панель группу вида Группа кнопок и у этой группы установить Источник команд — Глобальные команды командной панели формы.

В этом случае автоматическое размещение фрагмента будет отменено (по аналогии со стандартной кнопкой, добавленной вручную), и фрагмент командного интерфейса будет выводиться в новой группе.

Что же касается содержимого фрагмента командного интерфейса, то его редактирование доступно на закладке Командный интерфейс редактора формы.
5. Можно включить/выключить видимость стандартных команд, предоставляемых источником команд, например — Форма
Для этого нужно открыть окно Состав команд в палитре свойств формы.

В заключение заметим, что возможности изменить порядок кнопок, предоставляемых источником команд, нет. Если такая необходимость появится, нужно отменить источник у группы команд, и полностью заполнить группу вручную.
Добавление команд в контекстное меню Компьютера и Корзины (продолжение)
После публикации статьи на Хабре Добавляем собственные команды в контекстное меню Проводника ко мне периодически стали приходить письма, в которых авторы просили объяснить, почему добавленные команды не отображаются в контекстных меню папки Компьютер или Корзина, хотя некоторые программы умудряются как-то добавить свои команды.
Вопросы вполне закономерные, и я сам задавался подобными вопросами несколько лет назад, когда изучал реестр Windows. Чтобы не отвечать на каждое письмо, решил написать небольшое продолжение на тему контекстных меню в Windows.
Для начала нужно понять, что, несмотря на определенную схожесть с папками, Компьютер и Корзина являются специальными объектами Windows, обладающими особенными свойствами. На самом деле таких объектов в системе Windows несколько сотен. В реестре Windows есть специальный раздел CLSID, который находится в ветке HKEY_CLASSES_ROOT. Если вы зайдете в этот раздел, то увидите, что он содержит непонятные разделы, состоящие из набора цифр, которые окружены фигурными скобками. Это идентификаторы класса (Class ID или CLSID), которые являются шестадцатибайтным числом. Для простоты можете представлять это число как номер телефона. Как номер телефона соответствуют одному человеку, так и номер CLSID соответствует определенному объекту.
Перейдем к делу. Итак, чтобы добавить новую команду в контекстное меню значка Компьютер (бывший Мой компьютер), нужно найти его идентификатор и добавить новый подраздел в его разделе shell. Объекту Компьютер соответствует идентификатор . Таким образом, чтобы добавить свою команду в контекстное меню объекта Компьютер, необходимо создать в разделе HKCR\CLSID\\shell новый раздел (например, Notepad), который и будет отображаться в меню. В созданном разделе создайте подраздел command, в котором пропишите программу для запуска в параметре по умолчанию. В нашем случае это будет строка notepad.exe.
Как и в примерах с папками, вы можете отредактировать значение по умолчанию для созданного раздела Notepad, чтобы выводилось более удобное имя (например, Запустить блокнот)

Проверяем — выбираем объект Компьютер в любом месте (меню кнопки Пуск, значок на Рабочем столе или в Проводнике) и убеждаемся, что в контекстном меню появилась команда Запустить блокнот.

Немного задержимся на контекстном меню Компьютера. Понятно, что если сторонняя программа добавила в контекстное меню Компьютера свою команду, то вы можете ее удалить, зная, где искать эту команду. Но, не переусердствуйте. Например, чтобы удалить команду Управление, совсем не обязательно удалять подраздел Manage. Достаточно воспользоваться параметром NoManageMyComputerVerb в разделе HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer или воспользоваться групповой политикой (подробнее об этом параметре можно узнать в электронном справочнике по реестру Windows. В этом случае вы просто скрываете ненужную команду безопасным способом.
Также вы можете скрыть пункт меню Свойства из контекстного меню объекта Компьютер при помощи параметра NoPropertiesMyComputer (тоже есть в электронном справочнике).
Аналогично поступаем и с объектом Корзина. Идентификатором Корзины является число . Прописываем для найденного CLSID новый раздел с подразделом command. Вместо поднадоевшего примера с запуском Блокнота, я прописал команду Пошел на Хабр с запуском Google Chrome на домашнюю страницу Хабрахабра (C:\Users\tehnolog\AppData\Local\Google\Chrome\Application\chrome.exe http://habrahabr.ru).

Для полноты картины добавлю, что для скрытия команды Свойства в контекстном меню Корзины используется параметр NoPropertiesRecycleBin.
На этом тема контекстных меню в Windows не исчерпана. Но, надеюсь, данный материал снимет часть вопросов. Удачи!
