Scripts de PowerShell para IoT Edge con contenedores de Windows

Se aplica a:icono IoT Edge 1.1

Importante

IoT Edge 1.1: la fecha de finalización del soporte técnico fue el 13 de diciembre de 2022. Consulte la página del ciclo de vida de productos de Microsoft para obtener información sobre cómo se admite este producto, servicio, tecnología o API. Para obtener más información sobre cómo actualizar a la versión más reciente de IoT Edge, vea Actualizar IoT Edge.

Conozca los scripts de PowerShell que permiten instalar, actualizar o desinstalar IoT Edge en dispositivos Windows.

Los comandos descritos en este artículo proceden del archivo IoTEdgeSecurityDaemon.ps1 que se publica con cada versión de IoT Edge. La versión más reciente del script siempre está disponible en aka.ms/iotedge-win.

Puede ejecutar cualquiera de los comandos con el cmdlet Invoke-WebRequest para acceder a la última versión del script. Por ejemplo:

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

También puede descargar este script, o uno de una versión específica, para ejecutar los comandos. Por ejemplo:

. <path>\IoTEdgeSecurityDaemon.ps1
Deploy-IoTEdge

El script proporcionado se firma para aumentar la seguridad. Puede comprobar la firma si descarga el script en el dispositivo y luego ejecuta el siguiente comando de PowerShell:

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

El estado de salida es Válido si se comprueba la firma.

Deploy-IoTEdge

El comando Deploy-IoTEdge descarga e implementa el demonio de seguridad de IoT Edge y sus dependencias. El comando de implementación acepta estos parámetros comunes, entre otros. Para obtener la lista completa, use el comando Get-Help Deploy-IoTEdge -full.

Parámetro Valores aceptados Comentarios
ContainerOs Windows o Linux Si no se especifica el sistema operativo del contenedor, el valor predeterminado es Windows.

En el caso de los contenedores de Windows, IoT Edge usa el motor del contenedor Moby que se incluye en la instalación. Para los contenedores de Linux, deberá instalar un motor de contenedor antes de iniciar la instalación.
Proxy Dirección URL del proxy Incluya este parámetro si el dispositivo debe pasar por un servidor proxy para conectarse a Internet. Para más información, consulte Configuración de un dispositivo de IoT Edge para que se comunique a través de un servidor proxy.
OfflineInstallationPath Ruta de acceso del directorio Si se incluye este parámetro, el instalador buscará en el directorio enumerado el archivo CAB de IoT Edge y los archivos MSI del runtime de VC necesarios para la instalación. Se descargan los archivos que no se encuentren en el directorio. Si ambos archivos se encuentran en el directorio, IoT Edge se puede instalar sin una conexión a Internet. Este parámetro también se puede usar para utilizar una versión concreta.
InvokeWebRequestParameters Tabla de hash de parámetros y valores Durante la instalación se realizan varias solicitudes web. Utilice este campo para definir parámetros para esas solicitudes web. Este parámetro es útil para configurar las credenciales para los servidores proxy. Para más información, consulte Configuración de un dispositivo de IoT Edge para que se comunique a través de un servidor proxy.
RestartIfNeeded None Esta marca permite al script de implementación reiniciar el equipo sin preguntar, en caso de que sea necesario.

Initialize-IoTEdge

El comando Initialize-IoTEdge configura IoT Edge con su cadena de conexión del dispositivo y los detalles operativos. Gran parte de la información que genera este comando se almacena en el archivo iotedge\config.yaml. El comando de inicialización acepta estos parámetros comunes, entre otros. Para obtener la lista completa, use el comando Get-Help Initialize-IoTEdge -full.

Parámetro Valores aceptados Comentarios
ManualConnectionString None Parámetro de modificador. Valor predeterminado. Si no se especifica el tipo de aprovisionamiento, el valor predeterminado es el manual con una cadena de conexión.

Declara que se proporcionará una cadena de conexión del dispositivo para aprovisionarlo manualmente.
ManualX509 None Parámetro de modificador. Si no se especifica el tipo de aprovisionamiento, el valor predeterminado es el manual con una cadena de conexión.

Declara que se proporcionarán un certificado de identidad y una clave privada para aprovisionar el dispositivo manualmente.
DpsTpm None Parámetro de modificador. Si no se especifica el tipo de aprovisionamiento, el valor predeterminado es el manual con una cadena de conexión.

Declara que usted proporcionará un Id. de ámbito de Device Provisioning Service (DPS) y el Id. de registro del dispositivo para aprovisionar a través de DPS.
DpsSymmetricKey None Parámetro de modificador. Si no se especifica el tipo de aprovisionamiento, el valor predeterminado es el manual con una cadena de conexión.

Declara que se proporcionarán un identificador de ámbito de Device Provisioning Service (DPS) y el identificador de registro del dispositivo para realizar el aprovisionamiento por medio de DPS, junto con una clave simétrica para la atestación.
DpsX509 None Parámetro de modificador. Si no se especifica el tipo de aprovisionamiento, el valor predeterminado es el manual con una cadena de conexión.

Declara que se proporcionarán un identificador de ámbito de Device Provisioning Service (DPS) y el identificador de registro del dispositivo para realizar el aprovisionamiento por medio de DPS, junto con un certificado de identidad X.509 y una clave privada para la atestación.
DeviceConnectionString Una cadena de conexión desde un dispositivo de IoT Edge registrado en IoT Hub, entre comillas simples Obligatorio para el aprovisionamiento manual con una cadena de conexión. Si no proporciona una cadena de conexión en los parámetros del script, se le pedirá una.
IotHubHostName Nombre de host del centro de IoT al que se conecta un dispositivo. Obligatorio para el aprovisionamiento manual con certificados X.509. El formato es {nombre del centro}.azure-devices.net.
DeviceId Id. de dispositivo de una identidad de dispositivo registrada en IoT Hub. Obligatorio para el aprovisionamiento manual con certificados X.509.
ScopeId Un Id. de ámbito de una instancia de Device Provisioning Service asociada con IoT Hub. Obligatorio para aprovisionamiento de DPS. Si no proporciona un identificador de ámbito en los parámetros del script, se le pedirá uno.
RegistrationId Un identificador de registro generado por el dispositivo Obligatorio para aprovisionamiento de DPS si se usa TPM o la atestación de clave simétrica. Opcional si se usa la atestación de certificados X. 509.
X509IdentityCertificate La ruta de acceso del URI al certificado de identidad del dispositivo X. 509 en el dispositivo. Obligatorio para el aprovisionamiento manual o por medio de DPS si se usa la atestación de certificados X.509.
X509IdentityPrivateKey La ruta de acceso del URI a la clave del certificado de identidad del dispositivo X. 509 en el dispositivo. Obligatorio para el aprovisionamiento manual o por medio de DPS si se usa la atestación de certificados X.509.
SymmetricKey La clave simétrica usada para aprovisionar la identidad del dispositivo de IoT Edge al usar DPS Obligatorio para aprovisionamiento de DPS si se usa atestación de clave simétrica.
ContainerOs Windows o Linux Si no se especifica el sistema operativo del contenedor, el valor predeterminado es Windows.

En el caso de los contenedores de Windows, IoT Edge usa el motor del contenedor Moby que se incluye en la instalación. Para los contenedores de Linux, deberá instalar un motor de contenedor antes de iniciar la instalación.
DeviceCACertificate Ruta de acceso del URI al certificado de la entidad de certificación del dispositivo (X.509) en dicho dispositivo. También puede configurarse en el archivo C:\ProgramData\iotedge\config.yaml. Para obtener más información, consulte Administración de certificados en un dispositivo IoT Edge.
DeviceCAPrivateKey Ruta de acceso del URI a la clave privada de la entidad de certificación (X.509) del dispositivo en dicho dispositivo. También puede configurarse en el archivo C:\ProgramData\iotedge\config.yaml. Para obtener más información, consulte Administración de certificados en un dispositivo IoT Edge.
InvokeWebRequestParameters Tabla de hash de parámetros y valores Durante la instalación se realizan varias solicitudes web. Utilice este campo para definir parámetros para esas solicitudes web. Este parámetro es útil para configurar las credenciales para los servidores proxy. Para más información, consulte Configuración de un dispositivo de IoT Edge para que se comunique a través de un servidor proxy.
AgentImage URI de la imagen del agente de IoT Edge De forma predeterminada, una nueva instalación de IoT Edge utiliza la etiqueta gradual más reciente de la imagen del agente de IoT Edge. Utilice este parámetro para establecer una etiqueta específica para la versión de la imagen o para proporcionar su propia imagen de agente. Para obtener más información, vea Información sobre las etiquetas de IoT Edge.
Nombre de usuario Nombre de usuario de registro de contenedor Utilice este parámetro solo si establece el parámetro -AgentImage en un contenedor en un registro privado. Proporcione un nombre de usuario con acceso al registro.
Contraseña Cadena de contraseña segura Utilice este parámetro solo si establece el parámetro -AgentImage en un contenedor en un registro privado. Proporcione la contraseña para acceder al registro.

Update-IoTEdge

Parámetro Valores aceptados Comentarios
ContainerOs Windows o Linux Si no se especifica el sistema operativo del contenedor, el valor predeterminado es Windows. Para los contenedores de Windows, se incluirá un motor de contenedor en la instalación. Para los contenedores de Linux, deberá instalar un motor de contenedor antes de iniciar la instalación.
Proxy Dirección URL del proxy Incluya este parámetro si el dispositivo debe pasar por un servidor proxy para conectarse a Internet. Para más información, consulte Configuración de un dispositivo de IoT Edge para que se comunique a través de un servidor proxy.
InvokeWebRequestParameters Tabla de hash de parámetros y valores Durante la instalación se realizan varias solicitudes web. Utilice este campo para definir parámetros para esas solicitudes web. Este parámetro es útil para configurar las credenciales para los servidores proxy. Para más información, consulte Configuración de un dispositivo de IoT Edge para que se comunique a través de un servidor proxy.
OfflineInstallationPath Ruta de acceso del directorio Si se incluye este parámetro, el instalador buscará en el directorio enumerado el archivo CAB de IoT Edge y los archivos MSI del runtime de VC necesarios para la instalación. Se descargan los archivos que no se encuentren en el directorio. Si ambos archivos se encuentran en el directorio, IoT Edge se puede instalar sin una conexión a Internet. Este parámetro también se puede usar para utilizar una versión concreta.
RestartIfNeeded None Esta marca permite al script de implementación reiniciar el equipo sin preguntar, en caso de que sea necesario.

Uninstall-IoTEdge

Parámetro Valores aceptados Comentarios
Force None Esta marca fuerza la desinstalación en caso de que el intento anterior de desinstalación no diera unos resultados satisfactorio.
RestartIfNeeded None Esta marca permite al script de desinstalación reiniciar el equipo sin preguntar, en caso de que sea necesario.

Pasos siguientes

Obtenga más información sobre cómo usar estos comandos en el artículo siguiente: