Поделиться через


Сценарии PowerShell для IoT Edge с контейнерами Windows

Область применения:да значок IoT Edge 1.1

Важно!

IoT Edge 1.1 дата окончания поддержки — 13 декабря 2022 г. Чтобы получить сведения о поддержке определенного продукта, службы, технологии или API, перейдите на страницу Политика жизненного цикла поддержки Майкрософт. Дополнительные сведения об обновлении до последней версии IoT Edge см. в разделе Обновление IoT Edge.

Ознакомьтесь со сценариями PowerShell для установки, обновления или удаления IoT Edge на устройствах Windows.

Команды, описанные в этой статье, относятся к файлу IoTEdgeSecurityDaemon.ps1, который доступен в каждом выпуске IOT Edge. Последняя версия сценария всегда доступна по адресу: aka.ms/iotedge-win.

Чтобы использовать последнюю версию сценария, можно выполнять любую команду с помощью командлета Invoke-WebRequest. Пример:

. {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
Deploy-IoTEdge

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

. <path>\IoTEdgeSecurityDaemon.ps1
Deploy-IoTEdge

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

Get-AuthenticodeSignature "C:\<path>\IotEdgeSecurityDaemon.ps1"

Если подпись действительна, в выходных данных будет отображено состояние Valid (Действительна).

Deploy-IoTEdge

Команда Deploy-IoTEdge скачивает и развертывает управляющую программу безопасности IoT Edge и ее зависимости. Команда развертывания принимает приведенные общие параметры, а также другие параметры. Чтобы отобразить полный список, выполните команду Get-Help Deploy-IoTEdge -full.

Параметр Допустимые значения Комментарии
ContainerOs Windows или Linux. Если операционная система контейнера не указана, по умолчанию используется ОС Windows.

Для контейнеров Windows платформа IoT Edge использует подсистему контейнеров Moby, входящую в установку. Для контейнеров Linux необходимо установить подсистему контейнеров перед началом установки.
Прокси URL-адрес прокси-сервера. Включите этот параметр, если ваше устройство подключается к Интернету через прокси-сервер. Дополнительные сведения см. в статье Настройка устройства IoT Edge для обмена данными через прокси-сервер.
OfflineInstallationPath Путь к каталогу. Если этот параметр добавлен, установщик будет искать в каталоге CAB-файл IoT Edge и MSI-файл среды выполнения VC, необходимые для установки. Файлы, не найденные в каталоге, будут скачаны. Если оба файла находятся в каталоге, то можно установить IoT Edge без подключения к Интернету. Этот параметр также можно использовать для установки определенной версии.
InvokeWebRequestParameters Хэш-таблица параметров и значений. Во время установки выполняется несколько веб-запросов. Используйте это поле, чтобы задать параметры для этих веб-запросов. Этот параметр нужен, чтобы настроить учетные данные для прокси-серверов. Дополнительные сведения см. в статье Настройка устройства IoT Edge для обмена данными через прокси-сервер.
RestartIfNeeded нет Этот флаг позволяет сценарию развертывания перезапускать компьютер без запроса, если это требуется.

Initialize-IoTEdge

Команда Initialize-IoTEdge настраивает для IoT Edge строку подключения к устройству и операционные сведения. Большая часть информации, создаваемой этой командой, сохраняется в файле iotedge\config.yaml. Команда инициализации принимает приведенные общие параметры, а также другие параметры. Чтобы отобразить полный список, выполните команду Get-Help Initialize-IoTEdge -full.

Параметр Допустимые значения Комментарии
ManualConnectionString Нет Параметр-переключатель. Значение по умолчанию. Если тип подготовки не указан, по умолчанию используется подготовка вручную со строкой подключения.

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

Этот параметр объявляет, что вы предоставите сертификат удостоверения и закрытый ключ для подготовки устройства вручную.
DpsTpm Нет Параметр-переключатель. Если тип подготовки не указан, по умолчанию используется подготовка вручную со строкой подключения.

Объявляет, что вы предоставите идентификатор области службы подготовки устройств (DPS) и идентификатор регистрации устройства для подготовки через DPS.
DpsSymmetricKey Нет Параметр-переключатель. Если тип подготовки не указан, по умолчанию используется подготовка вручную со строкой подключения.

Этот параметр объявляет, что вы предоставите идентификатор области службы подготовки устройств (DPS) и идентификатор регистрации устройства для подготовки с помощью службы DPS, а также асимметричный ключ для аттестации.
DpsX509 Нет Параметр-переключатель. Если тип подготовки не указан, по умолчанию используется подготовка вручную со строкой подключения.

Этот параметр объявляет, что вы предоставите идентификатор области службы подготовки устройств (DPS) и идентификатор регистрации устройства для подготовки с помощью службы DPS, а также сертификат удостоверения X.509 и закрытый ключ для аттестации.
DeviceConnectionString Строка подключения из устройства IoT Edge, зарегистрированного в Центре Интернета вещей, в одинарных кавычках. Требуется для подготовки вручную со строкой подключения. Если не указать строку подключения в параметрах сценария, она будет запрошена при его выполнении.
IotHubHostName Имя узла центра Интернета вещей, к которому подключается устройство. Требуется для подготовки вручную с помощью сертификатов X.509. Используемый формат: {имя_центра}.Azure-Devices.NET.
DeviceId Идентификатор устройства из зарегистрированного удостоверения устройства в Центре Интернета вещей. Требуется для подготовки вручную с помощью сертификатов X.509.
ScopeId Идентификатор области из экземпляра службы подготовки устройств, связанного с Центром Интернета вещей. Требуется для подготовки с помощью службы DPS. Если не указать идентификатор области в параметрах сценария, он будет запрошен во время выполнения.
RegistrationId Идентификатор регистрации, созданный вашим устройством. Требуется для подготовки с помощью службы DPS при использовании доверенного платформенного модуля или аттестации с симметричным ключом. Необязательный параметр, если используется аттестация с сертификатом X.509.
X509IdentityCertificate Путь URI к сертификату удостоверения устройства X.509 на устройстве. Требуется для подготовки вручную или с помощью службы DPS при использовании аттестации с сертификатом X.509.
X509IdentityPrivateKey Путь URI к ключу сертификата удостоверения устройства X.509 на устройстве. Требуется для подготовки вручную или с помощью службы DPS при использовании аттестации с сертификатом X.509.
SymmetricKey Симметричный ключ, используемый для подготовки удостоверения устройства IoT Edge при использовании службы DPS. Требуется для подготовки с помощью службы DPS при использовании аттестации с симметричным ключом.
ContainerOs Windows или Linux. Если операционная система контейнера не указана, по умолчанию используется ОС Windows.

Для контейнеров Windows платформа IoT Edge использует подсистему контейнеров Moby, входящую в установку. Для контейнеров Linux необходимо установить подсистему контейнеров перед началом установки.
DeviceCACertificate Путь URI к сертификату ЦС в формате X.509 на устройстве. Также может быть настроен в файле C:\ProgramData\iotedge\config.yaml. Дополнительные сведения см. в разделе Управление сертификатами на устройстве IoT Edge.
DeviceCAPrivateKey Путь URI к закрытому ключу ЦС в формате X.509 на устройстве. Также может быть настроен в файле C:\ProgramData\iotedge\config.yaml. Дополнительные сведения см. в разделе Управление сертификатами на устройстве IoT Edge.
InvokeWebRequestParameters Хэш-таблица параметров и значений. Во время установки выполняется несколько веб-запросов. Используйте это поле, чтобы задать параметры для этих веб-запросов. Этот параметр нужен, чтобы настроить учетные данные для прокси-серверов. Дополнительные сведения см. в статье Настройка устройства IoT Edge для обмена данными через прокси-сервер.
AgentImage URI образа агента IoT Edge. По умолчанию новая установка IoT Edge использует последний тег для образа агента IoT Edge. Используйте этот параметр, чтобы задать определенный тег для версии образа, или предоставьте свой образ агента. Дополнительные сведения см. в статье Основные сведения о тегах IoT Edge.
Имя пользователя Имя пользователя реестра контейнеров Используйте этот параметр только в том случае, если вы задаете значение параметра -AgentImage для контейнера в частном реестре. Укажите имя пользователя с доступом к реестру.
Пароль Строка надежного пароля. Используйте этот параметр только в том случае, если вы задаете значение параметра -AgentImage для контейнера в частном реестре. Укажите пароль для доступа к реестру.

Update-IoTEdge

Параметр Допустимые значения Комментарии
ContainerOs Windows или Linux. Если операционная система контейнера не указана, по умолчанию используется ОС Windows. Для контейнеров Windows подсистема контейнеров будет включена в установку. Для контейнеров Linux необходимо установить подсистему контейнеров перед началом установки.
Прокси URL-адрес прокси-сервера. Включите этот параметр, если ваше устройство подключается к Интернету через прокси-сервер. Дополнительные сведения см. в статье Настройка устройства IoT Edge для обмена данными через прокси-сервер.
InvokeWebRequestParameters Хэш-таблица параметров и значений. Во время установки выполняется несколько веб-запросов. Используйте это поле, чтобы задать параметры для этих веб-запросов. Этот параметр нужен, чтобы настроить учетные данные для прокси-серверов. Дополнительные сведения см. в статье Настройка устройства IoT Edge для обмена данными через прокси-сервер.
OfflineInstallationPath Путь к каталогу. Если этот параметр добавлен, установщик будет искать в каталоге CAB-файл IoT Edge и MSI-файл среды выполнения VC, необходимые для установки. Файлы, не найденные в каталоге, будут скачаны. Если оба файла находятся в каталоге, то можно установить IoT Edge без подключения к Интернету. Этот параметр также можно использовать для установки определенной версии.
RestartIfNeeded нет Этот флаг позволяет сценарию развертывания перезапускать компьютер без запроса, если это требуется.

Uninstall-IoTEdge

Параметр Допустимые значения Комментарии
Force нет Этот флаг принудительно выполняет удаление, если предыдущая попытка удаления завершилась сбоем.
RestartIfNeeded нет Этот флаг позволяет сценарию удаления перезапускать компьютер без запроса, если это требуется.

Дальнейшие действия

Узнайте, как использовать эти команды, ознакомившись со следующей статьей: