Compartir a través de


Scripts de PowerShell para IoT Edge con contenedores de Windows

Se aplica a: iconosí IoT Edge 1.1

Importante

IoT Edge 1.1 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, consulte Update IoT Edge.

Comprenda los scripts de PowerShell que instalan, actualizan o desinstalan 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 de . La versión más reciente del script siempre está disponible en aka.ms/iotedge-win.

Puede ejecutar cualquiera de los comandos mediante el cmdlet Invoke-WebRequest para acceder a la versión más reciente del script. Por ejemplo:

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

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

. <path>\IoTEdgeSecurityDaemon.ps1
Deploy-IoTEdge

El script proporcionado está firmado para aumentar la seguridad. Para comprobar la firma, descargue el script en el dispositivo y ejecute 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 ningún sistema operativo contenedor, Windows es el valor predeterminado.

En el caso de los contenedores de Windows, IoT Edge usa el motor de contenedor moby incluido en la instalación. Para los contenedores de Linux, debe instalar un motor de contenedor antes de iniciar la instalación.
Proxy Proxy URL Incluya este parámetro si el dispositivo necesita pasar por un servidor proxy para acceder 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 comprobará el directorio enumerado para los archivos MSI del cab de IoT Edge y VC Runtime necesarios para la instalación. Los archivos que no se encuentran en el directorio se descargan. Si ambos archivos están en el directorio, puede instalar IoT Edge sin conexión a Internet. También puede usar este parámetro para usar una versión específica.
InvokeWebRequestParameters Tabla hash de parámetros y valores Durante la instalación, se realizan varias solicitudes web. Use este campo para establecer parámetros para esas solicitudes web. Este parámetro es útil para configurar credenciales para 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 ninguno Esta marca permite que el script de implementación reinicie la máquina sin preguntar, si es necesario.

Initialize-IoTEdge

El comando Initialize-IoTEdge configura IoT Edge con la cadena de conexión del dispositivo y los detalles operativos. Gran parte de la información generada por 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 Ninguno parámetro Switch. valor predeterminado. Si no se especifica ningún tipo de aprovisionamiento, el aprovisionamiento manual con una cadena de conexión es el valor predeterminado.

Declara que proporcionará una cadena de conexión de dispositivo para aprovisionar el dispositivo manualmente.
ManualX509 Ninguno parámetro Switch. Si no se especifica ningún tipo de aprovisionamiento, el aprovisionamiento manual con una cadena de conexión es el valor predeterminado.

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

Declara que proporcionará un identificador de ámbito de Device Provisioning Service (DPS) y el identificador de registro del dispositivo para aprovisionar a través de DPS.
dpsSymmetricKey de Ninguno parámetro Switch. Si no se especifica ningún tipo de aprovisionamiento, el aprovisionamiento manual con una cadena de conexión es el valor predeterminado.

Declara que proporcionará un identificador de ámbito de Device Provisioning Service (DPS) y el identificador de registro del dispositivo para aprovisionar a través de DPS, junto con una clave simétrica para la atestación.
dpsX509 Ninguno parámetro Switch. Si no se especifica ningún tipo de aprovisionamiento, el aprovisionamiento manual con una cadena de conexión es el valor predeterminado.

Declara que proporcionará un identificador de ámbito de Device Provisioning Service (DPS) y el identificador de registro del dispositivo para aprovisionar a través de DPS, junto con un certificado de identidad X.509 y una clave privada para la atestación.
DeviceConnectionString Cadena de conexión de un dispositivo IoT Edge registrado en una instancia de IoT Hub, entre comillas simples se requiere 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. se requiere para el aprovisionamiento manual con certificados X.509. Toma el formato {nombre del centro}.azure-devices.net.
DeviceId Identificador de dispositivo de una identidad de dispositivo registrada en IoT Hub. se requiere para el aprovisionamiento manual con certificados X.509.
ScopeId Identificador de ámbito de una instancia de Device Provisioning Service asociada a IoT Hub. necesarios para el aprovisionamiento de DPS. Si no proporciona un identificador de ámbito en los parámetros de script, se le pedirá uno.
RegistrationId Un identificador de registro generado por el dispositivo se requiere para el aprovisionamiento de DPS si usa TPM o atestación de clave simétrica. opcional si usa la atestación de certificado X.509.
X509IdentityCertificate Ruta de acceso del URI al certificado de identidad del dispositivo X.509 en el dispositivo. requerido para el aprovisionamiento manual o DPS si se usa la atestación de certificados X.509.
X509IdentityPrivateKey Ruta de acceso del URI a la clave de certificado de identidad del dispositivo X.509 en el dispositivo. requerido para el aprovisionamiento manual o DPS si se usa la atestación de certificados X.509.
symmetricKey Clave simétrica que se usa para aprovisionar la identidad del dispositivo IoT Edge al usar DPS se requiere para el aprovisionamiento de DPS si se usa la atestación de claves simétricas.
ContainerOs windows o Linux Si no se especifica ningún sistema operativo contenedor, Windows es el valor predeterminado.

En el caso de los contenedores de Windows, IoT Edge usa el motor de contenedor moby incluido en la instalación. Para los contenedores de Linux, debe instalar un motor de contenedor antes de iniciar la instalación.
deviceCACertificate Ruta de acceso del URI al certificado de entidad de certificación del dispositivo X.509 en el dispositivo. También se puede configurar 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 entidad de certificación del dispositivo X.509 en el dispositivo. También se puede configurar 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 hash de parámetros y valores Durante la instalación, se realizan varias solicitudes web. Use este campo para establecer parámetros para esas solicitudes web. Este parámetro es útil para configurar credenciales para 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 imagen del agente de IoT Edge De forma predeterminada, una nueva instalación de IoT Edge usa la etiqueta gradual más reciente para la imagen del agente de IoT Edge. Use 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, consulte Descripción de las etiquetas de IoT Edge.
Nombre de usuario Nombre de usuario del registro de contenedor Use este parámetro solo si establece el parámetro -AgentImage en un contenedor de un registro privado. Proporcione un nombre de usuario con acceso al Registro.
Contraseña Cadena de contraseña segura Use este parámetro solo si establece el parámetro -AgentImage en un contenedor de 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 ningún sistema operativo de contenedor, Windows es el valor predeterminado. En el caso de los contenedores de Windows, se incluirá un motor de contenedor en la instalación. Para los contenedores de Linux, debe instalar un motor de contenedor antes de iniciar la instalación.
Proxy Proxy URL Incluya este parámetro si el dispositivo necesita pasar por un servidor proxy para acceder 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 hash de parámetros y valores Durante la instalación, se realizan varias solicitudes web. Use este campo para establecer parámetros para esas solicitudes web. Este parámetro es útil para configurar credenciales para 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 comprobará el directorio enumerado para los archivos MSI del cab de IoT Edge y VC Runtime necesarios para la instalación. Los archivos que no se encuentran en el directorio se descargan. Si ambos archivos están en el directorio, puede instalar IoT Edge sin conexión a Internet. También puede usar este parámetro para usar una versión específica.
RestartIfNeeded ninguno Esta marca permite que el script de implementación reinicie la máquina sin preguntar, si es necesario.

Uninstall-IoTEdge

Parámetro Valores aceptados Comentarios
Force ninguno Esta marca fuerza la desinstalación en caso de que el intento anterior de desinstalar no se haya realizado correctamente.
RestartIfNeeded ninguno Esta marca permite que el script de desinstalación reinicie la máquina sin preguntar, si es necesario.

Pasos siguientes

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