Задачи с переменной: Решение задач с помощью уравнений

Содержание

Задачи переменной — Справочник химика 21

    Если в результате решения этой задачи переменные у получают значения, близкие к О или 1, то они округляются до соответ- [c.249]

    По построению соотношение (II, 180) эквивалентно соотношениям (И, 165)—(II, 167). Заменяя в задаче переменные на переменные у, а соотношения (II, 165)—(II, 167) — соотношениями (II, 180), сведем задачу (II, 164)—(II, 167) к виду  [c.65]

    Если процесс протекает в условиях, далеких от адсорбционного равновесия, то использование уравнений изотерм для определения 0 становится невозможным. В таких задачах переменные г определяют из уравнений материального баланса, учитывающих процессы адсорбции, десорбции и химических превращений веществ. Для простой реакции первого порядка уравнение адсорбционной кинетики тогда принимает вид  [c.22]


    И напряжениями) имеются такие же зависимости, как между переменными во времени величинами моделируемой системы. Определяемые при решении задачи переменные измеряют в том или ином масштабе как электрические величины [71. 
[c.147]

    Величина зазора в задаче переменна, она зависит от разности 8 радиусов наружного Кг и внутреннего цилиндров = Кг К ) и величины эксцентриситета е. [c.79]

    Ввиду несимметричности задачи переменная отсчитывается от горячей поверхности и меняется не от —1 до +1, а от О до 2. Граничные условия (при = О, 0 = 0 при = 2, 0 = 0о) дают для определения постоянных интегрирования систему из двух трансцендентных уравнений  [c.339]

    Задача 1.28. а) Если в данной задаче переменные g и р канонические, показать, пользуясь уравнениями Гамильтона, что они удовлетворяют уравнению [c.45]

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

[c.69]

    Записываем условия оптимальности получившейся линеаризованной задачи, переменными в которой являются функции X 1), параметры а и дифференциальные меры р и, 1). [c.123]

    Заметим, что в данной задаче переменные (t) относятся к первой группе следовательно, вместо того чтобы двигаться по градиенту R согласно алгоритму (III-39), можно, как об этом говорилось выше, перемеш аться в направлении максимума R по у[c.156]

    Краеугольным камнем методов обобщенного анализа является понятие характерных переменных — тех специфических для каждой данной задачи переменных, в которых ее следует рассматривать. Такими переменными являются комплексы, составленные из величин, существенных для процесса. При этом отдельные величины объединяются в одно целое так, чтобы характер взаимодействия факторов, представленных через эти величины, получил правильное отражение в самой структуре комплексов. Однако (и это очень важно) принцип замещения отдельных величин их комплексами относится только к параметрам задачи и не распространяется на собственно переменные. 

[c.59]

    Таким образом, можно с уверенностью утверждать, что при правильной постановке задачи переменная, не входящая ни в один из критериев, должна быть представлена в условии хотя бы одним параметрическим значе- [c.253]

    Здесь Увх — подкоренное выражение, соответствующее в рассматриваемой задаче переменной АР С/вых — результат извлечения корня, соответствующий переменной г 10 — коэффициент передачи. С помощью блока деления требуется выполнить операцию [c.113]

    Такие задачи в случае многих переменных и большого числа ограничений можно решать с помощью симплексного метода Данцига. В этих задачах переменные х, могут принимать любые значения из непрерывной области значений. Решены также некоторые задачи, в которых Х] принимают дискретные значения, в частности задачи, где Xj могут равняться нулю или единице. Недавно с помощью метода целочисленного линейного программирования, предложенного Гомори, было еще решено большое число задач в случае, когда Xj принимают целые значения. По отношению к этим задачам принципиальное преимущество симплексного метода или его разновидностей состоит в том, что удается решать относительно громоздкие задачи с помощью эффективного алгоритма. 

[c.252]


    НЕЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ — является развитием линейного программирования и отличается от него следующим. В линейном программировании предполагается, что все элементы задачи — как ограничения, так и условие онтимализации (целевая функция) — математически могут быть представлены в линейной форме, т. е. в виде уравнений или неравенств первой степени. Практически это означает, что все коэффициенты при переменных, входящие в математич. формулировку задачи, принимаются за величины постоянные, не зависимые но своей величине от значений, принимаемых переменными. Это предположение не всегда соответствует действительности. Так, издержки произ-ва и нормы производительности, часто являющиеся коэффициентами при переменных в задачах линейного программирования, могут находиться в зависимости от объемов произ-ва, к-рые являются в этих задачах переменными при увеличении объема произ-ва издержки снижаются, а нормы производительности повышаются. В таких случаях коэффициенты при переменных в математич. модели задачи должны были бы, строго говоря, выражаться не постоянными величинами, а в виде нек-рой функции значения самих переменных. Но такая формулировка задачи сильно осложняет решение и задача, в сущности, не поддается решению обычными методами линейного программирования. Для того чтобы эти методы все же можно было применить для решения задачи, нужна уверенность, что зависимость величины коэффициентов при переменных от значения самих переменных несущественна и ею практически можно пренебречь без ущерба для дела, т. е. условно принять указанные величины коэффициентов при переменных за постоянные. 
[c.25]

Справочник по переменным последовательности задач — Configuration Manager

  • Чтение занимает 41 мин

В этой статье

Область применения: Configuration Manager (Current Branch)

Эта статья содержит справочные сведения обо всех доступных переменных в алфавитном порядке. Функция браузера

Найти (обычно вызывается нажатием клавиш CTRL + F) позволяет найти в тексте статьи конкретную переменную. Для переменных указано, относятся ли они к определенному шагу последовательности. Описание шагов последовательности задач содержит список переменных для каждого шага.

См. дополнительные сведения об использовании переменных последовательности задач.

Справочник по переменным последовательности задач

_OSDDetectedWinDir

При запуске среды предустановки Windows последовательность задач проверяет жесткие диски компьютера на наличие установки предыдущей операционной системы. Расположение папки Windows хранится в этой переменной. Можно настроить последовательность задач таким образом, чтобы это значение получалось из среды и использовалось для указания того же расположения папки Windows при установке новой операционной системы.

_OSDDetectedWinDrive

При запуске среды предустановки Windows последовательность задач проверяет жесткие диски компьютера на наличие установки предыдущей операционной системы. Расположение на жестком диске, куда устанавливается операционная система, хранится в этой переменной. Можно настроить последовательность задач таким образом, чтобы это значение получалось из среды и использовалось для указания того же расположения на жестком диске для новой операционной системы.

_OSDMigrateUsmtPackageID

Применяется к шагу Записать пользовательское состояние.

(входная)

Указывает ИД пакета Configuration Manager, который содержит файлы средства миграции пользовательской среды. Это обязательная переменная.

_OSDMigrateUsmtRestorePackageID

Применяется к шагу Восстановить пользовательское состояние.

(входная)

Указывает ИД пакета Configuration Manager, который содержит файлы средства миграции пользовательской среды. Это обязательная переменная.

_SMSTSAdvertID

Содержит уникальный идентификатор развертывания текущей выполняемой последовательности задач. Используется тот же формат, что и для идентификатора развертывания распространения программного обеспечения Configuration Manager. Если последовательность задач выполняется с автономного носителя, эта переменная не задается.

Пример

ABC20001

_SMSTSAssetTag

Применяется к шагу Установить динамические переменные.

Указывает ярлык компьютера.

_SMSTSBootImageID

Если текущая выполняемая последовательность задач ссылается на пакет загрузочного образа, эта переменная содержит идентификатор пакета загрузочного образа. Если последовательность задач не ссылается на пакет загрузочного образа, эта переменная не задается.

Пример

ABC00001

_SMSTSBootUEFI

Последовательность задач устанавливает эту переменную при обнаружении компьютера, находящегося в режиме UEFI.

_SMSTSClientCache

Последовательность задач задает эту переменную при кэшировании содержимого на локальном диске. Переменная содержит путь к кэшу. Если эта переменная не существует, значит кэш отсутствует.

_SMSTSClientGUID

Содержит значение GUID клиента Configuration Manager. Если последовательность задач выполняется с автономного носителя, эта переменная не устанавливается.

Пример

0a1a9a4b-fc56-44f6-b7cd-c3f8ee37c04c

_SMSTSCurrentActionName

Задает имя текущего выполняемого шага последовательности задач. Эта переменная задается перед запуском диспетчером последовательностей задач каждого из шагов.

Пример

run command line

_SMSTSDefaultGateways

Применяется к шагу Установить динамические переменные.

Указывает шлюзы по умолчанию, используемые компьютером.

_SMSTSDownloadOnDemand

Если текущая последовательность задач выполняется в режиме загрузки по требованию, для этой переменной задается значение true. Режим загрузки по требованию означает, что диспетчер последовательности задач загружает содержимое локально, только когда к нему требуется доступ.

_SMSTSInWinPE

Если текущий шаг последовательности задач выполняется в среде Windows PE, для этой переменной задается значение

true. Проверив значение этой переменной последовательности задач, можно определить текущую среду операционной системы.

_SMSTSIPAddresses

Применяется к шагу Установить динамические переменные.

Указывает используемые компьютером IP-адреса.

_SMSTSLastActionName

Содержит имя последнего выполненного действия. Эта переменная относится к _SMSTSLastActionRetCode. Последовательность задач записывает эти значения в файл smsts.log. Эта переменная полезна при устранении неполадок в последовательности задач. Если при выполнении шага происходит сбой, настраиваемый сценарий может включать имя шага, а также код возврата.

_SMSTSLastActionRetCode

Содержит код возврата, возвращенный последним выполненным действием. Эта переменная может использоваться в качестве условия для определения того, запущен ли следующий шаг.

Пример

0

_SMSTSLastActionSucceeded

  • Если последний шаг выполнен успешно, этой переменной присваивается значение true.

  • Если последний шаг завершился с ошибкой, присваивается значение false.

  • Если последовательность задач пропустила последний шаг из-за того, что он отключен или связанное с ним условие имеет значение false, эта переменная не сбрасывается. Она по-прежнему содержит значение для предыдущего действия.

_SMSTSLastContentDownloadLocation

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

_SMSTSLaunchMode

Указывает, с помощью какого метода запущена последовательность задач:

  • SMS: клиент Configuration Manager, например запуск пользователем из центра программного обеспечения;
  • UFD: USB-носитель старого формата;
  • UFD+FORMAT: более новые USB-носители;
  • CD: загрузочный компакт-диск;
  • DVD: загрузочный DVD-диск;
  • PXE: сетевая загрузка по протоколу удаленной загрузки PXE;
  • HD: предварительно подготовленный носитель на жестком диске.

_SMSTSLogPath

Содержит полный путь к папке журнала. Это значение позволяет определить, где последовательность задач хранит журнал действий. Если жесткий диск недоступен, это значение не устанавливается.

_SMSTSMacAddresses

Применяется к шагу Установить динамические переменные.

Указывает используемые компьютером MAC-адреса.

_SMSTSMachineName

Содержит и указывает имя компьютера. Содержит имя компьютера, который используется последовательностью задач для регистрации всех сообщений об изменении состояния. Чтобы изменить имя компьютера в новой операционной системе, используйте переменную OSDComputerName.

_SMSTSMake

Применяется к шагу Установить динамические переменные.

Указывает исполнение компьютера.

_SMSTSMDataPath

Задает путь, определенный в переменной SMSTSLocalDataDrive. Этот путь указывает, где последовательность задач сохраняет временные файлы кэша при выполнении на конечном компьютере. Если вы определите переменную SMSTSLocalDataDrive перед запуском последовательности задач, например настроив переменную коллекции, то Configuration Manager определит переменную _SMSTSMDataPath в момент запуска последовательности задач.

_SMSTSMediaType

Указывает тип носителя, используемого для инициализации установки. Примерами типов носителя могут быть загрузочный носитель, полный носитель, PXE и предварительно подготовленный носитель.

_SMSTSModel

Применяется к шагу Установить динамические переменные.

Указывает модель компьютера.

_SMSTSMP

Содержит URL- или IP-адрес точки управления Configuration Manager.

_SMSTSMPPort

Содержит номер порта точки управления Configuration Manager.

_SMSTSOrgName

Содержит название организации, отображаемое последовательностью задач в диалоговом окне хода выполнения.

_SMSTSOSUpgradeActionReturnCode

Применяется к шагу Обновить операционную систему.

Содержит значение кода выхода, возвращаемое программой установки Windows, чтобы указать на успех или неудачу. Эту переменную удобно использовать с параметром командной строки /Compat.

Пример

После завершения сканирования compat-only действия в следующих шагах выполняются в зависимости от состояния кода завершения. В случае успешного выполнения начните обновление. Или настройте в среде маркер для сбора с данными об оборудовании. Например, добавьте файл или создайте раздел реестра. Этот маркер используется для создания коллекции компьютеров, готовых к обновлению или требующих определенных действий перед обновлением.

_SMSTSPackageID

Содержит идентификатор текущей выполняемой последовательности задач. В этом идентификаторе используется тот же формат, что и в идентификаторе пакета Configuration Manager.

Пример

HJT00001

_SMSTSPackageName

Содержит имя текущей выполняемой последовательности задач. Это имя, заданное администратором Configuration Manager при создании последовательности задач.

Пример

Deploy Windows 10 task sequence

_SMSTSRunFromDP

Получает значение true, если текущая последовательность задач выполняется в режиме выполнения из точки распространения. Этот режим означает, что диспетчер последовательности задач получает требуемые пакеты из точки распространения.

_SMSTSSerialNumber

Применяется к шагу Установить динамические переменные.

Указывает серийный номер компьютера.

_SMSTSSetupRollback

Указывает, выполняла ли программа установки Windows операции отката в процессе обновления на месте. Переменная может иметь значение true или false.

_SMSTSSiteCode

Содержит код сайта Configuration Manager.

Пример

ABC

_SMSTSTimezone

В этой переменной хранятся данные о часовом поясе в следующем формате:

Bias,StandardBias,DaylightBias,StandardDate.wYear,wMonth,wDayOfWeek,wDay,wHour,wMinute,wSecond,wMilliseconds,DaylightDate.wYear,wMonth,wDayOfWeek,wDay,wHour,wMinute,wSecond,wMilliseconds,StandardName,DaylightName

Пример

Для часового пояса Восточное время (США и Канада) :

300,0,-60,0,11,0,1,2,0,0,0,0,3,0,2,2,0,0,0,Eastern Standard Time,Eastern Daylight Time

_SMSTSType

Задает тип текущей выполняемой последовательности задач. Может иметь одно из следующих значений:

  • 1: обычная последовательность задач;
  • 2: последовательность задач развертывания операционной системы.

_SMSTSUseCRL

Эта переменная указывает, использует ли последовательность задач список отзыва сертификатов, если для связи с точкой управления используется протокол HTTPS.

_SMSTSUserStarted

Указывает, запущена ли последовательность задач пользователем. Эта переменная задается, только если последовательность задач запускается из центра программного обеспечения. Например, если переменная _SMSTSLaunchMode имеет значение SMS.

Эта переменная может принимать следующие значения:

  • true: указывает, что последовательность задач запущена пользователем вручную из центра программного обеспечения.

  • false: указывает, что последовательность задач запущена автоматически планировщиком Configuration Manager.

_SMSTSUseSSL

Указывает, использует ли последовательность задач протокол SSL для связи с точкой управления Configuration Manager. Если для систем сайта настроен протокол HTTPS, присваивается значение true.

_SMSTSUUID

Применяется к шагу Установить динамические переменные.

Указывает UUID компьютера.

_SMSTSWTG

определяет, работает ли компьютер как устройство Windows To Go.

_TS_CRMEMORY

Начиная с версии 2002
Область применения: шаг Проверка готовности.

Переменная только для чтения, которая определяет, вернула ли проверка параметра Минимальный объем памяти (МБ) значение true (1) или false (0). Если не включить проверку, значение соответствующей переменной только для чтения будет пустым.

_TS_CRSPEED

Начиная с версии 2002
Область применения: шаг Проверка готовности.

Переменная только для чтения, которая определяет, вернула ли проверка параметра Минимальная скорость процессора (МГц) значение true (1) или false (0). Если не включить проверку, значение соответствующей переменной только для чтения будет пустым.

_TS_CRDISK

Начиная с версии 2002
Область применения: шаг Проверка готовности.

Переменная только для чтения, которая определяет, вернула ли проверка параметра Минимальное свободное место на диске (МБ) значение true (1) или false (0). Если не включить проверку, значение соответствующей переменной только для чтения будет пустым.

_TS_CROSTYPE

Начиная с версии 2002
Область применения: шаг Проверка готовности.

Переменная только для чтения, которая определяет, вернула ли проверка параметра Текущая операционная система для обновления значение true (1) или false (0). Если не включить проверку, значение соответствующей переменной только для чтения будет пустым.

_TS_CRARCH

Начиная с версии 2002
Область применения: шаг Проверка готовности.

Переменная только для чтения, которая определяет, вернула ли проверка параметра Архитектура текущей ОС значение true (1) или false (0). Если не включить проверку, значение соответствующей переменной только для чтения будет пустым.

_TS_CRMINOSVER

Начиная с версии 2002
Область применения: шаг Проверка готовности.

Переменная только для чтения, которая определяет, вернула ли проверка параметра Минимальная версия ОС значение true (1) или false (0). Если не включить проверку, значение соответствующей переменной только для чтения будет пустым.

_TS_CRMAXOSVER

Начиная с версии 2002
Область применения: шаг Проверка готовности.

Переменная только для чтения, которая определяет, вернула ли проверка параметра Максимальная версия ОС значение true (1) или false (0). Если не включить проверку, значение соответствующей переменной только для чтения будет пустым.

_TS_CRCLIENTMINVER

Начиная с версии 2002
Область применения: шаг Проверка готовности.

Переменная только для чтения, которая определяет, вернула ли проверка параметра Минимальная версия клиента значение true (1) или false (0). Если не включить проверку, значение соответствующей переменной только для чтения будет пустым.

_TS_CROSLANGUAGE

Начиная с версии 2002
Область применения: шаг Проверка готовности.

Переменная только для чтения, которая определяет, вернула ли проверка параметра Язык текущей ОС значение true (1) или false (0). Если не включить проверку, значение соответствующей переменной только для чтения будет пустым.

_TS_CRACPOWER

Начиная с версии 2002
Область применения: шаг Проверка готовности.

Переменная только для чтения, которая определяет, вернула ли проверка параметра Питание от сети включено значение true (1) или false (0). Если не включить проверку, значение соответствующей переменной только для чтения будет пустым.

_TS_CRNETWORK

Начиная с версии 2002
Область применения: шаг Проверка готовности.

Переменная только для чтения, которая определяет, вернула ли проверка параметра Сетевой адаптер подключен значение true (1) или false (0). Если не включить проверку, значение соответствующей переменной только для чтения будет пустым.

_TS_CRUEFI

Начиная с версии 2006 Область применения: шаг Проверка готовности.

Переменная только для чтения, указывающая значение параметра Компьютер работает в режиме UEFI: BIOS (0) или UEFI (1). Если не включить проверку, значение соответствующей переменной только для чтения будет пустым.

_TS_CRWIRED

Начиная с версии 2002
Область применения: шаг Проверка готовности.

Переменная только для чтения, которая определяет, вернула ли проверка параметра Сетевой адаптер не является беспроводным значение true (1) или false (0). Если не включить проверку, значение соответствующей переменной только для чтения будет пустым.

_TSAppInstallStatus

Последовательность задач сохраняет в этой переменной состояние установки приложения на шаге Установить приложение. Допустимы следующие значения:

  • Не определено: Шаг «Установить приложение» не был выполнен.

  • Ошибка — сбой по меньшей мере одного приложения из-за ошибки на шаге «Установить приложение».

  • Предупреждение. Не получено ошибок на шаге «Установить приложение». Пропущена установка одного или нескольких приложений или необходимой зависимости из-за невыполнения некоторых условий.

  • Успешно — Не получено ошибок или предупреждений во время выполнения шага «Установить приложение».

_TSSecureBoot

Начиная с версии 2002

Используйте эту переменную для определения состояния безопасной загрузки на устройстве с поддержкой UEFI. Эта переменная может принимать следующие значения:

  • NA: связанное значение реестра не существует, то есть устройство не поддерживает безопасную загрузку.
  • Enabled: для устройства включена безопасная загрузка.
  • Disabled: для устройства отключена безопасная загрузка.

OSDAdapter

Применяется к шагу Применить параметры сети.

(входная)

Эта переменная последовательности задач является массивом. Каждый элемент массива содержит параметры для одного сетевого адаптера на компьютере. Для доступа к параметрам для каждого адаптера следует использовать имя переменной массива, индекс сетевого адаптера (нумерация начинается с 0) и имя свойства.

Если на шаге «Применить параметры сети» выполняется настройка нескольких сетевых адаптеров, свойства для второго сетевого адаптера задаются в переменной, к имени которой добавлен индекс 1. Пример. OSDAdapter1EnableDHCP, OSDAdapter1IPAddressList и OSDAdapter1DNSDomain.

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

OSDAdapter0EnableDHCP

Это обязательный параметр. Возможные значения: True или False. Пример.

true — включение протокола DHCP для адаптера.

OSDAdapter0IPAddressList

Разделенный запятыми список IP-адресов для адаптера. Это свойство игнорируется, если свойство EnableDHCP имеет значение, отличное от false. Это обязательный параметр.

OSDAdapter0SubnetMask

Разделенный запятыми список масок подсетей. Это свойство игнорируется, если свойство EnableDHCP имеет значение, отличное от false. Это обязательный параметр.

OSDAdapter0Gateways

Разделенный запятыми список IP-адресов шлюзов. Это свойство игнорируется, если свойство EnableDHCP имеет значение, отличное от false. Это обязательный параметр.

OSDAdapter0DNSDomain

Домен службы доменных имен (DNS-домен) для адаптера.

OSDAdapter0DNSServerList

Разделенный запятыми список DNS-серверов для адаптера. Это обязательный параметр.

OSDAdapter0EnableDNSRegistration

Значение true означает, что IP-адрес адаптера регистрируется в DNS.

OSDAdapter0EnableFullDNSRegistration

Задайте значение true, чтобы зарегистрировать IP-адрес адаптера в DNS с указанием полного DNS-имени компьютера.

OSDAdapter0EnableIPProtocolFiltering

Задайте значение true, чтобы включить для адаптера фильтрацию протокола IP.

OSDAdapter0IPProtocolFilterList

Разделенный запятыми список протоколов, для которых разрешена работа через протокол IP. Это свойство игнорируется, если свойство EnableIPProtocolFiltering имеет значение false.

OSDAdapter0EnableTCPFiltering

Задайте значение true, чтобы включить для адаптера фильтрацию TCP-портов.

OSDAdapter0TCPFilterPortList

Разделенный запятыми список разрешенных TCP-портов. Это свойство игнорируется, если свойство EnableTCPFiltering имеет значение false.

OSDAdapter0TcpipNetbiosOptions

Использование NetBIOS через TCP/IP. Возможные значения:

  • 0: использовать параметры NetBIOS с DHCP-сервера;
  • 1: включить NetBIOS через TCP/IP;
  • 2: отключить NetBIOS через TCP/IP.
OSDAdapter0MacAddress

MAC-адрес, используемый для сопоставления параметров с физическим сетевым адаптером.

OSDAdapter0Name

Имя сетевого подключения, отображаемое на панели управления «Сетевые подключения» программы. Длина имени должна иметь длину от 0 до 255 знаков.

OSDAdapter0Index

Позиция параметров сетевого адаптера в массиве параметров.

Пример
  • OSDAdapterCount = 1
  • OSDAdapter0EnableDHCP = FALSE
  • OSDAdapter0IPAddressList = 192.168.0.40
  • OSDAdapter0SubnetMask = 255.255.255.0
  • OSDAdapter0Gateways = 192.168.0.1
  • OSDAdapter0DNSSuffix = contoso.com

OSDAdapterCount

Применяется к шагу Применить параметры сети.

(входная)

Указывает количество сетевых адаптеров, установленных на конечном компьютере. Присваивая значение переменной OSDAdapterCount, обязательно задайте все параметры конфигурации для каждого адаптера.

Например, если для первого адаптера задано значение OSDAdapter0TCPIPNetbiosOptions, необходимо настроить и все остальные значения для этого адаптера.

Если это значение не указано, последовательность задач игнорирует все значения OSDAdapter.

OSDApplyDriverBootCriticalContentUniqueID

Применяется к шагу Применить пакет драйверов.

(входная)

Указывает идентификатор содержимого драйвера запоминающего устройства, устанавливаемого из пакета драйверов. Если эта переменная не указана, установка драйвера запоминающего устройства не выполняется.

OSDApplyDriverBootCriticalHardwareComponent

Применяется к шагу Применить пакет драйверов.

(входная)

Указывает, установлен ли драйвер запоминающего устройства; переменной должно быть задано значение scsi.

Эта переменная является обязательной, если задано значение переменной OSDApplyDriverBootCriticalContentUniqueID.

OSDApplyDriverBootCriticalID

Применяется к шагу Применить пакет драйверов.

(входная)

Указывает ИД загрузки устанавливаемого драйвера запоминающего устройства. Этот ИД указан в разделе scsi файла txtsetup.oem драйвера устройства.

Эта переменная является обязательной, если задано значение переменной OSDApplyDriverBootCriticalContentUniqueID.

OSDApplyDriverBootCriticalINFFile

Применяется к шагу Применить пакет драйверов.

(входная)

Указывает INF-файл устанавливаемого драйвера накопителя большой емкости.

Эта переменная является обязательной, если задано значение переменной OSDApplyDriverBootCriticalContentUniqueID.

OSDAutoApplyDriverBestMatch

Применяется к шагу Применять драйверы автоматически.

(входная)

Если в каталоге драйверов есть несколько драйверов, совместимых с устройством, эта переменная указывает, какие операции выполняет действие.

Допустимые значения
  • true (по умолчанию): устанавливать только наиболее подходящий драйвер устройства;

  • false: устанавливать все совместимые драйверы устройств, из числа которых Windows выберет наиболее подходящий драйвер.

OSDAutoApplyDriverCategoryList

Применяется к шагу Применять драйверы автоматически.

(входная)

Список уникальных идентификаторов категорий каталога драйверов с разделителями-запятыми. Шаг Автоматически применить драйвер распространяется только на те драйверы, которые относятся по меньшей мере к одной из указанных категорий. Это значение является необязательным и не присваивается по умолчанию. Доступные идентификаторы категорий можно получить посредством перечисления списка объектов SMS_CategoryInstance на сайте.

OSDBitLockerPIN

Применяется к шагу Включить BitLocker.

Укажите ПИН-код для шифрования BitLocker. Эта переменная допустима только в том случае, если выбран режим BitLocker Доверенный платформенный модуль и ПИН-код.

OSDBitLockerRebootCount

Применяется к шагу Отключить BitLocker.

Используйте эту переменную, чтобы задать число перезапусков, после которых будет возобновлена защита.

Допустимые значения

Целое число от 1 до 15.

OSDBitLockerRebootCountOverride

Применяется к шагу Отключить BitLocker.

Задайте это значение чтобы переопределить значение счетчика, заданное с помощью шага или переменной OSDBitLockerRebootCount. В других методах принимаются только значения 1–15, но если задать этой переменной значение 0, BitLocker останется отключенным на неопределенное время. Эта переменная полезна в случаях, когда последовательность задач устанавливает одно значение, но вы хотите установить разные значения для каждого устройства или коллекции.

Допустимые значения

Целое число от 0 до 15.

OSDBitLockerRecoveryPassword

Применяется к шагу Включить BitLocker.

(входная)

Задача Включить BitLocker будет использовать заданное здесь значение вместо созданного случайным образом пароля восстановления. Значение должно быть допустимым числовым паролем восстановления BitLocker.

OSDBitLockerStartupKey

Применяется к шагу Включить BitLocker.

(входная)

Вместо создания случайного ключа запуска для параметра управления ключами Ключ запуска на USB шаг Включить BitLocker использует доверенный платформенный модуль (TPM) в качестве ключа запуска. Значение должно представлять собой допустимый 256-разрядный ключ запуска, зашифрованный с использованием Base64.

OSDCaptureAccount

Применяется к шагу Записать образ операционной системы.

(входная)

Указывает имя учетной записи пользователя Windows с разрешениями хранить записанный образ в общей сетевой папке (OSDCaptureDestination). Также задайте значение OSDCaptureAccountPassword.

Дополнительные сведения об учетной записи образа ОС см. в разделе Accounts (Учетные записи).

OSDCaptureAccountPassword

Применяется к шагу Записать образ операционной системы.

(входная)

Указывает пароль для учетной записи Windows (OSDCaptureAccount), в которой расположена сетевая папка (OSDCaptureDestination) с записанным образом.

OSDCaptureDestination

Применяется к шагу Записать образ операционной системы.

(входная)

Указывает расположение, в котором последовательность задач сохраняет записанный образ операционной системы. Максимальная длина имени каталога составляет 255 знаков. Если общий сетевой ресурс требует аутентификации, задайте значения переменных OSDCaptureAccount и OSDCaptureAccountPassword.

OSDComputerName (входная)

Применяется к шагу Применить настройки Windows.

Указывает имя конечного компьютера.

Пример

%_SMSTSMachineName% (по умолчанию)

OSDComputerName (выходная)

Применяется к шагу Сохранить параметры Windows.

Указывает NetBIOS-имя компьютера. Это значение присваивается, только если переменная OSDMigrateComputerName имеет значение true.

OSDConfigFileName

Применяется к шагу Применить образ операционной системы.

(входная)

Указывает имя файла ответов для развертывания операционной системы, связанного с пакетом развертывания операционной системы.

OSDDataImageIndex

Применяется к шагу Применить образ данных.

(входная)

Указывает значение индекса для образа, применяемого к конечному компьютеру.

OSDDiskIndex

Применяется к шагу Отформатировать диск и создать разделы.

(входная)

Указывает номер физического диска, подлежащего разбиению на разделы.

В версии 2010 и более ранних версиях это число не может превышать 99. В версии 2103 и более поздних версиях допускаются значения до 10 000. Это изменение помогает поддерживать сценарии сети хранения данных (SAN).

OSDDNSDomain

Применяется к шагу Применить параметры сети.

(входная)

Задает первичный DNS-сервер, который используется конечным компьютером.

OSDDNSSuffixSearchOrder

Применяется к шагу Применить параметры сети.

(входная)

Задает порядок поиска DNS для конечного компьютера.

OSDDomainName

Применяется к шагу Применить параметры сети.

(входная)

Задает имя домена Active Directory, к которому присоединяется конечный компьютер. Заданное значение должно быть допустимым именем домена доменных служб Active Directory.

OSDDomainOUName

Применяется к шагу Применить параметры сети.

(входная)

Задает в формате RFC 1779 имя подразделения (OU), к которому должен быть присоединен конечный компьютер. Если это значение задано, оно должно содержать полный путь.

Пример

LDAP://OU=MyOu,DC=MyDom,DC=MyCompany,DC=com

OSDDoNotLogCommand

Применимо к шагам Установка пакета и Выполнение из командной строки.

(входная)

Чтобы предотвратить отображение или сохранение в журнал потенциально конфиденциальных данных, присвойте этой переменной значение TRUE. Эта переменная маскирует имя программы в файле smsts.log во время выполнения шага Установить пакет.

Если этой переменной задается значение TRUE, в файле журнала в записи на шаге Выполнение из командной строки командная строка также скрывается.

OSDEnableTCPIPFiltering

Применяется к шагу Применить параметры сети.

(входная)

Указывает, должна ли быть включена фильтрация TCP/IP.

Допустимые значения
  • true
  • false (по умолчанию)

OSDGPTBootDisk

Применяется к шагу Отформатировать диск и создать разделы.

(входная)

Указывает, требуется ли создание раздела EFI на жестком диске GPT. Этот диск используется в качестве загрузочного на компьютерах, поддерживающих EFI.

Допустимые значения
  • true
  • false (по умолчанию)

OSDImageCreator

Применяется к шагу Записать образ операционной системы.

(входная)

Необязательное имя пользователя, создавшего образ. Это имя хранится в WIM-файле. Максимальная длина имени пользователя составляет 255 знаков.

OSDImageDescription

Применяется к шагу Записать образ операционной системы.

(входная)

Необязательное описание записанного образа операционной системы, которое задается пользователем. Это описание хранится в WIM-файле. Максимальная длина описания составляет 255 знаков.

OSDImageIndex

Применяется к шагу Применить образ операционной системы.

(входная)

Указывает значение индекса образа для WIM-файла, который применяется к конечному компьютеру.

OSDImageVersion

Применяется к шагу Записать образ операционной системы.

(входная)

Необязательный номер версии, который задается пользователем и присваивается записанному образу операционной системы. Этот номер версии хранится в WIM-файле. Это значение может содержать любое сочетание буквенно-цифровых символов общей длиной до 32 знаков.

OSDInstallDriversAdditionalOptions

Применяется к шагу Применить пакет драйверов.

(входная)

Указывает дополнительные параметры, которые нужно включить в командную строку DISM при применении пакета драйверов. Последовательность задач не проверяет эти параметры командной строки.

Чтобы использовать эту переменную, включите параметр Install driver package via running DISM with recurse option (Установить пакет драйверов путем запуска команды DISM с параметром recurse) на шаге Применить пакет драйверов.

См. дополнительные сведения о параметрах командной строки для DISM в Windows 10.

OSDJoinAccount

Применяется к следующим шагам:

(входная)

Указывает учетную запись пользователя домена, которая будет использоваться для добавления конечного компьютера в домен. Эта переменная является обязательной при присоединении к домену.

Дополнительные сведения об учетной записи для присоединения к домену см. в разделе Accounts (Учетные записи).

OSDJoinDomainName

Применяется к шагу Присоединить к домену или рабочей группе.

(входная)

Задает имя домена Active Directory, к которому будет присоединен целевой компьютер. Имя домена должно содержать от 1 до 255 символов.

OSDJoinDomainOUName

Применяется к шагу Присоединить к домену или рабочей группе.

(входная)

Задает в формате RFC 1779 имя подразделения (OU), к которому должен быть присоединен конечный компьютер. Если это значение задано, оно должно содержать полный путь. Имя домена подразделения должно содержать от 0 до 32 767 символов. Это значение не задается, если переменной OSDJoinType задано значение 1 (присоединение к рабочей группе).

Пример

LDAP://OU=MyOu,DC=MyDom,DC=MyCompany,DC=com

OSDJoinPassword

Применяется к следующим шагам:

(входная)

Указывает пароль для учетной записи OSDJoinAccount, которую конечный компьютер использует для присоединения к домену Active Directory. Если эта переменная отсутствует в среде последовательности задач, программа установки Windows пытается использовать пустой пароль. Это значение является обязательным, если переменной OSDJoinType задано значение 0 (присоединение к домену).

OSDJoinSkipReboot

Применяется к шагу Присоединить к домену или рабочей группе.

(входная)

Указывает, следует ли пропустить перезагрузку после присоединения конечного компьютера к домену или рабочей группе.

Допустимые значения

OSDJoinType

Применяется к шагу Присоединить к домену или рабочей группе.

(входная)

Указывает, к чему присоединяется конечный компьютер — к домену Windows или рабочей группе Windows.

Допустимые значения
  • 0: присоединение конечного компьютера к домену Windows;
  • 1: присоединение конечного компьютера к рабочей группе.

OSDJoinWorkgroupName

Применяется к шагу Присоединить к домену или рабочей группе.

(входная)

Задает имя рабочей группы, к которой будет присоединен конечный компьютер. Имя рабочей группы должно иметь длину от 1 до 32 символов.

OSDKeepActivation

Применяется к шагу Подготовка Windows перед снятием образа.

(входная)

Указывает, будет ли программа Sysprep сохранять или сбрасывать флаг активации продукта.

Допустимые значения
  • true: сохранение флага активации
  • false (по умолчанию): сброс флага активации

OSDLocalAdminPassword

Применяется к шагу Применить настройки Windows.

(входная)

Указывает пароль локальной учетной записи администратора. Шаг игнорирует эту переменную, если включен параметр Randomly generate the local administrator password and disable the account on all supported platforms (Задать пароль локального администратора случайным образом и отключить учетную запись локального администратора на всех поддерживаемых платформах). Указанное значение должно иметь длину от 1 до 255 знаков.

OSDLogPowerShellParameters

Применяется к шагу Запустить сценарий PowerShell.

(входная)

Чтобы предотвратить запись потенциально конфиденциальных данных, на шаге Запустить сценарий PowerShell не осуществляется запись параметров сценария в файл smsts.log. Чтобы включить параметры сценария в журнал последовательности задач, задайте для этой переменной значение TRUE.

OSDMigrateAdapterSettings

Применяется к шагу Сохранить параметры сети.

(входная)

Указывает, будет ли последовательность задач сохранять сведения о сетевых адаптерах. Сюда относятся параметры конфигурации TCP/IP и DNS.

Допустимые значения
  • true (по умолчанию)
  • false

OSDMigrateAdditionalCaptureOptions

Применяется к шагу Записать пользовательское состояние.

(входная)

Укажите параметры командной строки для средства миграции пользовательской среды (USMT), которые последовательность задач применит для записи пользовательского состояния. Этот шаг не отображает эти параметры в редакторе последовательности задач. Укажите эти параметры в виде строки, которую последовательность задач присоединяет к автоматически созданной для ScanState командной строке средства USMT.

Параметры USMT, указанные в этой переменной последовательности задач, не проверяются на точность перед выполнением последовательности задач.

Дополнительные сведения о доступных параметрах см. в разделе с описанием синтаксиса ScanState.

OSDMigrateAdditionalRestoreOptions

Применяется к шагу Восстановить пользовательское состояние.

(входная)

Указывает параметры командной строки для средства миграции пользовательской среды (USMT), которые последовательность задач применит при восстановлении пользовательского состояния. Укажите дополнительные параметры в виде строки, которую последовательность задач присоединяет к автоматически созданной для LoadState командной строке средства USMT.

Параметры USMT, указанные в этой переменной последовательности задач, не проверяются на точность перед выполнением последовательности задач.

Дополнительные сведения о доступных вариантах см. в разделе, посвященном синтаксису LoadState.

OSDMigrateComputerName

Применяется к шагу Сохранить параметры Windows.

(входная)

Указывает, переносится ли имя компьютера.

Допустимые значения

OSDMigrateConfigFiles

Применяется к шагу Записать пользовательское состояние.

(входная)

Указывает файлы конфигурации, используемые для управления записью профилей пользователей. Эта переменная используется, только если переменной OSDMigrateMode присвоено значение Advanced. Это значение списка с разделителями-запятыми задается с целью выполнения настраиваемой миграции профилей пользователей.

Пример

miguser.xml,migsys.xml,migapps.xml

OSDMigrateContinueOnLockedFiles

Применяется к шагу Записать пользовательское состояние.

(входная)

Если средство USMT не сможет записать какие-то файлы, эта переменная позволит продолжить процесс записи.

Допустимые значения
  • true (по умолчанию)
  • false

OSDMigrateContinueOnRestore

Применяется к шагу Восстановить пользовательское состояние.

(входная)

Продолжение процесса, даже если средству USMT не удается восстановить некоторые файлы.

Допустимые значения
  • true (по умолчанию)
  • false

OSDMigrateEnableVerboseLogging

Применяется к следующим шагам:

(входная)

Включает запись подробных сведений в журнал средством USMT. Этот шаг требует наличия этого значения.

Допустимые значения
  • true
  • false (по умолчанию)

OSDMigrateLocalAccounts

Применяется к шагу Восстановить пользовательское состояние.

(входная)

Указывает, будет ли восстановлена учетная запись локального компьютера.

Допустимые значения
  • true
  • false (по умолчанию)

OSDMigrateLocalAccountPassword

Применяется к шагу Восстановить пользовательское состояние.

(входная)

Если переменная OSDMigrateLocalAccounts имеет значение true, в этой переменной должен содержаться пароль, назначенный всем перенесенным локальным учетным записям. USMT назначает один и тот же пароль всем перенесенным локальным учетным записям. Он считается временным и подлежит изменению каким-либо другим методом.

OSDMigrateMode

Применяется к шагу Записать пользовательское состояние.

(входная)

Позволяет настраивать, какие файлы записывает средство USMT.

Допустимые значения
  • Simple: последовательность задач использует только стандартные файлы конфигурации USMT;

  • Advanced: переменная последовательности задач OSDMigrateConfigFiles определяет файлы конфигурации, которые использует средство USMT.

OSDMigrateNetworkMembership

Применяется к шагу Сохранить параметры сети.

(входная)

Указывает, должна ли последовательность задач переносить сведения о членстве в рабочей группе или домене.

Допустимые значения
  • true (по умолчанию)
  • false

OSDMigrateRegistrationInfo

Применяется к шагу Сохранить параметры Windows.

(входная)

Указывает, выполняет ли этот шаг миграцию сведений о пользователях и организации.

Допустимые значения
  • true (по умолчанию). Переменной OSDRegisteredOrgName (выходная) присваивается значение зарегистрированного в организации имени компьютера.
  • false

OSDMigrateSkipEncryptedFiles

Применяется к шагу Записать пользовательское состояние.

(входная)

Указывает, записываются ли зашифрованные файлы.

Допустимые значения
  • true
  • false (по умолчанию)

OSDMigrateTimeZone

Применяется к шагу Сохранить параметры Windows.

(входная)

Указывает, переносится ли часовой пояс компьютера.

Допустимые значения
  • true (по умолчанию). Переменной OSDTimeZone (выходная) присваивается значение часового пояса компьютера.
  • false

OSDNetworkJoinType

Применяется к шагу Применить параметры сети.

(входная)

Указывает, к чему присоединяется конечный компьютер — к домену Active Directory или рабочей группе.

Допустимые значения
  • 0: присоединение к домену Active Directory;
  • 1: Присоединить к рабочей группе

OSDPartitions

Применяется к шагу Отформатировать диск и создать разделы.

(входная)

Эта переменная последовательности задач является массивом для настроек раздела. Каждый элемент массива содержит параметры для одного раздела на жестком диске. Для доступа к параметрам, заданным для каждого раздела, следует использовать имя переменной массива, номер раздела (нумерация начинается с 0) и имя свойства.

Приведенные ниже имена переменных задают свойства первого раздела, который этот шаг создает на жестком диске.

OSDPartitions0Type

Задает тип раздела. Это свойство обязательно. Допустимые значения: Primary, Extended, Logical и Hidden.

OSDPartitions0FileSystem

Задает тип файловой системы, используемой при форматировании раздела. Это свойство необязательно. Если вы не укажете файловую систему, форматирование раздела не выполняется. Допустимые значения: FAT32 и NTFS.

OSDPartitions0Bootable

Указывает, является ли раздел загрузочным. Это свойство обязательно. Если эта переменная имеет значение TRUE для MBR-дисков, шаг помечает этот раздел как активный.

OSDPartitions0QuickFormat

Задает используемый тип форматирования. Это свойство обязательно. Если значение равно TRUE, шаг выполняет быстрое форматирование. В противном случае используется полное форматирование.

OSDPartitions0VolumeName

Указывает имя, назначаемое тому при форматировании. Это свойство необязательно.

OSDPartitions0Size

Определяет размер раздела. Это свойство необязательно. Если это свойство не указано, для раздела выделяется полный объем свободного пространства. Единицы задаются переменной OSDPartitions0SizeUnits .

OSDPartitions0SizeUnits

Шаг использует эти единицы измерения для значения, указанного в переменной OSDPartitions0Size. Это свойство необязательно. Допустимые значения: MB (по умолчанию), GB и Percent.

OSDPartitions0VolumeLetterVariable

Когда этот шаг создает разделы, в Windows PE всегда используется следующая доступная буква диска. Используйте этот необязательный параметр, чтобы указать имя другой переменной последовательности задач. В шаге эта переменная служит для сохранения новой буквы диска с целью последующего использования.

Если в этом шаге последовательности задач определено несколько разделов, свойства для второго раздела содержат в имени переменной индекс 1. Пример. OSDPartitions1Type, OSDPartitions1FileSystem, OSDPartitions1Bootable, OSDPartitions1QuickFormat и OSDPartitions1VolumeName.

OSDPartitionStyle

Применяется к шагу Отформатировать диск и создать разделы.

(входная)

Задает стиль раздела для использования при создании разделов на диске.

Допустимые значения
  • GPT: использование формата таблицы разделов GPT;
  • MBR: использование формата основной загрузочной записи раздела.

OSDProductKey

Применяется к шагу Применить настройки Windows.

(входная)

Указывает ключ продукта Windows. Указанное значение должно иметь длину от 1 до 255 знаков.

OSDRandomAdminPassword

Применяется к шагу Применить настройки Windows.

(входная)

Указывает, что пароль для учетной записи администратора в новой операционной системе нужно сгенерировать случайным образом.

Допустимые значения
  • true (по умолчанию): программа установки Windows отключит учетную запись локального администратора на конечном компьютере.

  • false: программа установки Windows включит учетную запись локального администратора на конечном компьютере и установит для этой учетной записи в качестве пароля значение переменной OSDLocalAdminPassword.

OSDRegisteredOrgName (входная)

Применяется к шагу Применить настройки Windows.

Указывает зарегистрированное имя организации по умолчанию в новой операционной системе. Указанное значение должно иметь длину от 1 до 255 знаков.

OSDRegisteredOrgName (выходная)

Применяется к шагу Сохранить параметры Windows.

Этой переменной задается зарегистрированное имя организации компьютера. Это значение задается, только если переменная OSDMigrateRegistrationInfo имеет значение true.

OSDRegisteredUserName

Применяется к шагу Применить настройки Windows.

(входная)

Указывает зарегистрированное имя пользователя по умолчанию в новой операционной системе. Указанное значение должно иметь длину от 1 до 255 знаков.

OSDServerLicenseConnectionLimit

Применяется к шагу Применить настройки Windows.

(входная)

Задает максимальное число подключений. Указанное число должно быть в диапазоне от 5 до 9999.

OSDServerLicenseMode

Применяется к шагу Применить настройки Windows.

(входная)

Задает используемый режим лицензирования Windows Server.

Допустимые значения

OSDSetupAdditionalUpgradeOptions

Применяется к шагу Обновить операционную систему.

(входная)

Задает дополнительные параметры командной строки, добавляемые в программу установки Windows в ходе обновления Windows 10. Последовательность задач не проверяет эти параметры командной строки.

Дополнительные сведения см. в статье Параметры командной строки программы установки Windows.

OSDStateFallbackToNAA

Применяется к шагу Запросить хранилище состояний.

(входная)

Если учетная запись компьютера не может подключиться к точке миграции состояния, эта переменная указывает, будет ли последовательность задач использовать учетную запись сетевого доступа в качестве резервной.

См. дополнительные сведения об учетной записи доступа к сети.

Допустимые значения
  • true
  • false (по умолчанию)

OSDStateSMPRetryCount

Применяется к шагу Запросить хранилище состояний.

(входная)

Указывает количество попыток поиска точки миграции состояния последовательностью задач, после которого шаг завершается неудачей. Может быть указано количество от 0 до 600.

OSDStateSMPRetryTime

Применяется к шагу Запросить хранилище состояний.

(входная)

Указывает время в секундах между попытками поиска, предпринимаемыми последовательностью задач. Можно указать значение периода длиной максимум 30 символов.

OSDStateStorePath

Применяется к следующим шагам:

(входная)

Общий сетевой ресурс или локальный путь к папке, в которой последовательность задач сохраняет или из которой восстанавливает пользовательскую среду. Значение по умолчанию отсутствует.

OSDTargetSystemDrive

Применяется к шагу Применить образ операционной системы.

(выходная)

Указывает букву диска для раздела, где будут размещены файлы операционной системы после применения образа.

OSDTargetSystemRoot (входная)

Применяется к шагу Записать образ операционной системы.

Указывает путь к каталогу Windows с установленной операционной системой на компьютере-образце. Последовательность задач проверяет, поддерживается ли для этой ОС запись с помощью Configuration Manager.

OSDTargetSystemRoot (выходная)

Применяется к шагу Подготовка Windows перед снятием образа.

Указывает путь к каталогу Windows с установленной операционной системой на компьютере-образце. Последовательность задач проверяет, поддерживается ли для этой ОС запись с помощью Configuration Manager.

OSDTimeZone (входная)

Применяется к шагу Применить настройки Windows.

Указывает часовой пояс по умолчанию, который используется в новой операционной системе.

Задайте этой переменной в качестве значения инвариантное имя часового пояса. Например, используйте строку в значении Std для часового пояса в следующем разделе реестра: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones.

OSDTimeZone (выходная)

Применяется к шагу Сохранить параметры Windows.

Указывает часовой пояс компьютера. Это значение задается, только если переменная OSDMigrateTimeZone имеет значение true.

OSDWindowsSettingsInputLocale

Применяется к шагу Применить настройки Windows.

Указывает параметр языкового стандарта для ввода по умолчанию, который используется в новой операционной системе.

Дополнительные сведения об этих значениях файла ответов программы установки Windows см. в разделе Microsoft-Windows-International-Core — InputLocale.

OSDWindowsSettingsSystemLocale

Применяется к шагу Применить настройки Windows.

Указывает параметр языкового стандарта системы по умолчанию, который используется в новой операционной системе.

Дополнительные сведения об этих значениях файла ответов программы установки Windows см. в разделе Microsoft-Windows-International-Core — SystemLocale.

OSDWindowsSettingsUILanguage

Применяется к шагу Применить настройки Windows.

Указывает язык пользовательского интерфейса, который используется по умолчанию в новой операционной системе.

Дополнительные сведения об этих значениях файла ответов программы установки Windows см. в разделе Microsoft-Windows-International-Core — UILanguage.

OSDWindowsSettingsUILanguageFallback

Применяется к шагу Применить настройки Windows.

Указывает базовый язык пользовательского интерфейса, который используется в новой операционной системе.

Дополнительные сведения об этих значениях файла ответов программы установки Windows см. в разделе Microsoft-Windows-International-Core — UILanguageFallback.

OSDWindowsSettingsUserLocale

Применяется к шагу Применить настройки Windows.

Указывает параметр языкового стандарта пользователя по умолчанию, который используется в новой операционной системе.

Дополнительные сведения об этих значениях файла ответов программы установки Windows см. в разделе Microsoft-Windows-International-Core — UserLocale.

OSDWipeDestinationPartition

Применяется к шагу Применить образ данных.

(входная)

Указывает, требуется ли удаление файлов, расположенных в целевом разделе.

Допустимые значения
  • true (по умолчанию)
  • false

OSDWorkgroupName

Применяется к шагу Применить параметры сети.

(входная)

Задает имя рабочей группы Windows, к которой будет присоединен конечный компьютер.

Обязательно присвойте значение этой переменной или переменной OSDDomainName. Имя рабочей группы не должно быть длиннее 32 символов.

SetupCompletePause

Применяется к шагу Обновить операционную систему.

Используйте эту переменную для решения проблем с синхронизацией последовательности задач обновления Window 10 на месте на высокопроизводительных устройствах после завершения установки Windows. При назначении этой переменной значения в секундах процесс установки Windows использует задержку указанной длительности перед запуском последовательности задач. Это время ожидания дает клиенту Configuration Manager дополнительное время для инициализации.

Следующие записи журнала являются типичными примерами проблемы, которую можно устранить с помощью этой переменной:

  • Компонент TSManager регистрирует записи, аналогичные следующим ошибкам, в smsts.log:

    Failed to initate policy evaluation for namespace 'root\ccm\policy\machine', hr=0x80041010
    Error compiling client config policies. code 80041010
    Task Sequence Manager could not initialize Task Sequence Environment. code 80041010
    
  • Программа установки Windows регистрирует записи, аналогичные следующим ошибкам, в setupcomplete.log:

    Running C:\windows\CCM\\TSMBootstrap.exe to resume task sequence
    ERRORLEVEL = -1073741701
    TSMBootstrap did not request reboot, resetting registry
    Exiting setupcomplete.cmd
    

SMSClientInstallProperties

Применяется к шагу Настроить Windows и Configuration Manager.

(входная)

Указывает свойства установки клиента, которые последовательность задач использует при установке клиента Configuration Manager.

Дополнительные сведения см. в разделе Сведения о параметрах и свойствах установки клиента.

SMSConnectNetworkFolderAccount

Применяется к шагу Подключить к сетевой папке.

(входная)

Указывает учетную запись пользователя, используемую для подключения к общей сетевой папке, адрес которой указан в переменной SMSConnectNetworkFolderPath. Пароль к этой учетной записи задается в виде значения SMSConnectNetworkFolderPassword.

Дополнительные сведения об учетной записи для подключения к общему сетевому ресурсу в последовательности задач см. в разделе Accounts (Учетные записи).

SMSConnectNetworkFolderDriveLetter

Применяется к шагу Подключить к сетевой папке.

(входная)

Указывает букву диска, с которой сопоставляется сетевая папка. Это необязательное значение. Если это значение не указано, сетевое подключение не связывается с буквой диска. Для этого значения допускаются буквы в диапазоне от D до Z. Не используйте букву X, которая используется Windows PE на этапе Windows PE.

Примеры

SMSConnectNetworkFolderPassword

Применяется к шагу Подключить к сетевой папке.

(входная)

Указывает пароль для учетной записи SMSConnectNetworkFolderAccount, которая используется для подключения к общей сетевой папке, адрес которой указан в переменной SMSConnectNetworkFolderPath.

SMSConnectNetworkFolderPath

Применяется к шагу Подключить к сетевой папке.

(входная)

Указывает сетевой путь для подключения. Если вам нужно сопоставить этот путь с буквой диска, используйте значение SMSConnectNetworkFolderDriveLetter.

Пример

\\server\share

SMSInstallUpdateTarget

Применяется к шагу Установить обновления программного обеспечения.

(входная)

Указывает, следует ли установить все обновления или только обязательные обновления.

Допустимые значения

SMSRebootMessage

Применяется к шагу Перезагрузить компьютер.

(входная)

Указывает сообщение, отображаемое пользователям перед перезагрузкой конечного компьютера. Если эта переменная не задана, отображается сообщение по умолчанию. Длина сообщения не может превышать 512 символов.

Пример

Save your work before the computer restarts.

SMSRebootTimeout

Применяется к шагу Перезагрузить компьютер.

(входная)

Указывает время в секундах, которое проходит с момента отображения предупреждения пользователю до перезагрузки компьютера.

Примеры
  • 0 (по умолчанию): не отображать сообщение о перезагрузке;
  • 60: отображать предупреждение в течение одной минуты.

SMSTSAssignmentsDownloadInterval

Время ожидания в секундах перед новой попыткой клиента скачать политику с момента последней попытки, не вернувшей политики. По умолчанию клиент ожидает 0 секунд перед повторной попыткой.

Эту переменную можно установить с помощью команды перед запуском с носителя или посредством PXE.

SMSTSAssignmentsDownloadRetry

Количество попыток скачивания политики, выполняемых клиентом, если политики не были найдены с первой попытки. По умолчанию клиент повторяет попытку 0 раз.

Эту переменную можно установить с помощью команды перед запуском с носителя или посредством PXE.

SMSTSAssignUsersMode

Указывает, как последовательность задач связывает пользователей с конечным компьютером. Присвойте переменной одно из следующих значений.

  • Автоматически: когда последовательность задач развертывает ОС на конечный компьютер, она создает связь между определенными пользователями и этим компьютером.

  • Ожидание: последовательность задач создает связь между указанными пользователями и конечным компьютером. Требуется предварительное утверждение администратором.

  • Отключено. последовательность задач не связывает пользователей с конечным компьютером во время развертывания операционной системы.

SMSTSDisableStatusRetry

В сценариях без подключения к сети подсистема выполнения последовательности задач будет пытаться отправлять сообщения о состоянии в точку управления. Такое поведение приводит к задержкам при обработке последовательности задач.

Значение true для этой переменной означает, что подсистема выполнения последовательности задач не будет пытаться отправлять сообщения о состоянии после сбоя первого сообщения. Это первая попытка включает в себя несколько повторных попыток.

При перезапуске последовательности задач значение этой переменной сохраняется. Однако последовательность задач пытается отправить начальное сообщение о состоянии. Это первая попытка включает в себя несколько повторных попыток. В случае успешного выполнения последовательность задач продолжает отправлять состояние независимо от значения этой переменной. Если отправить состояние не удается, последовательность задач использует значение этой переменной.

Примечание

Отчеты о состоянии последовательности задач используют эти сведения о состоянии для отображения хода выполнения, журнала и сведений для каждого шага. Если сообщения о состоянии не удается отправить, они не помещаются в очередь. Поэтому они не отправляются и после восстановления подключения к точке управления. В результате отчет о состоянии последовательности задач может быть неполным, в нем могут отсутствовать элементы.

SMSTSDisableWow64Redirection

Применяется к шагу Выполнить из командной строки.

(входная)

Если используется 64-разрядная версия операционной системы, последовательность задач по умолчанию находит и запускает программу в командной строке с помощью перенаправителя файловой системы WOW64. Это позволяет обнаруживать 32-разрядные версии программ операционной системы и библиотек DLL. Присвойте этой переменной значение true, чтобы отключить использование перенаправителя файловой системы WOW64. В этом случае команда будет обнаруживать только 64-разрядные версии программ операционной системы и библиотек DLL. Эта переменная не используется при работе в 32-разрядной версии операционной системы.

SMSTSDownloadAbortCode

Эта переменная содержит значение кода прерывания для загрузчика внешней программы. Сама программа указывается в переменной SMSTSDownloadProgram. Если программа возвращает код ошибки, равный значению переменной SMSTSDownloadAbortCode, то скачивание содержимого завершается сбоем и попытки выполнить скачивание с помощью других методов не предпринимаются.

SMSTSDownloadProgram

Используйте эту переменную, чтобы задать альтернативного поставщика содержимого (ACP). ACP — это загрузчик, который скачивает содержимое. Последовательность задач использует ACP вместо загрузчика Configuration Manager по умолчанию. Во время скачивания содержимого последовательность задач проверяет эту переменную. Если в ней указано значение, последовательность задач запускает указанную программу для скачивания содержимого.

SMSTSDownloadRetryCount

Количество попыток скачивания содержимого из точки распространения средой Configuration Manager. По умолчанию клиент повторяет попытку 2 раза.

SMSTSDownloadRetryDelay

Время ожидания в секундах перед повторной попыткой скачивания содержимого из точки распространения средой Configuration Manager. По умолчанию клиент ожидает 15 секунд перед повторной попыткой.

SMSTSDriverRequestConnectTimeOut

Применяется к шагу Применять драйверы автоматически.

При запросе каталога драйверов значением этой переменной является количество секунд, в течение которых последовательность задач ожидает подключение к HTTP-серверу. Если подключение занимает больше времени, чем задано параметром времени ожидания, последовательность задач отменяет запрос. Время ожидания по умолчанию составляет 60 секунд.

SMSTSDriverRequestReceiveTimeOut

Применяется к шагу Применять драйверы автоматически.

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

SMSTSDriverRequestResolveTimeOut

Применяется к шагу Применять драйверы автоматически.

При запросе каталога драйверов значением этой переменной является количество секунд, в течение которых последовательность задач ожидает разрешение имени HTTP. Если подключение занимает больше времени, чем задано параметром времени ожидания, последовательность задач отменяет запрос. Время ожидания по умолчанию составляет 60 секунд.

SMSTSDriverRequestSendTimeOut

Применяется к шагу Применять драйверы автоматически.

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

SMSTSErrorDialogTimeout

При возникновении ошибки в последовательности задач отображается диалоговое окно с ошибкой. Последовательность задач автоматически закрывает его через количество секунд, указанных в этой переменной. Значение по умолчанию: 900 секунд (15 минут).

SMSTSLanguageFolder

С помощью этой переменной можно изменять язык отображения информации в загрузочных образах, не зависящих от языка.

SMSTSLocalDataDrive

Указывает, где последовательность задач сохраняет временные файлы кэша при выполнении на конечном компьютере.

Обязательно задайте эту переменную перед запуском последовательности задач, например, задав переменную коллекции. После запуска последовательности задач Configuration Manager определяет переменную _SMSTSMDataPath в зависимости от того, какое значение определено в переменной SMSTSLocalDataDrive.

SMSTSMP

Используйте эту переменную, чтобы указать URL- или IP-адрес точки управления Configuration Manager.

SMSTSMPListRequestTimeoutEnabled

Применяется к следующим шагам:

(входная)

Используйте эту переменную для включения повторяющихся запросов MPList, чтобы обновить клиент, если он находится не в интрасети. По умолчанию для переменной задано значение True.

Если клиенты находятся в Интернете, присвойте этой переменной значение False, чтобы избежать ненужных задержек.

SMSTSMPListRequestTimeout

Применяется к следующим шагам:

(входная)

Эта переменная указывает, сколько миллисекунд последовательность задач будет ожидать перед повторной попыткой выполнить шаг, который не смог получить список точек управления из служб обнаружения расположения. По умолчанию время ожидания перед повторной попыткой составляет 60000 мс (60 с). Выполняется не более трех повторных попыток.

SMSTSPeerDownload

Используйте эту переменную, чтобы позволить клиенту использовать одноранговый кэш Windows PE. Эта функция включается при значении true для этой переменной.

SMSTSPeerRequestPort

Пользовательское значение сетевого порта, который используется одноранговым кэшем среды предустановки Windows PE для начального вещания. В параметрах клиента по умолчанию настраивается порт 8004.

SMSTSPersistContent

С помощью этой переменной можно временно хранить содержимое в кэше последовательности задач. Значение этой переменной отличается от SMSTSPreserveContent, которая хранит содержимое в кэше клиента Configuration Manager после завершения последовательности задач. Переменная SMSTSPersistContent использует кэш последовательности задач, а переменная SMSTSPreserveContent — кэш клиента Configuration Manager.

SMSTSPostAction

Задает команду, которая выполняется после завершения последовательности задач. Непосредственно перед выходом из последовательности задач процесс TSManager вызывает указанное завершающее действие. Процесс завершается после вызова команды без ожидания или записи какого-либо состояния.

Например, укажите shutdown.exe /r /t 30 /f, чтобы перезагрузить компьютер через 30 секунд после выполнения последовательности задач.

SMSTSPreferredAdvertID

Заставляет последовательность задач запускать на конечном компьютере определенное целевое развертывание. Задайте эту переменную с помощью выполняемой перед запуском команды с носителя или посредством PXE. Если эта переменная задана, последовательность задач переопределяет все обязательные развертывания.

SMSTSPreserveContent

Эта переменная указывает, что содержимое в последовательности задач должно сохраняться в кэше клиента Configuration Manager после развертывания. Она отличается от переменной SMSTSPersistContent, которая сохраняет содержимое только на время выполнения последовательности задач. Переменная SMSTSPersistContent использует кэш последовательности задач, а переменная SMSTSPreserveContent — кэш клиента Configuration Manager. Чтобы включить эту функцию, задайте для SMSTSPreserveContent значение true.

SMSTSRebootDelay

Задает время ожидания в секундах перед перезагрузкой компьютера. Если значение этой переменной равно нулю (0), диспетчер последовательности задач не отображает диалоговое окно с предупреждением перед перезагрузкой компьютера.

Пример

SMSTSRebootDelayNext

Используйте эту переменную с существующей переменной SMSTSRebootDelay. Чтобы последующие перезагрузки выполнялись со временем ожидания, отличным от первого, установите для SMSTSRebootDelayNext другое значение в секундах.

Пример

Вы хотите, чтобы пользователи получали уведомление о перезагрузке за 60 минут до нее при запуске последовательности задач обновления на месте Windows 10. После этого первого длительного времени ожидания вы хотите, чтобы дополнительные периоды ожидания составляли всего 60 секунд. Установите для SMSTSRebootDelay значение 3600, а для SMSTSRebootDelayNext — значение 60.

SMSTSRebootMessage

Задает сообщение, отображаемое в диалоговом окне уведомления о перезагрузке. Если эта переменная не задана, отображается сообщение по умолчанию.

Пример

The task sequence is restarting this computer

SMSTSRebootRequested

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

  • HD: перезагрузка в установленную ОС
  • WinPE: перезагрузка в связанный образ загрузки

SMSTSRetryRequested

Запрашивает повторную попытку после завершения текущего шага последовательности задач. Если установлена эта переменная последовательности задач, также настройте переменную SMSTSRebootRequested. После перезагрузки компьютера диспетчер последовательности задач повторно выполнит тот же шаг последовательности задач.

SMSTSRunCommandLineAsUser

Начиная с версии 2002
Применяется к шагу Выполнить из командной строки.

Задайте переменные последовательности задач, чтобы настроить пользовательский контекст для шага Запуск командной строки. Не нужно настраивать шаг Запуск командной строки с учетной записью-заполнителем, чтобы использовать переменные SMSTSRunCommandLineUserName и SMSTSRunCommandLineUserPassword.

Настройте SMSTSRunCommandLineAsUser с одним из следующих значений:

  • true: все последующие шаги Запуск командной строки выполняются в контексте, указанном пользователем в SMSTSRunCommandLineUserName.

  • false: все последующие шаги Запуск командной строки выполняются в контексте, настроенном в шаге.

SMSTSRunCommandLineUserName

Применяется к шагу Выполнить из командной строки.

(входная)

Указывает учетную запись, которая используется при выполнении командной строки. Это значение представляет собой строку в формате username для локальной учетной записи или domain\username для домена. Укажите пароль для учетной записи в переменной SMSTSRunCommandLineUserPassword.

Примечание

Начиная с версии 2002, используйте переменную SMSTSRunCommandLineAsUser с этой переменной, чтобы настроить контекст пользователя для этого шага.

В версии 1910 и более ранней настройте для шага Выполнить из командной строки параметр Запустить этот шаг в виде следующей учетной записи. Когда вы включаете этот параметр и задаете имя пользователя и пароль с помощью переменных, укажите любое значение для учетной записи.

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

SMSTSRunCommandLineUserPassword

Применяется к шагу Выполнить из командной строки.

(входная)

Указывает пароль для учетной записи, которая определена в переменной SMSTSRunCommandLineUserName.

SMSTSRunPowerShellAsUser

Начиная с версии 2002
Применяется к шагу Запустить сценарий PowerShell.

Используйте переменные последовательности задач, чтобы настроить пользовательский контекст для шага Запуск скрипта PowerShell. Не нужно настраивать шаг Запуск скрипта PowerShell Script с учетной записью — заполнителем, чтобы использовать переменные SMSTSRunPowerShellUserName и SMSTSRunPowerShellUserPassword.

Настройте SMSTSRunPowerShellAsUser с одним из следующих значений:

  • true: все последующие шаги Запуск скрипта PowerShell выполняются в контексте, указанном пользователем в SMSTSRunPowerShellUserName.

  • false: все последующие шаги Запуск скрипта PowerShell выполняются в контексте, настроенном в шаге.

SMSTSRunPowerShellUserName

Применяется к шагу Запустить сценарий PowerShell.

(входная)

Указывает учетную запись, которая используется при выполнении сценария PowerShell. Значением этой переменной является строка формата «имя_пользователя» или «домен\имя_пользователя». Укажите пароль для учетной записи в переменной SMSTSRunPowerShellUserPassword.

Примечание

Чтобы использовать эти переменные, настройте для шага Запустить сценарий PowerShell параметр Запустите этот этап в виде следующей учетной записи. Когда вы включаете этот параметр и задаете имя пользователя и пароль с помощью переменных, укажите любое значение для учетной записи.

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

SMSTSRunPowerShellUserPassword

Применяется к шагу Запустить сценарий PowerShell.

(входная)

Указывает пароль для учетной записи, которая определена в переменной SMSTSRunPowerShellUserName.

SMSTSSoftwareUpdateScanTimeout

Применяется к шагу Установить обновления программного обеспечения.

(входная)

Управляет временем ожидания для проверки обновлений программного обеспечения при выполнении этого шага. Например, увеличьте значение, если во время проверки ожидается большое количество обновлений. Значение по умолчанию: 3600 с (60 мин). Значение переменной задается в секундах.

SMSTSUDAUsers

Перечисляет основных пользователей конечного компьютера, используя следующий формат: <DomainName>\<UserName>. Разделите пользователей с помощью запятой (,). Дополнительные сведения см. в разделе Связывание пользователей с конечным компьютером.

Пример

contoso\jqpublic, contoso\megb, contoso\janedoh

SMSTSWaitCcmexecOperationalTimeout

(входная)

Используйте эту переменную для управления периодом, в течение которого последовательность задач ожидает полного запуска хост-службы агента SMS (ccmexec). Значение указывается в секундах. Период ожидания по умолчанию составляет 30 минут или 1800 секунд.

Примеры SMSTSWaitCcmexecOperationalTimeout
  • 1800 (по умолчанию): 30 минут
  • 300: Последовательность задач ожидает запуска ccmexec в течение пяти минут.

SMSTSWaitForSecondReboot

Применяется к шагу Установить обновления программного обеспечения.

(входная)

Эта необязательная переменная последовательности задач управляет поведением клиента, когда для установки обновления программного обеспечения требуются две перезагрузки. Задайте ее перед этим шагом, чтобы избежать сбоя последовательности задач из-за второй перезагрузки при установке обновления программного обеспечения.

Задайте переменной SMSTSWaitForSecondReboot значение в секундах, чтобы указать продолжительность приостановки последовательности задач на этом шаге при перезагрузке компьютера. Выделите достаточно времени на случай второй перезагрузки.

Например, если переменной SMSTSWaitForSecondReboot задать значение 600, последовательность задач приостановится на 10 минут после перезагрузки, прежде чем начнет выполнение следующих шагов. Эта переменная полезна, когда в рамках одного шага последовательности задач «Установить обновления программного обеспечения» устанавливаются сотни обновлений программного обеспечения.

Примечание

Эта переменная применяется только к последовательности задач, которая развертывает ОС. Она не работает в настраиваемой последовательности задач.

TSDebugMode

Задайте этой переменной значение TRUE для объекта компьютера или коллекции, где развертывается последовательность задач. Любое устройство с таким значением этой переменной поместит все последовательности задач, развернутые на него, в режим отладки.

Дополнительные сведения см. в статье Отладка последовательности задач.

TSDebugOnError

Задайте этой переменной значение TRUE, чтобы автоматически запускать отладчик последовательности задач, когда последовательность задач возвращает ошибку.

Задайте эту переменную, используя следующее:

TSDisableProgressUI

Используйте эту переменную, чтобы управлять отображением сведений о ходе выполнения для пользователей. Чтобы скрывать и отображать ход выполнения в разное время, задайте эту переменную в последовательности задач несколько раз.

  • true: Скрытие хода выполнения последовательности задач

  • false: отобразить ход выполнения последовательности задач.

TSErrorOnWarning

Применяется к шагу Установить приложение.

(входная)

Укажите, рассматривает ли подсистема последовательности задач обнаруженное предупреждение как ошибку во время выполнения этого шага. Последовательность задач устанавливает для переменной _TSAppInstallStatus значение Warning, если по меньшей мере одно приложение или требуемая зависимость не установлены из-за несоответствия требованиям. Если этой переменной задано значение True и последовательность задач задает для _TSAppInstallStatus значение Warning, возникнет ошибка. Значение False определяет поведение по умолчанию.

TSProgressInfoLevel

Начиная с версии 2002

Укажите эту переменную, чтобы управлять типом информации, отображаемой в окне хода выполнения последовательности задач. Эта переменная может принимать следующие значения.

  • 1: включение текущего шага и общего количества шагов в текст хода выполнения. Например, 2 из 10.
  • 2: включение текущего шага, общего количества шагов и процента выполнения. Например, 2 из 10 (выполнено 20 %) .
  • 3: включение процента выполнения. Например, (выполнено 20 %) .

TSUEFIDrive

Используйте в свойствах раздела FAT32 в поле Переменная. Обнаружив эту переменную, последовательность задач готовит диск для перехода на UEFI перед перезагрузкой компьютера. Подробные сведения см. в разделе Этапы последовательности задач для управления преобразованием BIOS в UEFI.

WorkingDirectory

Применяется к шагу Выполнить из командной строки.

(входная)

Задает начальный каталог для действия командной строки. Указанное имя каталога не должно быть длиннее 255 символов.

Примеры

Устаревшие переменные

Устаревшими считаются следующие переменные:

  • OSDAllowUnsignedDriver: не используется при развертывании Windows Vista и более поздних версий операционной системы;
  • OSDBuildStorageDriverList: этот параметр применим только в операционных системах Windows XP и Windows Server 2003.
  • OSDDiskpartBiosCompatibilityMode: применяется только при развертывании Windows XP или Windows Server 2003.
  • OSDInstallEditionIndex: не требуется после Windows Vista.
  • OSDPreserveDriveLetter: дополнительные сведения см. в разделе OSDPreserveDriveLetter.

OSDPreserveDriveLetter

Важно!

Использовать эту переменную последовательности задач не рекомендуется.

Во время развертывания операционной системы программа установки Windows по умолчанию самостоятельно определяет оптимальную букву диска (обычно диск C:).

Предыдущее поведение: при применении образа переменная OSDPreverveDriveLetter определяет, использует ли последовательность задач букву диска, записанную в WIM-файле образа. Задайте для этой переменной значение false, чтобы использовать расположение, указанное в параметре Назначение на шаге последовательности задач Применить операционную систему. См. дополнительные сведения о применении образа операционной системы.

См. также

Ansible зарегистрировать несколько асинхронных задач в одной переменной



Есть ли способ зарегистрировать несколько асинхронных задач в одной и той же переменной? Например, если у меня есть две задачи, каждая из которых вызывает команду async shell:

  - name: Run async task 1
    shell: echo "task 1"
    async: 30
    poll: 0
    register: db_wait

  - name: Run async task 2
    shell: echo "task 2"
    async: 30
    poll: 0
    register: db_wait

  - debug: msg="task vars {{db_wait}}"

Когда я печатаю переменную db_wait, она содержит только ссылку на одну задачу.

 "msg": "task vars {u'started': 1, u'results_file': u'/home/vagrant/.ansible_async/202582702042.7326', u'ansible_job_id': u'202582702042.7326', u'changed': False}"

Есть ли способ зарегистрировать одну и ту же переменную для асинхронных задач или какой-то список, который я могу добавить и повторить позже?

ansible
Поделиться Источник phill.tomlinson     21 сентября 2015 в 20:16

2 ответа


  • Несколько асинхронных задач не выполняются должным образом

    Я пытаюсь запустить 6 асинхронных задач одновременно в onCreate() действия. Но я заметил следующее: а) если я остаюсь на одной и той же активности, все асинхронные задачи doInBackground() выполняются правильно. Б) если я переключаюсь на какое-то другое действие, выполняется только 4 или 5…

  • Как может Ansible «register» в переменной быть результатом включения пьесы?

    Как Ansible пьес register в переменной результат в том числе еще одну книгу? Например, будет ли следующее регистрировать результат выполнения tasks/foo.yml в result_of_foo ? tasks: — include: tasks/foo.yml — register: result_of_foo Как еще Ansible может записать результат последовательности задач?



2

В конце концов я придумал следующее решение, надеюсь, оно может помочь другим людям. Суть проблемы в том, что мне нужно было выполнить несколько длительных задач на разных хостах в разных пьесах, но я хочу собрать результаты только в самом конце книги.

Чтобы пьесы выполняли задания, которые у меня есть:

---
- name: Long Running tasks 1
  hosts: remote_host_1
  tasks:
    - name: Tasks 1
      shell: "{{item}}"
      with_items:
        - sleep 10
        - echo "Another Task"
      async: 3600
      poll: 0
      register: wait_task1


- name: Long Running tasks 2
  hosts: remote_host_2
  tasks:
    - name: Tasks 2
      shell: "{{item}}"
      with_items:
        - sleep 20
      async: 3600
      poll: 0
      register: wait_task2

Затем финальные пьесы должны были проверить результаты:

- name: Verify Async Tasks 1
  hosts: remote_host_1
  tasks:
    - include: "/ansible/plays/check_results.yml wait={{wait_task1}}"


- name: Verify Async Tasks 2
  hosts: remote_host_2
  tasks:
    - include: "/ansible/plays/check_results.yml wait={{wait_task2}}"

И результаты проверки выглядят знакомыми людям, которые использовали этот механизм:

---
- name: Check Results
  async_status: jid={{ item.ansible_job_id }}
  register: task_result
  until: task_result.finished
  retries: 120
  delay: 30
  failed_when: task_result.rc != 0
  with_items: wait.results  

Это запускает все задачи асинхронно, а затем мы можем собрать результаты в конце каждой игры.

Поделиться phill.tomlinson     23 сентября 2015 в 10:38



1

Я думаю, что единственный способ, которым вы могли бы сделать то, что хотите, — это переписать свой пример в следующем порядке:

- name: run tasks 
  shell: {{ item }}
  async: 30
  poll: 0
  register: db_wait
  with_items:
    -  echo "task 1"
    -  echo "task 2"

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

Поделиться Bruce P     22 сентября 2015 в 00:39


Похожие вопросы:


Как правильно запускать несколько асинхронных задач параллельно?

Что делать, если вам нужно запустить несколько асинхронных задач ввода-вывода параллельно, но нужно убедиться, что одновременно запущено не более X процессов ввода-вывода; а задачи обработки до и…


Безопасно ограничивать Ansible playbooks одной машиной?

Я использую Ansible для некоторых простых задач управления пользователями с небольшой группой компьютеров. В настоящее время мои playbooks установлены на hosts: all , а мой файл hosts — это всего…


Реализация нескольких асинхронных задач

Я работаю над Android асинхронными задачами. Я попытался реализовать несколько асинхронных задач в основном классе. Однако независимо от того, какую задачу я вызываю, загружается только первая…


Несколько асинхронных задач не выполняются должным образом

Я пытаюсь запустить 6 асинхронных задач одновременно в onCreate() действия. Но я заметил следующее: а) если я остаюсь на одной и той же активности, все асинхронные задачи doInBackground()…


Как может Ansible «register» в переменной быть результатом включения пьесы?

Как Ansible пьес register в переменной результат в том числе еще одну книгу? Например, будет ли следующее регистрировать результат выполнения tasks/foo.yml в result_of_foo ? tasks: — include:…


Отфильтруйте подстроку, соответствующую шаблону, из переменной ansible и назначьте соответствующую подстроку другой переменной

Допустим, у нас есть длинная строковая переменная ansible mystr . У нас есть шаблон regex, скажем substr_pattern , и подстрока, соответствующая этому шаблону, должна быть отфильтрована из mystr и…


Несколько Асинхронных Задач

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


Ansible — как запустить несколько задач в сборнике пьес

Я новичок в ansible и пытаюсь выполнить несколько задач для установки docker на определенную группу хостов в книге воспроизведения ansible. У меня есть следующий сценарий… — — hosts: all tasks:…


как запустить несколько команд в одной строке в ansible

Мне нужно выполнить две команды ansible в одной строке. Пока я запускаю команду, она принимает только вторую команду . ansible -i list cdlk -a touch /tmp/a -a touch /tmp/b —private-key=/tmp/id_rsa…


Как зарегистрировать переменную в ansible на основе другой переменной?

У меня есть куча серверов в разных подсетях. Я хочу настроить точку монтирования NFS для каждого из них, выбрав, какой сервер NFS основан на том, в какой подсети они находятся. Я могу легко сделать…

Задачи с параметрами на ЕГЭ по математике. Все секреты решений

Анна Малкова

Задача с параметрами – одна из самых сложных в ЕГЭ по математике Профильного уровня. Это задание №18

И знать здесь действительно нужно много.

Лучше всего начать с темы «Элементарные функции и их графики»

Повторить, что такое функция, что такое четные и нечетные функции, периодические, взаимно-обратные.

Научиться строить графики всех элементарных функций (и отличать по внешнему виду логарифм от корня квадратного, а экспоненту – от параболы).

Освоить преобразования графиков функций и приемы построения графиков.

И после этого – учимся решать сами задачи №18 Профильного ЕГЭ.

Вот основные типы задач с параметрами:

Что такое параметр? Простые задачи с параметрами

Базовые элементы для решения задач с параметрами

Графический способ решения задач с параметрами

Квадратичные уравнения и неравенства с параметрами

Использование четности функций в задачах с параметрами

Условия касания в задачах с параметрами

Метод оценки в задачах с параметрами 

Вот пример решения и оформления задачи с параметром:

Еще одна задача с параметром – повышенного уровня сложности. Автор задачи – Анна Малкова

Решаем задачи из сборника И. В. Ященко, 2020. Вариант 1, задача 18

Решаем задачи из сборника И. В. Ященко, 2020. Вариант 5, задача 18

Решаем задачи из сборника И. В. Ященко, 2020. Вариант 11, задача 18

Решаем задачи из сборника И. В. Ященко, 2020. Вариант 26, задача 18

Решаем задачи из сборника И. В. Ященко, 2020. Вариант 36, задача 18

 

 

И несколько полезных советов тем, кто решает задачи с параметрами:

1. Есть два универсальных правила для решения задач с параметрами. Помогают всегда. Хорошо, в 99% случаев помогают. То есть почти всегда.

— Если в задаче с параметром можно сделать замену переменной – сделайте замену переменной.

— Если задачу с параметром можно решить нарисовать – рисуйте. То есть применяйте графический метод.

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

Эксперты ЕГЭ очень не любят слова «Из рисунка видно…» Ваш рисунок – только иллюстрация к решению. Вам нужно объяснить, на что смотреть, и обосновать свои выводы. Примеры оформления – здесь. Эксперты ЕГЭ также не любят слова «очевидно, что…» (когда ничего не очевидно) и «ёжику ясно…».

3. Сколько надо решить задач, чтобы освоить тему «Параметры на ЕГЭ по математике»? – Хотя бы 50, и самых разных. И в результате, посмотрев на задачу с параметром, вы уже поймете, что с ней делать.

4. Задачи с параметрами похожи на конструктор. Разобрав много таких задач, вы заметите, как решение «собирается» из знакомых элементов. Сможете разглядеть уравнение окружности или отрезка. Переформулировать условие, чтобы сделать его проще.

На нашем Онлайн-курсе теме «Параметры» посвящено не менее 12 двухчасовых занятий. Кстати, оценивается задача 18 Профильного ЕГЭ в 4 первичных балла, которые отлично пересчитываются в тестовые!

Задачи на цепи переменного тока

В электротехнике большое количество задач посвящено цепям переменного тока. Рассмотрим примеры решения некоторых из них.

Задача 1

 В сеть переменного тока включены последовательно катушка индуктивностью 3 мГн и активным сопротивлением 20 Ом и конденсатор емкостью 30 мкФ. Напряжение Uc на конденсаторе 50 В. Определите напряжение на зажимах цепи, ток в цепи, напряжение на катушке, активную и реактивную мощность.

 

Решение задачи начнём с определения тока в цепи, но для этого нужно сначала определить реактивное сопротивление конденсатора.

Как известно, реактивное сопротивление конденсатора зависит от частоты переменного тока (при её увеличении уменьшается, а при её уменьшении увеличивается), следовательно 

Ток в цепи находим из соображения, что элементы в цепи соединены последовательно, а значит, ток на конденсаторе и катушке будет одним и тем же. 

Следующим шагом мы определяем индуктивное сопротивление и напряжение катушки 

Зная активное сопротивление обмотки катушки, можем определить падение напряжения на нем 

Теперь, когда мы знаем напряжение на каждом из элементов, мы можем определить напряжение на зажимах цепи, которое будет равно

Активную мощность в данном случае можно определить как мощность, выделяемую на обмотке катушки 

Для определения реактивной мощности необходимо для начала определить угол сдвига ϕ 

Так как реактивная мощность имеет отрицательное значение, то цепь имеет емкостной характер. 

Задача 2

В цепи как показано на схеме, подключены катушка, конденсатор и резисторы. Индуктивность катушки – 15 мГн, емкость конденсатора 20 мкФ, R1=10 Ом, R2=30 Ом. Напряжение источника 100 В, частота 100 Гц. Определить токи в цепи, активную, реактивную и полную мощность в цепи. 

Данную задачу удобнее решать с помощью проводимостей, так как катушка и конденсатор соединены параллельно.

Тогда активная проводимость первой ветви равна 

Реактивная проводимость первой ветви равна

Полная проводимость первой ветви

Аналогичный расчет произведем для второй ветви содержащей конденсатор 

Полная проводимость цепи

Токи в цепи определим зная напряжение и проводимости 

Коэффициент мощности определим по формуле

Активная мощность

 

Реактивная мощность 

Полная мощность 

Читайте также — расчет простых цепей постоянного тока 

  • Просмотров: 41196
  • переменная задачи — это… Что такое переменная задачи?

    переменная задачи
    task variable

    Большой англо-русский и русско-английский словарь. 2001.

    • переменная доступность
    • переменная затменная

    Смотреть что такое «переменная задачи» в других словарях:

    • Переменная модели — [variable] переменная величина, включенная в модель и принимающая различные значения в процессе решения экономико математической задачи. Независимые переменные принимают значения координат моделируемой системы; они могут быть управляемыми или… …   Экономико-математический словарь

    • переменная модели — Переменная величина, включенная в модель и принимающая различные значения в процессе решения экономико математической задачи. Независимые переменные принимают значения координат моделируемой системы; они могут быть управляемыми или сопутствующими …   Справочник технического переводчика

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

    • ПЕРЕМЕННАЯ — меняющаяся, с переменами. Величина, которая может по условиям задачи принимать различные значения …   Большой экономический словарь

    • переменная величина — матем. Величина, которая может принимать в условиях задачи различные значения …   Словарь многих выражений

    • ЗАВИСИМАЯ ПЕРЕМЕННАЯ — (англ. dependent variable) переменная, на которую оказывает влияние др. фактор в эксперименте (независимая переменная). См. Лабораторный эксперимент …   Большая психологическая энциклопедия

    • управляемая переменная — — [Я.Н.Лугинский, М.С.Фези Жилинская, Ю.С.Кабиров. Англо русский словарь по электротехнике и электроэнергетике, Москва, 1999 г.] управляемая переменная Переменная модели (оптимизационной модели, модели исследования операций и др.), значения …   Справочник технического переводчика

    • Управляемая переменная — [controlled variable] переменная модели (оптимизационной модели, модели исследования операций  и др.), значения которой подвергаются изменению в процессе поиска решения этой модели. Собственно, наличие управляемых переменных главное, что отличает …   Экономико-математический словарь

    • Наблюдаемая переменная — Система (1) (2) является наблюдателем для системы (3), (4), если для каждого начального состояния системы (3) (4) существует начальное состояние …   Википедия

    • Задание (task) — Переменная З. в эксперименте относится к малым или большим единицам поведения испытуемого, к рые испытуемый должен выполнить на основе инструкций, полученных от др., или самостоятельно поставленной цели. С субъективной т. зр., задача связана с… …   Психологическая энциклопедия

    • ГОСТ 18421-93: Аналоговая и аналого-цифровая вычислительная техника. Термины и определения — Терминология ГОСТ 18421 93: Аналоговая и аналого цифровая вычислительная техника. Термины и определения оригинал документа: 51 амплитудная характеристика (операционного усилителя): Зависимость установившегося значения выходного напряжения… …   Словарь-справочник терминов нормативно-технической документации


    заказ решений на аукционе за минимальную цену с максимальным качеством

    Предлагаю идею сайта-аукциона по выполнению домашних заданий. Он будет включать:

    • решение задач по математике (сейчас доступен решебник Филиппова), физике, химии, экономике
    • написание лабораторных, рефератов и курсовых
    • выполнение заданий по литературе, русскому или иностранному языку.

    Основное отличие от большинства сайтов, предлагающих выполнение работ на заказ – сайт рассчитан на две категории пользователей: заказчиков и решающих задания. Причем, по желанию (чтобы заработать, увеличить свой рейтинг, получить решение сложной задачи) пользователи могут играть любую из этих ролей.

    Объединение сервисов в одну систему

    Основой для идеи послужили несколько работающих систем, объединение которых позволит сделать сервис для решения задач на заказ. Эти системы:

    • Форум, где посетители обмениваются идеями и помогают друг другу
    • Система bugtracking, где обнаруженные проблемы проходят путь от публикации до принятия в исполнение и решения
    • Аукцион, где цена за товар или услугу определяется в результате торгов
    • Система рейтингов, где участники могут оценивать ответы друг друга. Причем, чем больше рейтинг пользователя, тем более значимым становится его голос

    Принцип работы

    Для удобства и проведения аналогий с реальной жизнью назовем заказчиков студентами, а решающих задания – репетиторами.

    Итак, студенту необходимо решить несколько задач. Он заходит на сайт, выбирает раздел с соответствующей дисциплиной и создает новую тему (аналогия с форумом). Но при создании темы он также указывает стартовую (максимальную) цену, которую он готов заплатить за решение задач и крайний срок исполнения задания. Можно будет назначить и нулевую цену – если студенту нужно только бесплатное решение.

    Как только тема создана, все пожелавшие подписаться на раздел репетиторы получают уведомление. Причем, условие получения уведомлений можно настроить. Например, уведомлять только о заказах со стартовой ценой более 500 р. и сроком решения не менее недели.

    Заинтересовавшиеся репетиторы делают ставки. Причем студент (автор темы) видит ставки и может посмотреть информацию по каждому репетитору (его решения, рейтинг, дату начала участия в проекте). Когда студент посчитает нужным, он может остановить аукцион и назначить задание одному из репетиторов, сделавшему ставку (не обязательно самую низкую, т.к. можно учитывать и другие факторы – см. выше).

    Деньги блокируются на счете студента, и репетитор начинает решать задание. Он должен представить его к сроку, заданному изначально. Выполненное решение публикуется в свободном доступе и его может оценить как заказчик, так и другие репетиторы. На этих оценках и строится рейтинг. Если к решению нет претензий – деньги окончательно переводятся со счета студента на счет репетитора.

    За счет чего будет развиваться сервис

    Первое – положительная обратная связь. Чем больше условий задач и решений будет опубликовано на сайте, тем чаще его будут находить пользователи через поисковики, будет больше ссылок на готовые решения. Именно поэтому важно размещать решенные задачи в свободном доступе. Знаю это по опыту своего сайта exir.ru (ex irodov.nm.ru) – большая ссылочная база получена исключительно за счет благодарных пользователей.

    Второе – удобный сервис для заказчиков и для желающих заработать на решениях.

    Преимущества для заказчиков

    Студентам и школьникам не нужно перебирать десятки сайтов для сравнения цен, а потом надеяться, что после оплаты они получат качественное решение (и, вообще, все не закончится перечислением денег). Заказчики создают аукцион на понижение цены и могут смотреть на рейтинги желающих решить задачи и ранее выполненные ими решения. Кроме того, деньги окончательно перечисляются исполнителю только после полного решения.

    Преимущества для решающих задания

    Не нужно создавать и продвигать свой сайт, размещать множество объявлений во всех доступных источниках информации. Заказчики сами придут к вам. Не нужно решать все присланные задания с целью поддержания репутации – можно выбирать те, которые будут интересны по уровню сложности, цене и срокам решения.

    Преимущества для владельца сервиса

    Если вы не понимаете, какую выгоду получит делающий вам какое-нибудь предложение – будьте осторожны! 🙂 У меня уже есть большой опыт работы с сайтом, предоставляющим бесплатные решения по физике. И вариант с получением прибыли от размещения рекламы подходит и для нового сервиса. Кроме того, мне нравится помогать людям и довольно тяжело смотреть, как множество вопросов по задачам остаются на форуме без ответа. Предложенный аукцион решений сможет значительно сократить число вопросов без ответов.

    В будущем возможен вариант и с получением некоторого небольшого процента от оплаты заказов. Но процент этот должен быть минимален и на начальном этапе он взиматься точно не будет.

    Что необходимо для создания сервиса

    1. Самым важное сейчас – собрать команду, готовую принять участие в выполнении заданий. Если покупатели заходят в пустой магазин – они надолго забывают в него дорогу.

      Поэтому я собираю предварительные заявки от посетителей, готовых заниматься решениями. Не нужно подписания никаких договоров о намерениях. Просто сообщите, на какие темы вы готовы решать задания, какой у вас опыт подобной работы (e-mail: [email protected]). Когда сервис заработает – я пришлю приглашение на регистрацию.

    2. Выбрать платежную систему.
    3. Сделать подходящий движок для сайта. Нужно решить – создавать его с нуля или изменить какой-нибудь существующий движок (например, форумный) с открытой лицензией.
    4. Привлечь посетителей. Учитывая посещаемость exir.ru и число публикуемых на форуме вопросов, думаю, это не будет большой проблемой.

    переменных задачи

    переменных задачи

    Переменные задачи

    Переменные задачи видны всем функциям внутри задачи. Они предоставляют средства обмена общими данными между более чем одной функцией. Переменные задачи похожи на параметры функции в том, что они состоят из имени, типа и дескриптора доступности. Типы, поддерживаемые переменными задачи, идентичны (и должны оставаться) тем, которые поддерживаются функцией задачи. Переменные задачи также поддерживают необязательные описания. Однако, в отличие от параметров функции, переменная задачи не может быть помечена как необязательная.Преимущества переменных задачи:

    • Сохранение ориентированных на задачу значений — данные, общие для всей задачи, и более чем одной функции необходимо использовать их содержимое, являются кандидатами на повышение до переменной задачи. Примером может быть переменная, указывающая, выполняется ли задача определенным образом или находится ли задача в «нормальном» режиме или в режиме «восстановления после ошибок».

    • Может использоваться как «именованная константа» — в AWE константа определяется на системном уровне.Однако бывают ситуации, когда значение предназначено для сохранения в течение всего времени существования задачи, независимо от функции или внешней задачи, но не продиктовано конфигурацией системы. Это можно сделать с помощью переменной задачи, при желании с установленной опцией только для чтения.

    • Обеспечивает согласованный и предсказуемый доступ к внешним задачам. Когда внешняя задача вызывается, например, с помощью действия «Начать задачу», общедоступные переменные «Переменные задачи» обеих задач объединяются и становятся доступными для обеих задач.Это позволяет создавать, например, служебные задачи, которые используют общие данные (такие как название компании, номер версии и т. Д.). Для получения дополнительных сведений см. Раздел «Внешние задачи».

    • Разрешает защиту информации и контролирует доступ для внешних задач — это может быть выполнено с помощью параметров доступности переменной задачи. Они контролируют, какие переменные задачи будут объединены в родительскую задачу или доступны через объект задачи.

    ПРИМЕЧАНИЕ. Переменные задачи отличаются от локальных переменных, которые создаются с помощью действия «Создать переменную».

    Создание переменных задач и управление ими

    Переменные задачи создаются и отображаются на отдельной панели, расположенной на панели шагов.

    Для создания новой переменной задачи:

    1. На панели «Шаги» щелкните значок, чтобы открыть таблицу «Функции / переменные задачи».

    2. Это расширяет панель, где вы можете установить определенные параметры.

    3. Щелкните Добавить. Откроется диалоговое окно «Переменная задачи».

    4. Укажите имя переменной, тип переменной, значение типа доступа и дополнительное описание, затем нажмите OK.

    5. Щелкните значок новой переменной, чтобы свернуть панель.

    Для редактирования существующей переменной задачи:

    1. На панели «Шаги» откройте таблицу «Функции / переменные задачи».

    2. Выберите переменную, которую нужно отредактировать, и нажмите «Изменить».

    3. Внесите желаемые изменения и, когда закончите, нажмите OK.Отраженные изменения отображаются на главной панели.

    Чтобы удалить существующую переменную задачи:

    1. На панели «Шаги» откройте таблицу «Функции / переменные задачи».

    2. Выберите переменную, которую вы хотите удалить, и нажмите «Удалить».

    В следующей таблице описаны параметры, доступные при создании / изменении переменной задачи.

    Объект

    Тип

    Описание

    Имя переменной

    Текст

    Имя создаваемой переменной задачи.

    Тип переменной

    Текст (параметры)

    Тип создаваемой переменной задачи. Доступные варианты:

    Тип доступа

    Текст (опции

    Тип доступа к переменной задачи. Доступные варианты:

    Значение

    Текст

    Значение переменной задачи.

    Описание

    Текст

    Необязательное описание переменной задачи.

    См. Также

    Переменные

    Наборы данных

    Массивы

    Выражения

    Создать переменное действие

    Использование переменных — Документация Ansible

    Словарь хранит данные в виде пар ключ-значение. Обычно словари используются для хранения связанных данных, таких как информация, содержащаяся в идентификаторе или профиле пользователя.

    Ссылочный ключ: переменные словаря значений

    Когда вы используете переменные, определенные как словарь ключ: значение (также называемый хешем), вы можете использовать отдельные, определенные поля из этого словаря, используя либо скобочную, либо точечную нотацию:

    Оба этих примера ссылаются на одно и то же значение («один»). Обозначение скобок всегда работает. Точечная нотация может вызвать проблемы, поскольку некоторые ключи конфликтуют с атрибутами и методами словарей Python. Используйте скобки, если вы используете ключи, которые начинаются и заканчиваются двумя символами подчеркивания (которые зарезервированы для специальных значений в python) или являются одним из известных общедоступных атрибутов:

    добавить , добавить , as_integer_ratio , bit_length , увеличить , центр , прозрачный , сопрягать , копировать , декодировать, декодировать разность , разница_обновление , сбросить , кодировать , заканчивается с , расширять вкладки , расширять , найти , формат , изhex , из ключа , шестнадцатеричный , image , индекс , вставить , пересечение , correction_update , isalnum , isalpha , isdecimal , isdigit isdigit isdigit , isdigit islower , isnumeric , isspace , issubset , issueperset , istitle , isupper , items , iteritems , iterkeys , itervalues ​​, join , keys , ljust , нижний перегородка , pop , popitem , real , remove , replace , reverse , rfind , rindex , rjust , rpartition rpartition , setdefault , sort , split , splitlines , startwith , strip , swapcase , symric_difference , simric_difference_update обновление , верхнее значение , , элементы просмотра , клавиши просмотра , v iewvalues ​​, zfill .

    Переменная задача

    Переменная задача

    Глава 8. Переменная задача

    Задача Variable предоставляет Ant изменяемое свойство и работает так же, как назначение переменных в Java. Эта задача аналогична стандартной задаче свойств Ant, за исключением того, что ЭТИ СВОЙСТВА МОГУТ ИЗМЕНЯТЬСЯ. Хотя это противоречит стандартному использованию свойств Ant, иногда бывает полезно иметь возможность изменить значение свойства в сборке. В общем, использование этой задачи НЕОБХОДИМО, и, если возможно, следует использовать стандартное свойство Ant. Сказав это, в реальной жизни я часто этим пользуюсь.

    Переменные можно задавать индивидуально или загружать из стандартного файла свойств. «Особенностью» переменных является то, что они могут переопределять свойства, но свойства не могут переопределять переменные. Таким образом, если уже существует установленное свойство, его значение можно переназначить с помощью этой задачи.

    Таблица 8.1. Атрибуты переменной задачи

    Атрибут Описание По умолчанию Требуется
    название Имя устанавливаемого свойства. Нет Да, если не используется «файл».
    значение Стоимость собственности. «» Нет
    отключено Удаляет свойство из проекта, как если бы оно никогда не устанавливалось. ложный Нет
    файл Имя стандартного файла свойств, из которого загружаются переменные. Нет Нет

    В следующем примере свойство Икс сначала устанавливается на "6", затем оценивается если , и переназначил значение «12».В эхо задание будет распечатано 12.

    
    
        
        
            <равно arg1 = "$ {x}" arg2 = "6" />
            <затем>
                
            
        
         $ {x}  
    
     

    В следующем примере показано, как свойство устанавливается, отображается эхом, сбрасывается, а затем сбрасывается:

    
    
        
         $ {x}  
        
        
         $ {x}  
    
    
     

    Ниже показано еще несколько вариантов использования задачи «Переменная».Это особенно удобно при добавлении свойств. Обратите внимание на пару вещей: задача свойства не может переопределить значение var, в общем, вы должны использовать var с атрибутом unset, чтобы изменить значение свойства.

    
    
        
         x = $ {x}  
    
        
         x = $ {x}  
    
        
         x = $ {x}  
    
        
        
        
        
         $ {str}  
    
        
         x = $ {x}  
    
        
         x = $ {x}  
    
        
        
            
        
         Сегодня $ {x}.  
    
        
        
            
        
         Сегодня $ {x}.  
    
    
     

    Авторские права © 2003-2004 Ant-Contrib Project. Все права защищены.

    Определение переменных - Azure Pipelines

    • 39 минут для чтения

    В этой статье

    Примечание

    В Microsoft Team Foundation Server (TFS) 2018 и предыдущих версиях конвейеры сборки и выпуска называются определениями , пробега называются сборками , сервисных соединения называются сервисными конечными точками , ступени называются средами , и вакансии называются фазами .

    Переменные предоставляют удобный способ передачи ключевых битов данных в различные части конвейера. Чаще всего переменные используются для определения значения, которое затем можно использовать в конвейере. Все переменные хранятся в виде строк и могут изменяться. Значение переменной может изменяться от запуска к запуску или от задания к заданию вашего конвейера.

    Когда вы определяете одну и ту же переменную в нескольких местах с одним и тем же именем, выигрывает переменная с наиболее локальной областью действия. Таким образом, переменная, определенная на уровне задания, может иметь приоритет над переменной, установленной на уровне стадии.Переменная, определенная на уровне стадии, переопределит переменную, установленную на корневом уровне конвейера. Переменная, установленная на корневом уровне конвейера, переопределит переменную, установленную в пользовательском интерфейсе настроек конвейера.

    Вы можете использовать переменные с выражениями для условного присвоения значений и дальнейшей настройки конвейеров.

    Переменные отличаются от параметров среды выполнения, которые вводятся и доступны во время синтаксического анализа шаблона.

    Пользовательские переменные

    Когда вы определяете переменную, вы можете использовать разные синтаксисы (макрос, выражение шаблона или среда выполнения), и какой синтаксис будет определять, где в конвейере будет отображаться ваша переменная.

    В конвейерах YAML вы можете устанавливать переменные на уровне корня, стадии и задания. Вы также можете указать переменные вне конвейера YAML в пользовательском интерфейсе. Когда вы устанавливаете переменную в пользовательском интерфейсе, эту переменную можно зашифровать и установить как секретную. Секретные переменные не дешифруются автоматически в конвейерах YAML и должны быть переданы в ваш файл YAML с env: или переменной на корневом уровне.

    Пользовательские переменные могут быть доступны только для чтения. Существуют ограничения на именование переменных (пример: вы не можете использовать секрет в начале имени переменной).

    Вы можете использовать группу переменных, чтобы сделать переменные доступными в нескольких конвейерах.

    Вы можете использовать шаблоны для определения переменных, которые используются в нескольких конвейерах в одном файле.

    Системные переменные

    Помимо пользовательских переменных, в Azure Pipelines есть системные переменные с предопределенными значениями. Если вы используете YAML или классические конвейеры сборки, см. Предопределенные переменные для получения полного списка системных переменных. Если вы используете классические конвейеры выпуска, см. Переменные выпуска.

    Системным переменным устанавливается их текущее значение при запуске конвейера. Некоторые переменные устанавливаются автоматически. Как автор конвейера или конечный пользователь вы изменяете значение системной переменной перед запуском конвейера.

    Системные переменные доступны только для чтения.

    Переменные среды

    Переменные среды зависят от используемой вами операционной системы. Они вводятся в конвейер способами, зависящими от платформы. Формат соответствует тому, как переменные среды форматируются для вашей конкретной платформы сценариев.

    В системах UNIX (macOS и Linux) переменные среды имеют формат $ NAME . В Windows формат % NAME% для пакета и $ env: NAME в PowerShell.

    Системные и пользовательские переменные также вводятся как переменные среды для вашей платформы. Когда переменные превращаются в переменные среды, имена переменных становятся заглавными, а точки превращаются в символы подчеркивания. Например, имя переменной any.variable становится именем переменной $ ANY_VARIABLE .

    Ограничения на именование переменных

    Пользовательские переменные могут состоять из букв, цифр, . и _ символов. Не используйте префиксы переменных, зарезервированные системой. Это: конечная точка , вход , секрет и securefile . Любая переменная, которая начинается с одной из этих строк (независимо от заглавных букв), не будет доступна для ваших задач и скриптов.

    Общие сведения о синтаксисе переменных

    Azure Pipelines поддерживает три различных способа ссылки на переменные: макрос, выражение шаблона и выражение времени выполнения.Каждый синтаксис может использоваться для разных целей и имеет некоторые ограничения.

    В конвейере переменные выражения шаблона ( $ {{variables.var}} ) обрабатываются во время компиляции перед запуском среды выполнения. Переменные синтаксиса макросов ( $ (var) ) обрабатываются во время выполнения перед запуском задачи. Выражения времени выполнения ( $ [variables.var] ) также обрабатываются во время выполнения, но были разработаны для использования с условиями и выражениями. Когда вы используете выражение среды выполнения, оно должно занимать всю правую часть определения.

    В этом примере вы можете видеть, что выражение шаблона все еще имеет начальное значение переменной после обновления переменной. Значение переменной синтаксиса макроса обновляется. Значение выражения шаблона не изменяется, поскольку все переменные выражения шаблона обрабатываются во время компиляции перед запуском задач. Напротив, переменные синтаксиса макроса оцениваются перед запуском каждой задачи.

      переменные:
    - имя: один
      значение: initialValue
    
    шаги:
      - сценарий: |
          echo $ {{переменные.one}} # выводит initialValue
          эхо $ (один)
        displayName: Первый проход переменной
      - bash: echo '## vso [task.setvariable variable = one] secondValue'
        displayName: установить новое значение переменной
      - сценарий: |
          echo $ {{variables.one}} # выводит initialValue
          echo $ (one) # выводит второе значение
        displayName: Второй проход переменной
      

    Макро-синтаксические переменные

    В большинстве примеров документации используется синтаксис макросов ( $ (var) ). Макросинтаксис предназначен для интерполяции значений переменных во входные данные задачи и в другие переменные.

    Переменные с синтаксисом макросов обрабатываются перед выполнением задачи во время выполнения. Время выполнения происходит после расширения шаблона. Когда система встречает макрос-выражение, она заменяет его содержимым переменной. Если переменной с таким именем нет, то выражение макроса остается без изменений. Например, если $ (var) нельзя заменить, $ (var) ничем не будет заменен.

    Переменные синтаксиса макроса остаются неизменными без значения, потому что пустое значение, такое как $ () , может что-то значить для задачи, которую вы выполняете, и агент не должен предполагать, что вы хотите заменить это значение.Например, если вы используете $ (foo) для ссылки на переменную foo в задаче Bash, замена всех выражений $ () во входных данных для задачи может нарушить ваши сценарии Bash.

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

    Примечание

    Переменные раскрываются только для этапов , заданий и шагов . Вы не можете, например, использовать синтаксис макроса внутри ресурса или триггера .

    В этом примере синтаксис макросов используется с Bash, PowerShell и задачей сценария. Синтаксис вызова переменной с макросинтаксисом одинаков для всех трех.

      переменные:
     - имя: projectName
       значение: contoso
    
    шаги:
    - bash: echo $ (имя проекта)
    - PowerShell: echo $ (имя проекта)
    - скрипт: echo $ (имя_проекта)
      

    Синтаксис выражения шаблона

    Вы можете использовать синтаксис выражения шаблона, чтобы раскрыть как параметры шаблона, так и переменные ( $ {{variables.var}} ). Переменные шаблона обрабатываются во время компиляции и заменяются перед запуском среды выполнения. Выражения шаблонов предназначены для повторного использования частей YAML в качестве шаблонов.

    Переменные шаблона незаметно объединяются в пустые строки, если значение для замены не найдено. Выражения шаблона, в отличие от выражений макросов и времени выполнения, могут отображаться как ключи (левая сторона) или значения (правая сторона). Допустимо следующее: $ {{variables.key}}: $ {{variables.value}} .

    Синтаксис выражения среды выполнения

    Вы можете использовать синтаксис выражения среды выполнения для переменных, которые раскрываются во время выполнения ( $ [переменные.var] ). Если значение для замены не найдено, переменные выражения времени выполнения незаметно объединяются в пустые строки. Выражения времени выполнения предназначены для использования в условиях заданий, для поддержки условного выполнения заданий или целых этапов.

    Переменные выражения времени выполнения раскрываются только тогда, когда они используются для значения, а не в качестве ключевого слова. Значения отображаются справа от определения конвейера. Допустимо следующее: ключ: $ [variables.value] . Следующее недопустимо: $ [переменные.ключ]: значение . Выражение среды выполнения должно занимать всю правую часть пары "ключ-значение". Например, ключ : $ [variables.value] действителен, а ключ : $ [variables.value] foo - нет.

    Значение Значение
    Синтаксис Пример Когда обрабатывается? Где он расширяется в определении трубопровода? Как он отображается, если не найден?
    макрос $ (вар) время выполнения перед выполнением задачи (правая сторона) распечаток $ (вар)
    шаблонное выражение $ {{переменные.var}} время компиляции ключ или значение (левая или правая сторона) пустая строка
    выражение времени выполнения $ [переменная.вар] время выполнения (правая сторона) пустая строка

    Какой синтаксис использовать?

    Используйте синтаксис макроса, если вы вводите данные для задачи.

    Выберите выражение времени выполнения, если вы работаете с условиями и выражениями.Исключение составляют случаи, когда у вас есть конвейер, из-за которого возникает проблема с распечаткой вашей пустой переменной. Например, если у вас есть условная логика, которая полагается на переменную, имеющую определенное значение или не имеющую значения. В этом случае вы должны использовать выражение времени выполнения.

    Если вы определяете переменную в шаблоне, используйте выражение шаблона.

    Установить переменные в трубопроводе

    В наиболее частом случае вы устанавливаете переменные и используете их в файле YAML. Это позволяет вам отслеживать изменения переменной в вашей системе контроля версий.Вы также можете определить переменные в пользовательском интерфейсе настроек конвейера (см. Вкладку Classic) и ссылаться на них в своем YAML.

    Вот пример, который показывает, как установить две переменные, конфигурацию и платформу , и использовать их позже по шагам. Чтобы использовать переменную в инструкции YAML, оберните ее в $ () . Переменные нельзя использовать для определения репозитория в инструкции YAML.

      # Установить переменные один раз
    переменные:
      конфигурация: отладка
      платформа: x64
    
    шаги:
    
    # Используйте их один раз
    - задача: MSBuild @ 1
      входы:
        решение: решение1.sln
        конфигурация: $ (конфигурация) # Использовать переменную
        платформа: $ (платформа)
    
    # Используйте их снова
    - задача: MSBuild @ 1
      входы:
        решение: solution2.sln
        конфигурация: $ (конфигурация) # Использовать переменную
        платформа: $ (платформа)
      

    Прицелы с переменным диапазоном

    В файле YAML вы можете установить переменную в различных областях:

    • На корневом уровне, чтобы сделать его доступным для всех заданий в конвейере.
    • На уровне этапа, чтобы сделать его доступным только для определенного этапа.
    • На уровне задания, чтобы сделать его доступным только для определенной работы.

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

    Переменные на уровне задания переопределяют переменные на корневом уровне и на уровне стадии. Переменные на уровне стадии переопределяют переменные на корневом уровне.

      переменные:
      global_variable: value # это доступно для всех вакансий
    
    вакансии:
    - работа: работа1
      бассейн:
        vmImage: 'ubuntu-последний'
      переменные:
        job_variable1: value1 # это доступно только в job1
      шаги:
      - bash: echo $ (глобальная_переменная)
      - bash: echo $ (job_variable1)
      - bash: echo $ JOB_VARIABLE1 # переменные также доступны в среде скрипта
    
    - работа: работа2
      бассейн:
        vmImage: 'ubuntu-последний'
      переменные:
        job_variable2: value2 # это доступно только в job2
      шаги:
      - bash: echo $ (глобальная_переменная)
      - bash: echo $ (job_variable2)
      - bash: echo $ GLOBAL_VARIABLE
      

    Результат обоих заданий выглядит следующим образом:

      # job1
    стоимость
    значение1
    значение1
    
    # job2
    стоимость
    значение2
    стоимость
      

    Задайте переменные

    В предыдущих примерах за ключевым словом variables следует список пар "ключ-значение".Ключи - это имена переменных, а значения - это значения переменных.

    Есть еще один синтаксис, полезный, когда вы хотите использовать шаблоны переменных или группы переменных. Этот синтаксис следует использовать на корневом уровне конвейера.

    В этом альтернативном синтаксисе ключевое слово variables принимает список спецификаторов переменных. Спецификаторами переменных являются имя для обычной переменной, группа для группы переменных и шаблон для включения шаблона переменной.Следующий пример демонстрирует все три.

      переменные:
    # обычная переменная
    - имя: myvariable
      значение: myvalue
    # группа переменных
    - группа: myvariablegroup
    # ссылка на шаблон переменной
    - шаблон: myvariabletemplate.yml
      

    Подробнее о повторном использовании переменных с шаблонами.

    Доступ к переменным через среду

    Обратите внимание, что переменные также становятся доступными для сценариев через переменные среды. Синтаксис использования этих переменных среды зависит от языка сценариев.

    Имя в верхнем регистре, а . заменяется на _ . Это автоматически вставляется в среду процесса. Вот несколько примеров:

    • Пакетный сценарий: % VARIABLE_NAME%
    • Сценарий PowerShell: $ env: VARIABLE_NAME
    • Bash-скрипт: $ VARIABLE_NAME

    Важно

    Предопределенные переменные, содержащие пути к файлам, преобразуются в соответствующий стиль (стиль Windows C: \ foo \ вместо стиля Unix / foo /) в зависимости от типа хоста агента и типа оболочки.Если вы выполняете задачи сценария bash в Windows, вы должны использовать метод переменной среды для доступа к этим переменным, а не метод переменной конвейера, чтобы убедиться, что у вас есть правильный стиль пути к файлу.

    YAML не поддерживается в TFS.

    Вы можете установить переменную для конвейера сборки, выполнив следующие действия:

    1. Перейдите на страницу Трубопроводы , выберите соответствующий трубопровод, а затем выберите Изменить .
    2. Найдите переменные для этого конвейера.
    3. Добавьте или обновите переменную.
    4. Чтобы пометить переменную как секретную, выберите Сохранить это значение в секрете .
    5. Сохраните конвейер.

    После того, как переменная установлена, вы можете использовать ее в качестве входных данных для задачи или в сценариях в вашем конвейере. Чтобы использовать переменную в качестве входных данных для задачи, оберните ее в $ () .

    Обратите внимание, что переменные также становятся доступными для сценариев через переменные среды. Синтаксис использования этих переменных среды зависит от языка сценариев.

    Имя в верхнем регистре, а . заменяется на _ . Это автоматически вставляется в среду процесса. Вот несколько примеров:

    • Пакетный сценарий: % VARIABLE_NAME%
    • Сценарий PowerShell: $ env: VARIABLE_NAME
    • Bash-скрипт: $ VARIABLE_NAME

    Важно

    Предопределенные переменные, содержащие пути к файлам, преобразуются в соответствующий стиль (стиль Windows C: \ foo \ вместо стиля Unix / foo /) в зависимости от типа хоста агента и типа оболочки.Если вы выполняете задачи сценария bash в Windows, вы должны использовать метод переменной среды для доступа к этим переменным, а не метод переменной конвейера, чтобы убедиться, что у вас есть правильный стиль пути к файлу.

    Используя Azure DevOps CLI, вы можете создавать и обновлять переменные для конвейерных запусков в вашем проекте. Вы также можете удалить переменные, если они вам больше не нужны.

    Создать переменную | Обновить переменную | Удалить переменную

    Предварительные требования

    • У вас должно быть установлено расширение интерфейса командной строки Azure DevOps, как описано в разделе Начало работы с интерфейсом командной строки Azure DevOps.
    • Войдите в Azure DevOps, используя az, логин .
    • Для примеров в этой статье задайте организацию по умолчанию, используя az DevOps configure --defaults organization = YourOrganizationURL .

    Создать переменную

    Вы можете создавать переменные в конвейере с помощью команды создания переменной az pipelines. Чтобы начать работу, см. Раздел Начало работы с Azure DevOps CLI.

      az конвейеры переменная создать - имя
                                 [--allow-override {ложь, истина}]
                                 [--org]
                                 [--pipeline-id]
                                 [--pipeline-name]
                                 [--проект]
                                 [--secret {ложь, истина}]
                                 [--стоимость]
      
    Параметры
    • имя : Обязательно.Имя переменной.
    • разрешение-переопределение : необязательно. Указывает, можно ли установить значение во время ожидания. Допустимые значения: ложно и истинно .
    • org : URL-адрес организации Azure DevOps. Вы можете настроить организацию по умолчанию, используя az DevOps configure -d organization = ORG_URL . Требуется, если не настроен по умолчанию или получен с помощью git config . Пример: --org https://dev.azure.com/MyOrganizationName/ .
    • pipeline-id : Требуется, если pipeline-name не указан. ID трубопровода.
    • имя-конвейера : Требуется, если идентификатор конвейера не указан, но игнорируется, если предоставляется идентификатор конвейера . Название трубопровода.
    • проект : Имя или идентификатор проекта. Вы можете настроить проект по умолчанию, используя az DevOps configure -d project = NAME_OR_ID . Требуется, если не настроен по умолчанию или получен с помощью git config .
    • секрет : Необязательно. Указывает, является ли значение переменной секретом. Допустимые значения: ложно и истинно .
    • значение : требуется для несекретной переменной. Значение переменной. Для секретных переменных, если параметр value не указан, он выбирается из переменной среды с префиксом AZURE_DEVOPS_EXT_PIPELINE_VAR_ или пользователю предлагается ввести его через стандартный ввод. Например, переменную с именем MySecret можно ввести с помощью переменной среды AZURE_DEVOPS_EXT_PIPELINE_VAR_MySecret .
    Пример

    Следующая команда создает переменную в MyFirstProject с именем Configuration со значением платформа в конвейере с идентификатором 12 . Он показывает результат в виде таблицы.

      az pipelines variable create --name Configuration --pipeline-id 12 --value platform --project MyFirstProject --output table
    
    Имя Разрешить переопределение - секретное значение
    ---------- ---------------- ----------- --------
    Конфигурация False False platform
      

    Обновить переменную

    Вы можете обновить переменные в конвейере с помощью команды обновления переменных az pipelines.Чтобы начать работу, см. Раздел Начало работы с Azure DevOps CLI.

      az обновление переменной конвейеров - имя
                                 [--allow-override {ложь, истина}]
                                 [--новое имя]
                                 [--org]
                                 [--pipeline-id]
                                 [--pipeline-name]
                                 [--проект]
                                 [--prompt-value {ложь, истина}]
                                 [--secret {ложь, истина}]
                                 [--стоимость]
      
    Параметры
    • имя : Обязательно.Оригинальное имя переменной.
    • разрешение-переопределение : необязательно. Указывает, можно ли установить значение во время ожидания. Допустимые значения: ложно и истинно .
    • new-name : Необязательно. Укажите, чтобы изменить имя переменной.
    • org : URL-адрес организации Azure DevOps. Вы можете настроить организацию по умолчанию, используя az DevOps configure -d organization = ORG_URL . Требуется, если не настроен по умолчанию или получен с помощью git config .Пример: --org https://dev.azure.com/MyOrganizationName/ .
    • pipeline-id : Требуется, если pipeline-name не указан. ID трубопровода.
    • имя-конвейера : Требуется, если идентификатор конвейера не указан, но игнорируется, если предоставляется идентификатор конвейера . Название трубопровода.
    • проект : Имя или идентификатор проекта. Вы можете настроить проект по умолчанию, используя az DevOps configure -d project = NAME_OR_ID .Требуется, если не настроен по умолчанию или получен с помощью git config .
    • значение подсказки : Установите значение истина , чтобы обновить значение секретной переменной с помощью переменной среды или подсказки через стандартный ввод. Допустимые значения: ложно и истинно .
    • секрет : указывает, является ли значение переменной секретом. Допустимые значения: ложно и истинно .
    • значение : обновляет значение переменной.Для секретных переменных используйте параметр prompt-value , чтобы получить приглашение ввести его через стандартный ввод. Для неинтерактивных консолей его можно выбрать из переменной среды с префиксом AZURE_DEVOPS_EXT_PIPELINE_VAR_ . Например, переменную с именем MySecret можно ввести с помощью переменной среды AZURE_DEVOPS_EXT_PIPELINE_VAR_MySecret .
    Пример

    Следующая команда обновляет переменную Configuration новым значением config.отладка в конвейере с ID 12 . Он указывает, что переменная не является секретом , и показывает результат в формате таблицы.

      az pipelines variable update --name Configuration --pipeline-id 12 --secret false --value config.debug --output table
    
    Имя Разрешить переопределение - секретное значение
    ------------- ---------------- ----------- ---------- -
    Конфигурация Ложь Ложь config.debug
      

    Удалить переменную

    Вы можете удалить переменные в конвейере с помощью команды удаления переменной az pipelines.Чтобы начать работу, см. Раздел Начало работы с Azure DevOps CLI.

      az удаление переменной конвейера - имя
                                 [--org]
                                 [--pipeline-id]
                                 [--pipeline-name]
                                 [--проект]
                                 [--да]
      
    Параметры
    • имя : Обязательно. Имя переменной, которую вы хотите удалить.
    • org : URL-адрес организации Azure DevOps.Вы можете настроить организацию по умолчанию, используя az DevOps configure -d organization = ORG_URL . Требуется, если не настроен по умолчанию или получен с помощью git config . Пример: --org https://dev.azure.com/MyOrganizationName/ .
    • pipeline-id : Требуется, если pipeline-name не указан. ID трубопровода.
    • имя-конвейера : Требуется, если идентификатор конвейера не указан, но игнорируется, если предоставляется идентификатор конвейера .Название трубопровода.
    • проект : Имя или идентификатор проекта. Вы можете настроить проект по умолчанию, используя az DevOps configure -d project = NAME_OR_ID . Требуется, если не настроен по умолчанию или получен с помощью git config .
    • да : Необязательно. Не запрашивает подтверждения.
    Пример

    Следующая команда удаляет переменную Configuration из конвейера с идентификатором 12 и не запрашивает подтверждения.

      az pipelines variable delete --name Configuration --pipeline-id 12 --yes
    
    Переменная "Конфигурация" успешно удалена.
      

    Команды интерфейса командной строки Azure DevOps не поддерживаются для Azure DevOps Server 2019 и более ранних версий.

    Установить секретные переменные

    Не устанавливайте секретные переменные в вашем YAML-файле. Операционные системы часто регистрируют команды для процессов, которые они запускают, и вы не хотите, чтобы журнал включал секрет, который вы передали в качестве входных данных.Используйте среду сценария или сопоставьте переменную в блоке переменных , чтобы передать секреты в конвейер.

    Вам необходимо установить секретные переменные в пользовательском интерфейсе настроек конвейера для вашего конвейера. Эти переменные привязаны к конвейеру, в котором вы их устанавливаете. Вы также можете установить секретные переменные в группах переменных.

    Чтобы установить секреты в веб-интерфейсе, выполните следующие действия:

    1. Перейдите на страницу Трубопроводы , выберите соответствующий трубопровод, а затем выберите Изменить .
    2. Найдите переменные для этого конвейера.
    3. Добавьте или обновите переменную.
    4. Выберите значок замка, чтобы сохранить переменную в зашифрованном виде.
    5. Сохраните конвейер.

    Секретные переменные зашифрованы в состоянии покоя с помощью 2048-битного ключа RSA. В агенте доступны секреты для задач и сценариев. Будьте осторожны с тем, у кого есть доступ для изменения вашего конвейера.

    Важно

    Мы стараемся скрыть секреты от появления в выходных данных Azure Pipelines, но вам все равно необходимо принять меры предосторожности.Никогда не выдавайте секреты на выходе. Некоторые операционные системы регистрируют аргументы командной строки. Никогда не передавайте секреты в командной строке. Вместо этого мы предлагаем вам сопоставить свои секреты с переменными среды.

    Мы никогда не маскируем подстроки секретов. Если, например, «abc123» установлен как секретный, «abc» не маскируется из журналов. Это сделано для того, чтобы избежать маскировки секретов на слишком детальном уровне, что сделает журналы нечитаемыми. По этой причине секреты не должны содержать структурированных данных. Если, например, "{" foo ":" bar "}" задано как секретное, "bar" не маскируется из журналов.

    В отличие от обычных переменных, они не расшифровываются автоматически в переменные среды для сценариев. Вам необходимо явно сопоставить секретные переменные.

    В следующем примере показано, как использовать секретную переменную с именем mySecret в сценариях PowerShell и Bash. В отличие от обычной переменной конвейера, нет переменной среды с именем MYSECRET .

      переменные:
     GLOBAL_MYSECRET: $ (mySecret) # это не сработает, потому что секретная переменная должна быть отображена как env
     GLOBAL_MY_MAPPED_ENV_VAR: $ (nonSecretVariable) # это работает, потому что это не секрет.шаги:
    
    - PowerShell: |
        Write-Host "Использование макроса ввода работает: $ (mySecret)"
        Write-Host «Использование env var напрямую не работает: $ env: MYSECRET»
        Write-Host «Использование глобальной секретной переменной, отображаемой в конвейере, тоже не работает: $ env: GLOBAL_MYSECRET»
        Write-Host «Использование глобальной несекретной переменной, отображаемой в конвейере, работает: $ env: GLOBAL_MY_MAPPED_ENV_VAR»
        Write-Host «Использование сопоставленной переменной env для этой задачи работает и рекомендуется: $ env: MY_MAPPED_ENV_VAR»
      env:
        MY_MAPPED_ENV_VAR: $ (mySecret) # рекомендуемый способ сопоставления с переменной env
    
    - баш: |
        echo "Использование макроса ввода работает: $ (mySecret)"
        echo "Использование env var напрямую не работает: $ MYSECRET"
        echo "Использование глобальной секретной переменной, отображаемой в конвейере, тоже не работает: $ GLOBAL_MYSECRET"
        echo "Использование глобальной несекретной переменной, отображаемой в конвейере, работает: $ GLOBAL_MY_MAPPED_ENV_VAR"
        echo "Использование сопоставленной переменной env для этой задачи работает и рекомендуется: $ MY_MAPPED_ENV_VAR"
      env:
        MY_MAPPED_ENV_VAR: $ (mySecret) # рекомендуемый способ сопоставления с переменной env
    
    
      

    Результат выполнения обеих задач в предыдущем сценарии будет выглядеть следующим образом:

      Использование макроса ввода работает: ***
    Использование env var напрямую не работает:
    Использование глобальной секретной переменной, отображаемой в конвейере, также не работает:
    Использование глобальной несекретной переменной, отображаемой в конвейере, работает: foo
    Использование сопоставленной переменной env для этой задачи работает и рекомендуется: ***
      

    Вы также можете использовать секретные переменные вне скриптов.Например, вы можете сопоставить секретные переменные с задачами, используя определение переменных . В этом примере показано, как использовать секретные переменные $ (vmsUser) и $ (vmsAdminPass) в задаче копирования файлов Azure.

      переменные:
      VMS_USER: $ (vmsUser)
      VMS_PASS: $ (vmsAdminPass)
    
    бассейн:
      vmImage: 'ubuntu-последний'
    
    шаги:
    - задача: AzureFileCopy @ 4
      входы:
        SourcePath: 'мой / путь'
        azureSubscription: 'моя подписка'
        Назначение: AzureVM
        хранилище: "мое хранилище"
        resourceGroup: 'my-rg'
        vmsAdminUserName: $ (VMS_USER)
        vmsAdminPassword: $ (VMS_PASS)
      

    Ссылка на секретные переменные в группах переменных

    В этом примере показано, как ссылаться на группу переменных в вашем YAML-файле, а также как добавлять переменные в YAML.В группе переменных используются две переменные: пользовательский и токен . Переменная токена является секретной и отображается в переменную среды $ env: MY_MAPPED_TOKEN , чтобы на нее можно было ссылаться в YAML.

    Этот YAML выполняет вызов REST для получения списка выпусков и выводит результат.

      переменные:
    - group: 'my-var-group' # группа переменных
    - name: 'DevOpsAccount' # новая переменная, определенная в YAML
      значение: 'contoso'
    - name: 'projectName' # новая переменная, определенная в YAML
      значение: 'contosoads'
    
    шаги:
    - задача: PowerShell @ 2
      входы:
        targetType: 'встроенный'
        сценарий: |
            # Кодировать токен персонального доступа (PAT)
            # $ env: USER - обычная переменная в группе переменных.
            # $ env: MY_MAPPED_TOKEN - это отображаемая секретная переменная
            $ base64AuthInfo = [Преобразовать] :: ToBase64String ([Text.Кодировка] :: ASCII.GetBytes (("{0}: {1}" -f $ env: USER, $ env: MY_MAPPED_TOKEN)))
    
            # Получить список релизов
            $ uri = "https://vsrm.dev.azure.com/$(devopsAccount)/$(projectName)/_apis/release/releases?api-version=5.1"
    
            # Вызвать вызов REST
            $ result = Invoke-RestMethod -Uri $ uri -Method Get -ContentType "application / json" -Headers @ {Authorization = ("Basic {0}" -f $ base64AuthInfo)}
    
            # Вывод релизов в JSON
            Write-Host $ result.value
      env:
        MY_MAPPED_TOKEN: $ (token) # Сопоставляет секретную переменную $ (token) из my-var-group
    
      

    Важно

    По умолчанию в репозиториях GitHub секретные переменные, связанные с вашим конвейером, не доступны для сборок запросов на вытягивание для форков.Для получения дополнительной информации см. Вклады вилок.

    YAML не поддерживается в TFS.

    Чтобы установить секреты в веб-интерфейсе, выполните следующие действия:

    1. Перейдите на страницу Трубопроводы , выберите соответствующий трубопровод, а затем выберите Изменить .
    2. Найдите переменные для этого конвейера.
    3. Добавьте или обновите переменную.
    4. Выберите значок замка, чтобы сохранить переменную в зашифрованном виде.
    5. Сохраните конвейер.

    Секретные переменные зашифрованы в состоянии покоя с помощью 2048-битного ключа RSA. В агенте доступны секреты для задач и сценариев. Будьте осторожны с тем, у кого есть доступ для изменения вашего конвейера.

    Важно

    Мы стараемся скрыть секреты от появления в выходных данных Azure Pipelines, но вам все равно необходимо принять меры предосторожности. Никогда не выдавайте секреты на выходе. Некоторые операционные системы регистрируют аргументы командной строки. Никогда не передавайте секреты в командной строке. Вместо этого мы предлагаем вам сопоставить свои секреты с переменными среды.

    Мы никогда не маскируем подстроки секретов. Если, например, «abc123» установлен как секретный, «abc» не маскируется из журналов. Это сделано для того, чтобы избежать маскировки секретов на слишком детальном уровне, что сделает журналы нечитаемыми. По этой причине секреты не должны содержать структурированных данных. Если, например, "{" foo ":" bar "}" задано как секретное, "bar" не маскируется из журналов.

    В отличие от обычных переменных, они не расшифровываются автоматически в переменные среды для сценариев. Вам необходимо явно сопоставить секретные переменные.

    Каждая задача, которой необходимо использовать секрет в качестве переменной среды, выполняет переназначение. Если вы хотите использовать секретную переменную с именем mySecret из сценария, используйте раздел Environment входных переменных задачи сценария. Установите имя переменной среды на MYSECRET и установите значение на $ (mySecret) .

    Важно

    По умолчанию в репозиториях GitHub секретные переменные, связанные с вашим конвейером, не доступны для сборок запросов на вытягивание для форков.Для получения дополнительной информации см. Вклады вилок.

    Команды интерфейса командной строки Azure DevOps не поддерживаются для Azure DevOps Server 2019 и более ранних версий.

    Совместное использование переменных по конвейерам

    Для совместного использования переменных в нескольких конвейерах в вашем проекте используйте веб-интерфейс. В Библиотека используйте группы переменных.

    Использовать выходные переменные из задач

    Некоторые задачи определяют выходные переменные, которые можно использовать в последующих этапах, заданиях и этапах.В YAML вы можете получить доступ к переменным для разных заданий и этапов, используя зависимости.

    Некоторые задачи определяют выходные переменные, которые вы можете использовать в последующих шагах и заданиях на одном и том же этапе. В YAML вы можете получить доступ к переменным в разных заданиях, используя зависимости.

    Некоторые задачи определяют выходные переменные, которые можно использовать на последующих этапах в рамках одного и того же задания.

    Примечание

    По умолчанию каждый этап конвейера зависит от этапа непосредственно перед ним в файле YAML.Если вам нужно обратиться к этапу, который не находится непосредственно перед текущим, вы можете переопределить это автоматическое значение по умолчанию, добавив к этапу раздел playsOn .

    Примечание

    В следующих примерах используется стандартный синтаксис конвейера. Если вы используете конвейеры развертывания, синтаксис переменных и условных переменных будет отличаться. Для получения информации о конкретном синтаксисе см. Задания по развертыванию.

    Для этих примеров предположим, что у нас есть задача с именем MyTask , которая устанавливает выходную переменную с именем MyVar .Дополнительные сведения о синтаксисе см. В разделе «Выражения - зависимости».

    Использовать выходные данные в одном задании

      шагов:
    - task: MyTask @ 1 # на этом шаге генерируется выходная переменная
      name: ProduceVar # поскольку мы будем зависеть от него, нам нужно назвать шаг
    - script: echo $ (ProduceVar.MyVar) # на этом шаге используется выходная переменная
      

    Использовать выходные данные в другом задании

      вакансий:
    - работа: A
      шаги:
      # предполагаем, что MyTask генерирует выходную переменную с именем "MyVar"
      # (это вы узнаете из документации к задаче)
      - задача: MyTask @ 1
        name: ProduceVar # поскольку мы будем зависеть от него, нам нужно назвать шаг
    - работа: B
      зависит от: A
      переменные:
        # отображаем выходную переменную из A в это задание
        varFromA: $ [зависимости.A.outputs ['ProduceVar.MyVar']]
      шаги:
      - script: echo $ (varFromA) # на этом шаге используется отображаемая переменная
      

    Использовать выходы на другом этапе

    Чтобы использовать выходные данные другого этапа на уровне задания, используйте синтаксис stageDependencies .

      ступени:
    - этап: Один
      вакансии:
      - работа: A
        шаги:
        - task: MyTask @ 1 # на этом шаге генерируется выходная переменная
          name: ProduceVar # поскольку мы будем зависеть от него, нам нужно назвать шаг
    - этап: два
      - работа: B
        переменные:
          # отображаем выходную переменную из A в это задание
          varFromA: $ [stageDependencies.One.A.outputs ['ProduceVar.MyVar']]
        шаги:
        - script: echo $ (varFromA) # на этом шаге используется отображаемая переменная
      

    Вы также можете передавать переменные между этапами с файловым вводом. Для этого вам нужно определить переменные на втором этапе на уровне задания, а затем передать переменные как входные данные env: .

      ## script-a.sh
    echo "## vso [task.setvariable variable =auce; isOutput = true] измельченные помидоры"
      
      ## script-b.sh
    echo 'Привет, версия файла'
    echo $ skipMe
    echo $ StageSauce
      
      ## лазурные трубопроводы.yml
    этапы:
    
    - этап: один
      вакансии:
      - работа: A
        шаги:
        - задача: Bash @ 3
          входы:
              filePath: 'script-a.sh'
          имя: setvar
        - баш: |
           echo "## vso [task.setvariable variable = skipsubsequent; isOutput = true] true"
          имя: skipstep
    
    - этап: два
      вакансии:
      - работа: B
        переменные:
          - название: StageSauce
            значение: $ [stageDependencies.one.A.outputs ['setvar.sauce']]
          - имя: skipMe
            значение: $ [stageDependencies.one.A.outputs ['skipstep.skipsubsequent']]
        шаги:
        - задача: Bash @ 3
          входы:
            filePath: 'script-b.ш '
          имя: версия файла
          env:
            StageSauce: $ (StageSauce) # предопределен в разделе переменных
            skipMe: $ (skipMe) # предопределено в разделе переменных
        - задача: Bash @ 3
          входы:
            targetType: 'встроенный'
            сценарий: |
              echo 'Привет, встроенная версия'
              эхо $ (skipMe)
              echo $ (StageSauce)
      

    Выходные данные этапов в предыдущем конвейере выглядят следующим образом:

      Привет встроенная версия
    истинный
    измельченные помидоры
      

    Использовать выходные данные в одном задании

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

    Использовать выходные данные в другом задании

    Вы должны использовать YAML для использования выходных переменных в другом задании.

    Не существует команды az pipelines , которая применялась бы для использования выходных переменных из задач. Команды интерфейса командной строки Azure DevOps действительны только для Azure DevOps Services (облачная служба).

    Команды интерфейса командной строки Azure DevOps не поддерживаются для Azure DevOps Server 2019 и более ранних версий.

    Список переменных

    Вы можете вывести список всех переменных в конвейере с помощью команды az pipelines variable list. Чтобы начать работу, см. Раздел Начало работы с Azure DevOps CLI.

      az pipelines список переменных [--org]
                               [--pipeline-id]
                               [--pipeline-name]
                               [--проект]
      
    Параметры
    • org : URL-адрес организации Azure DevOps. Вы можете настроить организацию по умолчанию, используя az DevOps configure -d organization = ORG_URL .Требуется, если не настроен по умолчанию или получен с помощью git config . Пример: --org https://dev.azure.com/MyOrganizationName/ .
    • pipeline-id : Требуется, если pipeline-name не указан. ID трубопровода.
    • имя-конвейера : Требуется, если идентификатор конвейера не указан, но игнорируется, если предоставляется идентификатор конвейера . Название трубопровода.
    • проект : Имя или идентификатор проекта.Вы можете настроить проект по умолчанию, используя az DevOps configure -d project = NAME_OR_ID . Требуется, если не настроен по умолчанию или получен с помощью git config .
    Пример

    Следующая команда выводит список всех переменных в конвейере с идентификатором 12 и показывает результат в виде таблицы.

      az pipelines список переменных --pipeline-id 12 - выходная таблица
    
    Имя Разрешить переопределение - секретное значение
    ------------- ---------------- ----------- ---------- -
    MyVariable False False платформа
    Платформа NextVariable False True
    Конфигурация Ложь Ложь config.отлаживать
      

    Установить переменные в скриптах

    Сценарий в конвейере может определять переменную, чтобы ее можно было использовать на одном из последующих шагов конвейера. Все переменные, установленные этим методом, рассматриваются как строки. Чтобы установить переменную из сценария, вы используете синтаксис команды и печатаете в стандартный вывод.

    Установить переменную области задания из сценария

    Чтобы установить переменную из сценария, используйте команду ведения журнала task.setvariable . Это обновит переменные среды для последующих заданий.Последующие задания будут иметь доступ к новой переменной с синтаксисом макросов и в задачах как переменные среды.

    Если для issecret установлено значение true, значение переменной будет сохранено как секретное и замаскировано из журнала. Для получения дополнительной информации о секретных переменных см. Команды ведения журнала.

      шагов:
    # Создать переменную
    - баш: |
        echo "## vso [task.setvariable variable = соус] измельченные помидоры"
    
    # Используйте переменную
    # "$ (соус)" заменяется содержимым переменной `auce` в Azure Pipelines
    # перед передачей тела скрипта в оболочку.- баш: |
        эхо, моя переменная конвейера - $ (соус)
      

    Последующие шаги также будут иметь переменную конвейера, добавленную в их среду. Вы не можете использовать переменную на шаге, на котором она определена.

      шагов:
    # Создать переменную
    # Обратите внимание, что это не обновляет среду текущего скрипта.
    - баш: |
        echo "## vso [task.setvariable variable = соус] измельченные помидоры"
    
    # Переменная окружения под названием `SAUCE` была добавлена ​​на все последующие шаги
    - баш: |
        echo "моя переменная окружения $ SAUCE"
    - pwsh: |
        Write-Host «моя переменная среды $ env: SAUCE»
      

    Выход из предыдущего конвейера.

      моя переменная среды - измельченные помидоры
    Моя переменная среды - измельченные помидоры
      

    Установка выходной переменной для нескольких заданий

    Если вы хотите сделать переменную доступной для будущих заданий, вы должны пометить ее как выходная переменная с использованием isOutput = true . Затем вы можете сопоставить его с будущими заданиями, используя синтаксис $ [] и включая имя шага, который устанавливает переменную. Выходные переменные для нескольких заданий работают только для заданий на одном этапе.

    Чтобы передавать переменные заданиям на разных этапах, используйте синтаксис зависимостей этапа.

    Примечание

    По умолчанию каждый этап конвейера зависит от этапа непосредственно перед ним в файле YAML. Следовательно, каждый этап может использовать выходные переменные из предыдущего этапа. Чтобы получить доступ к дальнейшим этапам, вам нужно будет изменить граф зависимостей, например, если для этапа 3 требуется переменная из этапа 1, вам нужно будет объявить явную зависимость на этапе 1.

    Когда вы создаете выходную переменную для нескольких заданий, вы должны назначить выражение переменной.В этом YAML $ [dependencies.A.outputs ['setvarStep.myOutputVar']] назначен переменной $ (myVarFromJobA) .

      вакансий:
    # Установить выходную переменную из задания A
    - работа: A
      бассейн:
        vmImage: 'vs2017-win2016'
      шаги:
      - powershell: echo "## vso [task.setvariable variable = myOutputVar; isOutput = true] это значение"
        имя: setvarStep
      - скрипт: echo $ (setvarStep.myOutputVar)
        имя: эховар
    
    # Сопоставьте переменную с заданием B
    - работа: B
      зависит от: A
      бассейн:
        vmImage: 'ubuntu-18.04 '
      переменные:
        myVarFromJobA: $ [dependencies.A.outputs ['setvarStep.myOutputVar']] # отображение в переменной
                                                                              # помните, выражения требуют одинарных кавычек
      шаги:
      - скрипт: echo $ (myVarFromJobA)
        имя: эховар
      

    Выход из предыдущего конвейера.

      это значение
    это ценность
    
      

    Если вы устанавливаете переменную из одного этапа в другой, используйте stageDependencies .

      ступени:
    - этап: А
      вакансии:
      - работа: А1
        шаги:
         - bash: echo "## vso [task.setvariable variable = myStageOutputVar; isOutput = true] this is a stage output var"
           имя: printvar
    
    - этап: B
      зависит от: A
      переменные:
        myVarfromStageA: $ [stageDependencies.A.A1.outputs ['printvar.myStageOutputVar']]
      вакансии:
      - работа: B1
        шаги:
        - скрипт: echo $ (myVarfromStageA)
      

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

    • Имя задания.
    • Шаг.
      вакансии:
    
    # Устанавливаем выходную переменную из задания с матрицей
    - работа: A
      бассейн:
        vmImage: 'убунту-18.04'
      стратегия:
        maxParallel: 2
        матрица:
          debugJob:
            конфигурация: отладка
            платформа: x64
          releaseJob:
            конфигурация: выпуск
            платформа: x64
      шаги:
      - bash: echo "## vso [task.setvariable variable = myOutputVar; isOutput = true] это значение $ (конфигурации)"
        имя: setvarStep
      - bash: echo $ (setvarStep.myOutputVar)
        имя: эховар
    
    # Сопоставьте переменную из задания отладки
    - работа: B
      зависит от: A
      бассейн:
        vmImage: 'убунту-18.04'
      переменные:
        myVarFromJobADebug: $ [dependencies.A.outputs ['debugJob.setvarStep.myOutputVar']]
      шаги:
      - скрипт: echo $ (myVarFromJobADebug)
        имя: эховар
      
      вакансий:
    
    # Установить выходную переменную из задания с нарезкой
    - работа: A
      бассейн:
        vmImage: 'убунту-18.04'
        параллельно: 2 # Два ломтика
      шаги:
      - bash: echo "## vso [task.setvariable variable = myOutputVar; isOutput = true] это срез $ (system.jobPositionInPhase) значение "
        имя: setvarStep
      - скрипт: echo $ (setvarStep.myOutputVar)
        имя: эховар
    
    # Сопоставьте переменную из задания для первого среза
    - работа: B
      зависит от: A
      бассейн:
        vmImage: 'убунту-18.04'
      переменные:
        myVarFromJobsA1: $ [dependencies.A.outputs ['job1.setvarStep.myOutputVar']]
      шаги:
      - скрипт: "echo $ (myVarFromJobsA1)"
        имя: эховар
      

    Не забудьте указать имя задания перед выходными переменными задания развертывания. В данном случае имя задания - A :

    .
      вакансий:
    
    # Установить выходную переменную из развертывания
    - развертывание: A
      бассейн:
        vmImage: 'ubuntu-18.04 '
      среда: постановка
      стратегия:
        runOnce:
          развертывать:
            шаги:
            - bash: echo "## vso [task.setvariable variable = myOutputVar; isOutput = true] это значение переменной развертывания"
              имя: setvarStep
            - bash: echo $ (setvarStep.myOutputVar)
              имя: эховар
    
    # Сопоставьте переменную из задания для первого среза
    - работа: B
      зависит от: A
      бассейн:
        vmImage: 'убунту-18.04'
      переменные:
        myVarFromDeploymentJob: $ [dependencies.A.outputs ['A.setvarStep.myOutputVar']]
      шаги:
      - bash: "echo $ (myVarFromDeploymentJob)"
        имя: эховар
      

    YAML не поддерживается в TFS.

    Установить переменную области задания из сценария

    Чтобы установить переменную из сценария, используйте команду ведения журнала task.setvariable . Это не обновляет переменные среды, но делает новый переменная, доступная для последующих шагов в рамках одной и той же работы.

    Подсказка

    Вы можете запустить сценарий на:

    Пакетный сценарий

    Установите соус и секрет . Соус переменные

      @echo ## vso [задача.setvariable variable = соус] измельченные помидоры
    @echo ## vso [task.setvariable variable = secret.Sauce; issecret = true] измельченные помидоры с чесноком
      

    Прочтите переменные

    Аргументы

      "$ (соус)" "$ (секрет. Соус)"
      

    Скрипт

      @ эхо выкл.
    установить соусArgument =% ~ 1
    установить secretSauceArgument =% ~ 2
    @echo Нет проблем с чтением %auceArgument% или% SAUCE%
    @echo Но я не могу прочитать% SECRET_SAUCE%
    @echo Но я могу прочитать% secretSauceArgument% (но журнал отредактирован, поэтому я не портю
         секрет)
      

    Скрипт PowerShell

    Установите соус и секрет .Соус переменный

      Write-Host "## vso [task.setvariable variable =auce] измельченные помидоры"
    Write-Host "## vso [task.setvariable variable = secret.Sauce; issecret = true] измельченные помидоры с
                чеснок"
      

    Прочтите переменные

    Аргументы

      -sauceArgument "$ (auce)" -secretSauceArgument "$ (secret.Sauce)"
      

    Скрипт

      Параметр (
       [строка] $auceArgument,
       [строка] $ secretSauceArgument
    )
    Write-Host Нет проблем с чтением $ env: SAUCE или $auceArgument
    Write-Host, но я не могу прочитать $ env: SECRET_SAUCE
    Write-Host Но я могу прочитать $ secretSauceArgument "(но журнал отредактирован, поэтому я не
               испортить секрет) "
      

    Установите соус и секрет .Соус переменный

      #! / Bin / bash
    echo "## vso [task.setvariable variable = соус] измельченные помидоры"
    echo "## vso [task.setvariable variable = secret.Sauce; issecret = true] измельченные помидоры с чесноком"
      

    Прочтите переменные

    Аргументы

      "$ (соус)" "$ (секрет. Соус)"
      

    Скрипт

      #! / Bin / bash
    echo "Нет проблем с чтением $ 1 или $ СОУС"
    echo "Но я не могу прочитать $ SECRET_SAUCE"
    echo "Но я могу прочитать $ 2 (но журнал отредактирован, поэтому я не испорчу секрет)"
      

    Вывод в консоль чтения переменных:

      Нет проблем с чтением измельченных помидоров или измельченных помидоров
    Но я не умею читать
    Но я могу читать ******** (но журнал отредактирован, так что я не испорчу секрет)
      

    Использовать переменные как входные данные для задач

    Чтобы использовать переменную в качестве входных данных задачи, вы должны сделать эту переменную выходной переменной и дать производящей задаче ссылочное имя.Вы можете установить ссылочное имя задачи в разделе Выходные переменные редактора задач. Например, задача сценария, имя ссылки выходной переменной которой - , производитель , может иметь следующее содержимое:

      mkdir myDir
    echo ## vso [task.setvariable variable = newworkdir; isOutput = true] $ (System.DefaultWorkingDirectory) \ myDir
      

    На выходную переменную newworkdir можно ссылаться во входных данных подчиненной задачи как на $ (производитель.newworkdir) .

    Установка выходной переменной для нескольких заданий

    Вы не можете передать переменную из одного задания в другое задание конвейера сборки, если не используете YAML.

    Не существует команды az pipelines , которая применяется для установки переменных в скриптах. Команды интерфейса командной строки Azure DevOps действительны только для Azure DevOps Services (облачная служба).

    Команды интерфейса командной строки Azure DevOps не поддерживаются для Azure DevOps Server 2019 и более ранних версий.

    Установить переменные с помощью выражений

    Вы можете установить переменную с помощью выражения.Мы уже сталкивались с одним случаем установки переменной для вывода другой из предыдущего задания.

      - работа: B
      зависит от: A
      переменные:
        myVarFromJobsA1: $ [dependencies.A.outputs ['job1.setvarStep.myOutputVar']] # не забудьте использовать одинарные кавычки
      

    Вы можете использовать любое из поддерживаемых выражений для установки переменной. Вот пример настройки переменной для работы в качестве счетчика, который начинается со 100, увеличивается на 1 при каждом запуске и сбрасывается до 100 каждый день.

      вакансий:
    - работа:
      переменные:
        a: $ [counter (format ('{0: yyyyMMdd}', pipeline.startTime), 100)]
      шаги:
      - bash: echo $ (а)
      

    Для получения дополнительной информации о счетчиках, зависимостях и других выражениях см. Выражения.

    YAML не поддерживается в TFS.

    Вы можете использовать любое из поддерживаемых выражений для установки переменной. Вот пример настройки переменной для работы в качестве счетчика, который начинается со 100, увеличивается на 1 при каждом запуске и сбрасывается до 100 каждый день.

    • В переменных конвейера сборки установите для переменной a это значение: $ [counter (format ('{0: yyyyMMdd}', pipeline.startTime), 100)]

    Для получения дополнительной информации о счетчиках и других выражениях см. Выражения.

    Не существует команды az pipelines , которая применялась бы для задания переменных с помощью выражений. Команды интерфейса командной строки Azure DevOps действительны только для Azure DevOps Services (облачная служба).

    Команды интерфейса командной строки Azure DevOps не поддерживаются для Azure DevOps Server 2019 и более ранних версий.

    Сконфигурируйте устанавливаемые переменные для шагов

    Вы можете определить settableVariables внутри шага или указать, что никакие переменные не могут быть установлены.

    В этом примере сценарий не может установить переменную.

      шагов:
    - скрипт: echo Это шаг
      цель:
        settableVariables: нет
      

    В этом примере сценарий разрешает переменную auce , но не переменную secretSauce . Вы увидите предупреждение на странице запуска конвейера.

      шагов:
      - баш: |
          echo "## vso [task.setvariable variable = Sauce;] измельченные помидоры"
          echo "## vso [task.setvariable variable = secretSauce;] измельченные помидоры с чесноком"
        цель:
         settableVariables:
          - соус
        имя: SetVars
      - баш:
          echo "Соус $ (соус)"
          echo "secretSauce is $ (secretSauce)"
        имя: OutputVars
      

    Разрешить во время ожидания

    Если переменная появляется в блоке переменных файла YAML, ее значение фиксировано и не может быть переопределено во время очереди.Лучше всего определять переменные в файле YAML, но бывают случаи, когда это не имеет смысла. Например, вы можете захотеть определить секретную переменную и не отображать эту переменную в вашем YAML. Или вам может потребоваться вручную установить значение переменной во время работы конвейера.

    У вас есть два варианта определения значений времени ожидания. Вы можете определить переменную в пользовательском интерфейсе и выбрать опцию Разрешить пользователям переопределять это значение при запуске этого конвейера , или вы можете вместо этого использовать параметры времени выполнения.Если ваша переменная не является секретом, лучше всего использовать параметры времени выполнения.

    Чтобы установить переменную во время очереди, добавьте новую переменную в конвейер и выберите параметр переопределения.

    Чтобы разрешить установку переменной во время очереди, убедитесь, что переменная также не появляется в блоке переменных конвейера или задания. Если вы определяете переменную как в блоке переменных YAML, так и в пользовательском интерфейсе, значение в YAML будет иметь приоритет.

    YAML не поддерживается в TFS.

    Вы можете выбрать, какие переменные разрешено устанавливать во время очереди, а какие фиксируются автором конвейера. Для этого выберите переменную на вкладке Variables конвейера сборки и отметьте ее как Settable во время выпуска .

    Команды интерфейса командной строки Azure DevOps не поддерживаются для Azure DevOps Server 2019 и более ранних версий.

    Расширение переменных

    Когда вы устанавливаете переменную с тем же именем в нескольких областях, применяется следующий приоритет (сначала наивысший приоритет).

    1. Переменная уровня задания, заданная в файле YAML
    2. Переменная уровня сцены, установленная в файле YAML
    3. Переменная уровня конвейера, установленная в файле YAML
    4. Переменная, установленная во время ожидания в очереди
    5. Переменная конвейера, заданная в пользовательском интерфейсе настроек конвейера

    В следующем примере одна и та же переменная и установлена ​​на уровне конвейера и уровне задания в файле YAML. Он также задается в группе переменных G и как переменная в пользовательском интерфейсе настроек конвейера.

      переменные:
      a: 'pipeline yaml'
    
    этапы:
    - этап: один
      displayName: один
      переменные:
      - имя: а
        значение: 'stage yaml'
    
      вакансии:
      - работа: A
        переменные:
        - имя: а
          значение: 'job yaml'
        шаги:
        - bash: echo $ (a) # Это будет 'job yaml'
      

    Когда вы устанавливаете переменную с тем же именем в той же области, последнее установленное значение будет иметь приоритет.

      ступени:
    - этап: один
      displayName: Первый этап
      переменные:
        - имя: а
          значение: альфа
        - имя: а
          значение: бета
      вакансии:
      - работа: I
        displayName: Job I
        переменные:
          - название: b
            значение: uno
          - название: b
            значение: dos
        шаги:
        - скрипт: echo $ (a) # выводит бета
        - скрипт: echo $ (b) # outputs dos
      

    Примечание

    Когда вы устанавливаете переменную в файле YAML, не определяйте ее в веб-редакторе как устанавливаемую во время очереди.В настоящее время вы не можете изменять переменные, которые установлены в файле YAML во время очереди. Если вам нужно, чтобы переменная настраивалась во время очереди, не устанавливайте ее в файле YAML.

    Переменные раскрываются один раз при запуске цикла и еще раз в начале каждого шага. Например:

      вакансий:
    - работа: A
      переменные:
        а: 10
      шаги:
      - баш: |
          echo $ (a) # Это будет 10
          echo '## vso [task.setvariable variable = a] 20'
          echo $ (a) # Это тоже будет 10, так как раскрытие $ (a) происходит перед шагом
      - bash: echo $ (a) # Это будет 20, так как переменные раскрываются непосредственно перед шагом
      

    В предыдущем примере есть два шага.Расширение $ (a) происходит один раз в начале задания и один раз в начале каждого из двух шагов.

    Поскольку переменные раскрываются в начале задания, вы не можете использовать их в стратегии. В следующем примере вы не можете использовать переменную a для расширения матрицы заданий, потому что переменная доступна только в начале каждого развернутого задания.

      вакансий:
    - работа: A
      переменные:
        а: 10
      стратегия:
        матрица:
          Икс:
            some_variable: $ (a) # Это не работает
      

    Если переменная a является выходной переменной из предыдущего задания, то вы можете использовать ее в будущем задании.

      - работа: А
      шаги:
      - powershell: echo "## vso [task.setvariable variable = a; isOutput = true] 10"
        имя: a_step
    
    # Сопоставьте переменную с заданием B
    - работа: B
      зависит от: A
      переменные:
        some_variable: $ [dependencies.A.outputs ['a_step.a']]
      

    Рекурсивное расширение

    В агенте переменные, на которые ссылается синтаксис $ () , рекурсивно раскрываются. Например:

      переменные:
      myInner: someValue
      myOuter: $ (myInner)
    
    шаги:
    - скрипт: echo $ (myOuter) # выводит "someValue"
      displayName: Variable is $ (myOuter) # отображаемое имя: "Variable is someValue"
      

    YAML не поддерживается в TFS.

    Когда вы устанавливаете переменную с тем же именем в нескольких областях, применяется следующий приоритет (сначала наивысший приоритет).

    1. Переменная устанавливается во время ожидания
    2. Набор переменных в трубопроводе
    3. Набор переменных в группе переменных

    Переменные раскрываются один раз при запуске цикла и еще раз в начале каждого шага. Вот пример, чтобы продемонстрировать это:

    • Вы устанавливаете переменную с именем и на 10 в конвейере.

    • На одном из шагов (шаг сценария bash) запустите следующий сценарий:

        echo $ (a) # Это будет 10
      echo '## vso [task.setvariable variable = a] 20'
      echo $ (a) # Это тоже будет 10, так как раскрытие $ (a) происходит перед шагом
        
    • На следующем шаге (еще один шаг сценария bash) запустите следующий сценарий:

        echo $ (a) # Это будет 20, так как переменные раскрываются непосредственно перед шагом
        

    Нет команды az pipelines , которая применяется к раскрытию переменных.Команды интерфейса командной строки Azure DevOps действительны только для Azure DevOps Services (облачная служба).

    Команды интерфейса командной строки Azure DevOps не поддерживаются для Azure DevOps Server 2019 и более ранних версий.

    Ссылка на переменные кода Visual Studio

    Visual Studio Code поддерживает подстановку переменных в файлах конфигурации отладки и задач, а также некоторые параметры выбора. Подстановка переменных поддерживается внутри некоторых строк ключей и значений при запуске .json и tasks.json с синтаксисом $ {variableName} .

    Предопределенные переменные

    Поддерживаются следующие предварительно определенные переменные:

    • $ {workspaceFolder} - путь к папке, открытой в VS Code
    • $ {workspaceFolderBasename} - имя папки, открытой в VS Code, без косой черты (/)
    • $ {file} - текущий открытый файл
    • $ {fileWorkspaceFolder} - папка рабочей области текущего открытого файла
    • $ {relativeFile} - текущий открытый файл относительно workspaceFolder
    • $ {relativeFileDirname} - имя каталога текущего открытого файла относительно workspaceFolder
    • $ {fileBasename} - базовое имя текущего открытого файла
    • $ {fileBasenameNoExtension} - базовое имя текущего открытого файла без расширения файла
    • $ {fileDirname} - имя каталога текущего открытого файла
    • $ {fileExtname} - расширение текущего открытого файла
    • $ {cwd} - текущий рабочий каталог исполнителя задач при запуске
    • $ {lineNumber} - текущий выбранный номер строки в активном файле
    • $ {selectedText} - текущий выделенный текст в активном файле
    • $ {execPath} - путь к исполняемому файлу VS Code
    • $ {defaultBuildTask} - имя задачи сборки по умолчанию
    • $ {pathSeparator} - символ, используемый операционной системой для разделения компонентов в путях к файлам

    Примеры предопределенных переменных

    Предположим, у вас есть следующие требования:

    1. Файл, расположенный по адресу / home / your-username / your-project / folder / file.ext открыт в вашем редакторе;
    2. Каталог / home / your-username / your-project открыт в качестве корневого рабочего пространства.

    Таким образом, у вас будут следующие значения для каждой переменной:

    • $ {workspaceFolder} - / home / your-username / your-project
    • $ {workspaceFolderBasename} - ваш-проект
    • $ {file} / home / your-username / your-project / folder / file.вн. т.
    • $ {fileWorkspaceFolder} / home / your-username / your-project
    • $ {relativeFile} - папка / file.ext
    • $ {relativeFileDirname} - папка
    • $ {fileBasename} - file.ext
    • $ {fileBasenameNoExtension} - файл
    • $ {fileDirname} - / home / your-username / your-project / folder
    • $ {fileExtname} .вн. т.
    • $ {lineNumber} - номер строки курсора
    • $ {selectedText} - текст, выделенный в редакторе кода
    • $ {execPath} - расположение Code.exe
    • $ {pathSeparator} - / в macOS или Linux, \ в Windows

    Совет : Используйте IntelliSense внутри строковых значений для tasks.json и launch.json , чтобы получить полный список предопределенных переменных.

    Переменные в пределах папки рабочего пространства

    Добавляя имя корневой папки к переменной (разделенной двоеточием), можно получить доступ к родственным корневым папкам рабочего пространства. Без имени корневой папки переменная ограничивается той же папкой, в которой она используется.

    Например, в многокорневой рабочей области с папками Server и Client , $ {workspaceFolder: Client} относится к пути к корневому каталогу Client .

    Переменные среды

    Вы также можете ссылаться на переменные среды с помощью синтаксиса $ {env: Name} (например, $ {env: USERNAME} ).

      {
      "тип": "узел",
      "запрос": "запуск",
      "name": "Запустить программу",
      "program": "$ {workspaceFolder} /app.js",
      "cwd": "$ {workspaceFolder}",
      "args": ["$ {env: USERNAME}"]
    }  

    Переменные конфигурации

    Вы можете ссылаться на настройки VS Code ("конфигурации") с помощью синтаксиса $ {config: Name} (например, $ {config: editor.fontSize} ).

    Командные переменные

    Если предопределенных переменных, указанных выше, недостаточно, вы можете использовать любую команду VS Code в качестве переменной с помощью синтаксиса $ {command: commandID} .

    Командная переменная заменяется (строкой) результатом вычисления команды. Реализация команды может варьироваться от простого вычисления без пользовательского интерфейса до некоторых сложных функций, основанных на функциях пользовательского интерфейса, доступных через API расширения VS Code.Если команда возвращает что-либо, кроме строки, замена переменной не будет завершена. Командные переменные должны возвращать строку.

    Примером этой функции является расширение отладчика VS Code Node.js, которое предоставляет интерактивную команду extension.pickNodeProcess для выбора одного процесса из списка всех запущенных процессов Node.js. Команда возвращает идентификатор выбранного процесса. Это дает возможность использовать расширение .Команда pickNodeProcess в конфигурации запуска Attach by Process ID следующим образом:

      {
      "конфигурации": [
        {
          "тип": "узел",
          "запрос": "прикрепить",
          "name": "Прикрепить по идентификатору процесса",
          "processId": "$ {command: extension.pickNodeProcess}"
        }
      ]
    }  

    Входные переменные

    Командные переменные уже являются мощными, но им не хватает механизма для настройки выполняемой команды для конкретного случая использования.Например, невозможно передать подсказку или значение по умолчанию в обычную «подсказку ввода пользователя».

    Это ограничение устраняется с помощью входных переменных , которые имеют синтаксис: $ {input: variableID} . Переменная с идентификатором относится к записям в разделе inputs файлов launch.json и tasks.json , где указаны дополнительные атрибуты конфигурации.

    В следующем примере показана общая структура задач .json , который использует входные переменные:

      {
      "версия": "2.0.0",
      "задания": [
        {
          "label": "название задачи",
          "command": "$ {input: variableID}"
          // ...
        }
      ],
      "входы": [
        {
          "id": "variableID",
          "тип": "тип входной переменной"
          // атрибуты конфигурации, специфичные для типа
        }
      ]
    }  

    В настоящее время VS Code поддерживает три типа входных переменных:

    • promptString : Показывает поле ввода для получения строки от пользователя.
    • pickString : Показывает раскрывающийся список «Быстрый выбор», позволяющий пользователю выбрать один из нескольких вариантов.
    • команда : Выполняет произвольную команду.

    Для каждого типа требуются дополнительные атрибуты конфигурации:

    promptString :

    • описание : Показано при быстром вводе, обеспечивает контекст для ввода.
    • default : Значение по умолчанию, которое будет использоваться, если пользователь не введет что-то еще.
    • пароль : Установите значение true для ввода с запросом пароля, в котором не будет отображаться введенное значение.

    pickString :

    • описание : Показано при быстром выборе, обеспечивает контекст для ввода.
    • options : Массив параметров для выбора пользователем.
    • default : Значение по умолчанию, которое будет использоваться, если пользователь не введет что-то еще. Это должно быть одно из значений параметра.

    команда :

    • команда : Команда выполняется при интерполяции переменных.
    • args : Необязательный пакет параметров передан реализации команды.

    Ниже приведен пример tasks.json , который иллюстрирует использование входов с использованием Angular CLI:

      {
      "версия": "2.0.0",
      "задания": [
        {
          "label": "ng g",
          "тип": "оболочка",
          "команда": "нг",
          "аргументы": ["g", "$ {input: componentType}", "$ {input: componentName}"]
        }
      ],
      "входы": [
        {
          "тип": "pickString",
          "id": "componentType",
          "description": "Какой тип компонента вы хотите создать?",
          "опции": [
            "компонент",
            "директива",
            "трубка",
            "служба",
            "учебный класс",
            "сторожить",
            "интерфейс",
            "перечисление",
            "перечисление"
          ],
          "по умолчанию": "компонент"
        },
        {
          "тип": "promptString",
          "id": "componentName",
          "description": "Назовите свой компонент.",
          "по умолчанию": "мой-новый-компонент"
        }
      ]
    }  

    Запуск примера:

    В следующем примере показано, как использовать переменную, вводимую пользователем типа , команда в конфигурации отладки, которая позволяет пользователю выбрать тестовый пример из списка всех тестовых случаев, найденных в определенной папке. Предполагается, что какое-то расширение предоставляет команду extension.mochaSupport.testPicker , которая находит все тестовые примеры в настраиваемом месте и показывает пользовательский интерфейс средства выбора для выбора одного из них.Аргументы для ввода команды определяются самой командой.

      {
      "конфигурации": [
        {
          "тип": "узел",
          "запрос": "запуск",
          "name": "Выполнить конкретный тест",
          "program": "$ {workspaceFolder} / $ {input: pickTest}"
        }
      ],
      "входы": [
        {
          "id": "pickTest",
          "тип": "команда",
          "команда": "extension.mochaSupport.testPicker",
          "args": {
            "testFolder": "/ out / tests"
          }
        }
      ]
    }  

    Командные вводы также можно использовать с задачами.В этом примере используется встроенная команда «Завершить задачу». Он может принимать аргумент для завершения всех задач.

      {
      "версия": "2.0.0",
      "задания": [
        {
          "label": "Завершить все задачи",
          "command": "echo $ {input: terminate}",
          "тип": "оболочка",
          "проблемаМатчер": []
        }
      ],
      "входы": [
        {
          "id": "прекратить",
          "тип": "команда",
          "команда": "workbench.action.tasks.прекратить ",
          "аргументы": "terminateAll"
        }
      ]
    }  

    Общие вопросы

    Подробная информация о подстановке переменных в отладочной конфигурации или задаче

    Замена переменной в конфигурациях или задачах отладки выполняется в два этапа:

    • На первом проходе все переменные оцениваются в строковые результаты. Если переменная встречается более одного раза, она оценивается только один раз.
    • Во втором проходе все переменные заменяются результатами первого прохода.

    Следствием этого является то, что оценка переменной (например, переменной на основе команд, реализованной в расширении) не имеет доступа к другим заменяемым переменным в конфигурации или задаче отладки. Он видит только исходные переменные. Это означает, что переменные не могут зависеть друг от друга (что обеспечивает изоляцию и делает замену устойчивой к порядку оценки).

    Поддерживается ли подстановка переменных в настройках пользователя и рабочей области?

    Предопределенные переменные поддерживаются выбранным количеством клавиш настройки в настройках .json , такие как значения терминала cwd , env , shell и shellArgs . Некоторые настройки, такие как window.title , имеют свои собственные переменные:

      "window.title": "$ {dirty} $ {activeEditorShort} $ {separator} $ {rootName} $ {separator} $ {appName}"  

    См. Комментарии в редакторе настроек (⌘, (Windows, Linux Ctrl +,)), чтобы узнать о настройке конкретных переменных.

    Почему $ {workspaceRoot} не задокументирован?

    Переменная $ {workspaceRoot} устарела и заменена на $ {workspaceFolder} для лучшего согласования с поддержкой Multi-root Workspace.

    Почему не разрешаются переменные в tasks.json?

    Не все значения в файле tasks.json поддерживают подстановку переменных. В частности, только команда , аргументы и параметры поддерживают подстановку переменных.

    Как узнать фактическое значение переменной?

    Один из простых способов проверить значение переменной во время выполнения - создать задачу VS Code для вывода значения переменной на консоль. Например, чтобы увидеть разрешенное значение для $ {workspaceFolder} , вы можете создать и запустить ( Терминал > Выполнить задачу ) следующую простую задачу «эхо» в задачах .json :

      {
      "версия": "2.0.0",
      "задания": [
        {
          "label": "echo",
          "тип": "оболочка",
          "команда": "эхо $ {workspaceFolder}"
        }
      ]
    }  

    08.07.2021

    Как я могу записать переменные внутри файла задач в ansible

    Как я могу записать переменные внутри файла задач в ansible - qaru

    Присоединяйтесь к Stack Overflow , чтобы учиться, делиться знаниями и строить свою карьеру.

    Спросил

    Просмотрено 142k раз

    У меня этот плей.yml

      ---
    - хосты: 127.0.0.1
      подключение: местное
      sudo: ложь
    
      задания:
         - включают: apache.yml
      

    Мой Apache выглядит так:

      вариации:
        url: czxcxz
    
    - имя: Скачать apache
      оболочка: wget {{url}}
      

    Это вызывает ошибку.

    Если я удалю vars , то все заработает. Но я хочу включить вары внутри задач, чтобы можно было хранить разные вары для разных задач отдельно.

    slm

    12.8k1212 золотых знаков8888 серебряных знаков108108 бронзовых знаков

    Создан 20 мар.

    пользователь1994660

    4,4331111 золотых знаков2525 серебряных знаков3030 бронзовых знаков

    ПРИМЕЧАНИЕ: Использование set_fact , как описано ниже, устанавливает факт / переменную на удаленных серверах, на которых выполняется задача.Этот факт / переменная затем будет сохраняться в последующих задачах на протяжении всего периода вашей игры.

    Кроме того, эти факты неизменны (на протяжении всего сценария) и не могут быть изменены после установки.


    ОРИГИНАЛЬНЫЙ ОТВЕТ

    Используйте set_fact перед вашей задачей, чтобы установить фактов , которые кажутся взаимозаменяемыми с переменными:

      - имя: Установить URL-адрес Apache
      set_fact:
        apache_url: 'http://example.com/apache'
    
    - имя: Скачать Apache
      оболочка: wget {{apache_url}}
      

    См. Http: // docs.ansible.com/set_fact_module.html для официального слова.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *