Funciones de PowerShell para IoT Edge para Linux en Windows
Se aplica a: IoT Edge 1.4
Importante
Las versiones de Azure IoT Edge 1.5 LTS e IoT Edge 1.4 son compatibles. IoT Edge 1.4 LTS llega al final del servicio el 12 de noviembre de 2024. Si está usando una versión anterior, consulte Actualización de IoT Edge.
Conozca las funciones de PowerShell que implementan, aprovisionan y obtienen el estado de su máquina virtual de IoT Edge para Linux en Windows (EFLOW).
Requisitos previos
Los comandos descritos en este artículo proceden del archivo AzureEFLOW.psm1
, que puede encontrar en su sistema en el directorio WindowsPowerShell
, en C:\Program Files\WindowsPowerShell\Modules\AzureEFLOW
.
Si no tiene la carpeta AzureEflow en el directorio de PowerShell, siga estos pasos para descargar e instalar Azure IoT Edge para Linux en Windows:
En una sesión de PowerShell con privilegios elevados, ejecute cada uno de los siguientes comandos para descargar IoT Edge para Linux en Windows.
- X64/AMD64
$msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi')) $ProgressPreference = 'SilentlyContinue' Invoke-WebRequest "https://aka.ms/AzEFLOWMSI_1_4_LTS_X64" -OutFile $msiPath
- ARM64
$msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi')) $ProgressPreference = 'SilentlyContinue' Invoke-WebRequest "https://aka.ms/AzEFLOWMSI_1_4_LTS_ARM64" -OutFile $msiPath
Instale IoT Edge para Linux en Windows en el dispositivo.
Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn"
Puede especificar la instalación personalizada y los directorios VHDX agregando los parámetros
INSTALLDIR="<FULLY_QUALIFIED_PATH>"
yVHDXDIR="<FULLY_QUALIFIED_PATH>"
al comando install.Establezca la directiva de ejecución del dispositivo de destino en
AllSigned
como mínimo.Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
Add-EflowNetwork
El comando Add-EflowNetwork agrega una nueva red a la máquina virtual EFLOW. Este comando toma dos parámetros.
Parámetro | Valores aceptados | Comentarios |
---|---|---|
vswitchName | Nombre del conmutador virtual | Nombre del conmutador virtual asignado a la VM EFLOW. |
vswitchType | Interno o externo | Tipo del conmutador virtual asignado a la VM EFLOW. |
Devuelve un objeto que contiene cuatro propiedades:
- Nombre
- AllocationMethod
- Cidr
- Tipo
Para obtener más información, use el comando Get-Help Add-EflowNetwork -full
.
Add-EflowVmEndpoint
El comando Add-EflowVmEndpoint agrega un nuevo punto de conexión de red a la máquina virtual EFLOW. Use los parámetros opcionales para establecer una dirección IP estática.
Parámetro | Valores aceptados | Comentarios |
---|---|---|
vswitchName | Nombre del conmutador virtual | Nombre del conmutador virtual asignado a la VM EFLOW. |
vendpointName | Nombre del punto de conexión virtual | Nombre del punto de conexión virtual asignado a la VM EFLOW. |
ip4Address | Dirección IPv4 en el intervalo del ámbito del servidor DCHP | Dirección IPv4 estática de la VM EFLOW. |
ip4PrefixLength | Longitud del prefijo IPv4 de la subred | Longitud del prefijo de subred IPv4, solo válida cuando se especifica una dirección IPv4 estática. |
ip4GatewayAddress | Dirección IPv4 de la puerta de enlace de subred | Dirección IPv4 de puerta de enlace, solo válida cuando se especifica una dirección IPv4 estática. |
Devuelve un objeto que contiene cuatro propiedades:
- Nombre
- MacAddress
- HealthStatus
- IpConfiguration
Para obtener más información, use el comando Get-Help Add-EflowVmEndpoint -full
.
Add-EflowVmSharedFolder
El comando Add-EflowVmSharedFolder permite compartir una o varias carpetas del sistema operativo host de Windows con la máquina virtual EFLOW.
Parámetro | Valores aceptados | Comentarios |
---|---|---|
sharedFoldersJsonPath | Cadena | Ruta de acceso al archivo de configuración JSON de las carpetas compartidas. |
El archivo de configuración JSON debe tener la estructura siguiente:
- sharedFOlderRoot: ruta de acceso a la carpeta raíz de Windows que contiene todas las carpetas que se van a compartir con la máquina virtual EFLOW.
- hostFolderPath: ruta de acceso relativa (a la carpeta raíz primaria) de la carpeta que se va a compartir con la máquina virtual EFLOW.
- readOnly: define si la carpeta compartida se puede escribir o será de solo lectura desde la máquina virtual EFLOW: valores: false o true.
- targetFolderOnGuest : ruta de acceso de carpeta dentro de la máquina virtual EFLOW donde se monta la carpeta del sistema operativo host de Windows.
[
{
"sharedFolderRoot": "<shared-folder-root-windows-path>",
"sharedFolders": [
{ "hostFolderPath": "<path-shared-folder>",
"readOnly": "<read-only>",
"targetFolderOnGuest": "<linux-mounting-point>"
}
]
}
]
Para obtener más información, use el comando Get-Help Add-EflowVmSharedFolder -full
.
Connect-EflowVm
El comando Connect-EflowVm se conecta a la máquina virtual mediante SSH. La única cuenta que se permite a SSH en la máquina virtual es la del usuario que la creó.
Este comando solo funciona en una sesión de PowerShell que se ejecuta en el dispositivo host. No funcionará al usar Windows Admin Center o PowerShell ISE.
Para obtener más información, use el comando Get-Help Connect-EflowVm -full
.
Copy-EflowVmFile
El comando Copy-EflowVmFile copia el archivo hacia o desde la máquina virtual mediante SCP. Use los parámetros opcionales para especificar las rutas de acceso del archivo de origen y destino, así como la dirección de la copia.
El usuario iotedge-user debe tener permiso de lectura para los directorios de origen o permiso de escritura para los directorios de destino en la máquina virtual.
Parámetro | Valores aceptados | Comentarios |
---|---|---|
fromFile | Cadena que represente la ruta de acceso al archivo | Define el archivo del que se va a leer. |
toFile | Cadena que represente la ruta de acceso al archivo | Define el archivo en el que se va a escribir. |
pushFile | Ninguno | Esta marca indica la dirección de copia. Si está presente, el comando inserta el archivo en la máquina virtual. Si no está presente, el comando extrae el archivo de la máquina virtual. |
Para obtener más información, use el comando Get-Help Copy-EflowVMFile -full
.
Deploy-Eflow
El comando Deploy-Eflow es el método de implementación principal. El comando de implementación crea la máquina virtual, aprovisiona archivos e implementa el módulo de agente de IoT Edge. Aunque no se requiere ninguno de los parámetros, se pueden usar para modificar la configuración de la máquina virtual durante la creación.
Parámetro | Valores aceptados | Comentarios |
---|---|---|
acceptEula | Sí o No. | Acceso directo para aceptar o denegar el CLUF y omitir el aviso del CLUF. |
acceptOptionalTelemetry | Sí o No. | Acceso directo para aceptar o denegar la telemetría opcional y omitir el mensaje de telemetría. |
cpuCount | Valor entero entre 1 y el número de núcleos de CPU del dispositivo | Número de núcleos de CPU para la VM. Valor predeterminado: 1 núcleo virtual. |
memoryInMB | Valor entero entre 1024 y la cantidad máxima de memoria libre del dispositivo. | Memoria asignada para la VM. Valor predeterminado: 1024 MB. |
vmDiskSize | Entre 21 GB y 2 TB. | Tamaño de disco lógico máximo del disco duro virtual de expansión dinámica. Valor predeterminado: 29 GB. Nota: Se puede usar vmDiskSize o vmDataSize, pero no ambos juntos. |
vmDataSize | Entre 2 GB y 2 TB. | Tamaño máximo de partición de datos del disco duro resultante, en GB. Valor predeterminado: 10 GB. Nota: Se puede usar vmDiskSize o vmDataSize, pero no ambos juntos. |
vmLogSize | Tamaño pequeño o Grande | Especifique el tamaño de la partición de registro. Tamaño pequeño = 1 GB, Grande = 6 GB. Valor predeterminado: Tamaño pequeño. |
vswitchName | Nombre del conmutador virtual | Nombre del conmutador virtual asignado a la VM EFLOW. |
vswitchType | Interno o externo | Tipo del conmutador virtual asignado a la VM EFLOW. |
ip4Address | Dirección IPv4 en el intervalo del ámbito del servidor DCHP | Dirección IPv4 estática de la VM EFLOW. |
ip4PrefixLength | Longitud del prefijo IPv4 de la subred | Longitud del prefijo de subred IPv4, solo válida cuando se especifica una dirección IPv4 estática. |
ip4GatewayAddress | Dirección IPv4 de la puerta de enlace de subred | Dirección IPv4 de puerta de enlace, solo válida cuando se especifica una dirección IPv4 estática. |
gpuName | Nombre de dispositivo GPU | Nombre del dispositivo GPU que se va a usar para el tránsito. |
gpuPassthroughType | DirectDeviceAssignment, ParaVirtualization o ninguno (solo CPU) | Tipo de tránsito de GPU |
gpuCount | Valor entero entre 1 y el número de núcleos de la GPU del dispositivo | Número de dispositivos GPU para la VM. Nota: Si usa ParaVirtualization, asegúrese de establecer gpuCount = 1. |
customSsh | Ninguno | Determina si el usuario quiere usar su instalación personalizada de OpenSSH.Client. Si está presente, ssh.exe debe estar disponible para el PSM de EFLOW |
sharedFoldersJsonPath | Cadena | Ruta de acceso al archivo de configuración JSON de las carpetas compartidas. |
Para obtener más información, use el comando Get-Help Deploy-Eflow -full
.
Get-EflowHostConfiguration
El comando Get-EflowHostConfiguration devuelve la configuración del host. Este comando no toma parámetros. Devuelve un objeto que contiene cuatro propiedades:
- FreePhysicalMemoryInMB
- NumberOfLogicalProcessors
- DiskInfo
- GpuInfo
Para obtener más información, use el comando Get-Help Get-EflowHostConfiguration -full
.
Get-EflowLogs
El comando Get-EflowLogs recopila y agrupa los registros de la implementación e instalación de IoT Edge para Linux en Windows. Genera los registros agrupados en forma de una carpeta .zip
.
Para obtener más información, use el comando Get-Help Get-EflowLogs -full
.
Get-EflowNetwork
El comando Get-EflowNetwork devuelve una lista de las redes asignadas a la máquina virtual EFLOW. Use el parámetro opcional para obtener una red específica.
Parámetro | Valores aceptados | Comentarios |
---|---|---|
vswitchName | Nombre del conmutador virtual | Nombre del conmutador virtual asignado a la VM EFLOW. |
Devuelve una lista de objetos con cuatro propiedades:
- Nombre
- AllocationMethod
- Cidr
- Tipo
Para obtener más información, use el comando Get-Help Get-EflowNetwork -full
.
Get-EflowVm
El comando Get-EflowVm devuelve la configuración actual de la máquina virtual. Este comando no toma parámetros. Devuelve un objeto que contiene cuatro propiedades:
- VmConfiguration
- VmPowerState
- EdgeRuntimeVersion
- EdgeRuntimeStatus
- SystemStatistics
Para ver una propiedad específica en una lista legible, ejecute el comando Get-EflowVM
con la propiedad expandida. Por ejemplo:
Get-EflowVM | Select -ExpandProperty VmConfiguration | Format-List
Para obtener más información, use el comando Get-Help Get-EflowVm -full
.
Get-EflowVmAddr
El comando Get-EflowVmAddr se usa para consultar las direcciones IP y MAC actuales de la máquina virtual. Este comando existe para tener en cuenta el hecho de que las direcciones IP y MAC pueden cambiar con el tiempo.
Para obtener información adicional, use el comando Get-Help Get-EflowVmAddr -full
.
Get-EflowVmEndpoint
El comando Get-EflowVmEndpoint devuelve una lista de los puntos de conexión de red asignados a la máquina virtual EFLOW. Use el parámetro opcional para obtener un punto de conexión de red específico.
Parámetro | Valores aceptados | Comentarios |
---|---|---|
vswitchName | Nombre del conmutador virtual | Nombre del conmutador virtual asignado a la VM EFLOW. |
Devuelve una lista de objetos con cuatro propiedades:
- Nombre
- MacAddress
- HealthStatus
- IpConfiguration
Para obtener más información, use el comando Get-Help Get-EflowVmEndpoint -full
.
Get-EflowVmFeature
El comando Get-EflowVmFeature devuelve el estado de la habilitación de las características de IoT Edge para Linux en Windows.
Parámetro | Valores aceptados | Comentarios |
---|---|---|
feature | DpsTpm | Nombre de la característica que se va a consultar. |
Para obtener más información, use el comando Get-Help Get-EflowVmFeature -full
.
Get-EflowVmName
El comando Get-EflowVmName devuelve el nombre de host actual de la máquina virtual. Este comando existe para tener en cuenta el hecho de que el nombre de host de Windows puede cambiar con el tiempo.
Para obtener más información, use el comando Get-Help Get-EflowVmName -full
.
Get-EflowVmSharedFolder
El comando Get-EflowVmSharedFolder devuelve información sobre una o varias carpetas del sistema operativo host de Windows compartidas con la máquina virtual EFLOW.
Parámetro | Valores aceptados | Comentarios |
---|---|---|
sharedfolderRoot | Cadena | Ruta de acceso a la carpeta raíz compartida del sistema operativo host de Windows. |
hostFolderPath | Cadena o lista | Rutas de acceso relativas (a la carpeta raíz) a la carpeta compartida del sistema operativo host de Windows. |
Devuelve una lista de objetos con tres propiedades:
- hostFolderPath: ruta de acceso relativa (a la carpeta raíz primaria) de la carpeta que se va a compartir con la máquina virtual EFLOW.
- readOnly: define si la carpeta compartida se puede escribir o será de solo lectura desde la máquina virtual EFLOW: valores: false o true.
- targetFolderOnGuest: ruta de acceso de carpeta dentro de la máquina virtual EFLOW donde se montará la carpeta de Windows.
Para obtener más información, use el comando Get-Help Get-EflowVmSharedFolder -full
.
Get-EflowVmTelemetryOption
El comando Get-EflowVmTelemetryOption muestra el estado de la telemetría (Opcional u Obligatorio) dentro de la máquina virtual.
Para obtener más información, use el comando Get-Help Get-EflowVmTelemetryOption -full
.
Get-EflowVmTpmProvisioningInfo
El comando Get-EflowVmTpmProvisioningInfo devuelve la información de aprovisionamiento de TPM. Este comando no toma parámetros. Devuelve un objeto que contiene dos propiedades:
- Clave de aprobación
- Identificador de registro
Para obtener más información, use el comando Get-Help Get-EflowVmTpmProvisioningInfo -full
.
Invoke-EflowVmCommand
El comando Invoke-EflowVMCommand ejecuta un comando de Linux dentro de la máquina virtual y devuelve la salida. Este comando solo funciona para los comandos de Linux que devuelven una salida finita. No se puede usar para los comandos de Linux que requieren interacción del usuario o que se ejecutan indefinidamente.
Los siguientes parámetros opcionales se pueden usar para especificar el comando de antemano.
Parámetro | Valores aceptados | Comentarios |
---|---|---|
comando | Cadena | Comando que se va a ejecutar en la VM. |
ignoreError | Ninguno | Si esta marca está presente, ignore los errores del comando. |
Para obtener más información, use el comando Get-Help Invoke-EflowVmCommand -full
.
Provision-EflowVm
El comando Provision-EflowVm agrega la información de aprovisionamiento del dispositivo IoT Edge al archivo config.yaml
de IOT Edge de la máquina virtual.
Parámetro | Valores aceptados | Comentarios |
---|---|---|
provisioningType | ManualConnectionString, ManualX509, DpsTPM, DpsX509 o DpsSymmetricKey | Define el tipo de aprovisionamiento que quiere usar para el dispositivo IoT Edge. |
devConnString | Cadena de conexión de dispositivo de un dispositivo IoT Edge existente. | Cadena de conexión de dispositivo para el aprovisionamiento manual de un dispositivo IoT Edge (ManualConnectionString). |
iotHubHostname | Nombre de host de un centro de IoT existente | Nombre de host de Azure IoT Hub para el aprovisionamiento de un dispositivo IoT Edge (ManualX509). |
deviceId | Id. de dispositivo de un dispositivo IoT Edge existente | Id. de dispositivo para el aprovisionamiento de un dispositivo IoT Edge (ManualX509). |
scopeId | Identificador de ámbito de una instancia de DPS existente. | Identificador de ámbito para el aprovisionamiento de un dispositivo IoT Edge (DpsTPM, DpsX509 o DpsSymmetricKey). |
symmKey | Clave principal de una inscripción de DPS existente o clave principal de un dispositivo IoT Edge existente registrado mediante claves simétricas. | Clave simétrica para el aprovisionamiento de un dispositivo IoT Edge (DpsSymmetricKey). |
registrationId | Identificador de registro de un dispositivo de IoT Edge existente. | Identificador de registro para el aprovisionamiento de un dispositivo IoT Edge (DpsSymmetricKey, DpsTPM). |
identityCertPath | Ruta de acceso del directorio | Ruta de acceso de destino absoluta del certificado de identidad en la máquina host Windows (ManualX509, DpsX509). |
identityPrivKeyPath | Ruta de acceso del directorio | Ruta de acceso de origen absoluta de la clave privada de identidad en la máquina host Windows (ManualX509, DpsX509). |
globalEndpoint | URL del punto de conexión de dispositivo | Dirección URL del punto de conexión global que se usará para el aprovisionamiento de DPS. |
Para obtener más información, use el comando Get-Help Provision-EflowVm -full
.
Remove-EflowNetwork
El comando Remove-EflowNetwork elimina una red conectada a la máquina virtual EFLOW. Este comando solo toma un parámetro.
Parámetro | Valores aceptados | Comentarios |
---|---|---|
vswitchName | Nombre del conmutador virtual | Nombre del conmutador virtual asignado a la VM EFLOW. |
Para obtener más información, use el comando Get-Help Remove-EflowNetwork -full
.
Remove-EflowVmEndpoint
El comando Remove-EflowVmEndpoint elimina un punto de conexión de red conectado a la máquina virtual EFLOW. Este comando solo toma un parámetro.
Parámetro | Valores aceptados | Comentarios |
---|---|---|
vendpointName | Nombre del punto de conexión virtual | Nombre del punto de conexión virtual asignado a la VM EFLOW. |
Para obtener más información, use el comando Get-Help Remove-EflowVmEndpoint -full
.
Remove-EflowVmSharedFolder
El comando Remove-EflowVmSharedFolder deja de compartir la carpeta del sistema operativo host de Windows en la máquina virtual EFLOW. Este comando toma dos parámetros.
Parámetro | Valores aceptados | Comentarios |
---|---|---|
sharedfolderRoot | Cadena | Ruta de acceso a la carpeta raíz compartida del sistema operativo host de Windows. |
hostFolderPath | Cadena o lista | Rutas de acceso relativas (a la carpeta raíz) a la carpeta compartida del sistema operativo host de Windows. |
Para obtener más información, use el comando Get-Help Remove-EflowVmSharedFolder -full
.
Set-EflowVM
El comando Set-EflowVM actualiza la configuración de la máquina virtual con las propiedades solicitadas. Use los parámetros opcionales para definir una configuración específica para la máquina virtual.
Parámetro | Valores aceptados | Comentarios |
---|---|---|
cpuCount | Valor entero entre 1 y el número de núcleos de CPU del dispositivo | Número de núcleos de CPU para la VM. |
memoryInMB | Valor entero entre 1024 y la cantidad máxima de memoria libre del dispositivo | Memoria asignada para la VM. |
gpuName | Nombre de dispositivo GPU | Nombre del dispositivo GPU que se va a usar para el tránsito. |
gpuPassthroughType | DirectDeviceAssignment, ParaVirtualization o ninguno (sin tránsito) | Tipo de tránsito de GPU |
gpuCount | Valor entero entre 1 y los núcleos de GPU del dispositivo | Número de dispositivos GPU para la VM Nota: Solo es válido cuando se usa DirectDeviceAssignment |
headless | Ninguno | Si esta marca está presente, determina si se requiere la confirmación del usuario en caso de que se emita una advertencia de seguridad. |
Para obtener más información, use el comando Get-Help Set-EflowVM -full
.
Set-EflowVmDNSServers
El comando Set-EflowVmDNSServers configura los servidores DNS para la máquina virtual EFLOW.
Parámetro | Valores aceptados | Comentarios |
---|---|---|
vendpointName | Valor de cadena del nombre del punto de conexión virtual | Use Get-EflowVmEndpoint para obtener las interfaces virtuales asignadas a la máquina virtual de EFLOW. Por ejemplo, DESKTOP-CONTOSO-EflowInterface |
dnsServers | Lista de direcciones IP de servidores DNS que se van a utilizar para la resolución de nombres | Por ejemplo, @("10.0.10.1") |
Para obtener más información, use el comando Get-Help Set-EflowVmDNSServers -full
.
Set-EflowVmFeature
El comando Set-EflowVmFeature habilita o deshabilita el estado de las características de IoT Edge para Linux en Windows.
Parámetro | Valores aceptados | Comentarios |
---|---|---|
feature | DpsTpm, Defender | Nombre de la característica que se va a alternar. |
enable | Ninguno | Si esta marca está presente, el comando habilita la característica. |
Para obtener más información, use el comando Get-Help Set-EflowVmFeature -full
.
Set-EflowVmTelemetryOption
El comando Set-EflowVmTelemetryOption habilita o deshabilita la telemetría opcional dentro de la máquina virtual.
Parámetro | Valores aceptados | Comentarios |
---|---|---|
optionalTelemetry | Verdadero o Falso | Determina si la telemetría opcional está seleccionada. |
Para obtener más información, use el comando Get-Help Set-EflowVmTelemetryOption -full
.
Start-EflowVm
El comando Start-EflowVm inicia la máquina virtual. Si la máquina virtual ya está iniciada, no se lleva a cabo ninguna acción.
Para obtener más información, use el comando Get-Help Start-EflowVm -full
.
Stop-EflowVm
El comando Stop-EflowVm detiene la máquina virtual. Si la máquina virtual ya está detenida, no se lleva a cabo ninguna acción.
Para obtener más información, use el comando Get-Help Stop-EflowVm -full
.
Verify-EflowVm
El comando Verify-EflowVm es una función expuesta que comprueba si se ha creado la máquina virtual IoT Edge para Linux en Windows. Solo toma parámetros comunes y devuelve True si se creó la máquina virtual y False si no.
Para obtener más información, use el comando Get-Help Verify-EflowVm -full
.
Pasos siguientes
Obtenga información sobre cómo usar estos comandos para instalar y aprovisionar IoT Edge para Linux en Windows en el siguiente artículo: