Funções do PowerShell para o Azure IoT Edge para Linux no Windows
Aplica-se a: IoT Edge 1.4
Importante
O Azure IoT Edge 1.5 LTS e o IoT Edge 1.4 são versões suportadas. O IoT Edge 1.4 LTS está chegando ao fim do serviço em 12 de novembro de 2024. Se tiver uma versão anterior, veja Atualizar o IoT Edge.
Entenda as funções do PowerShell que implantam, provisionam e obtêm o status de sua máquina virtual IoT Edge para Linux no Windows (EFLOW).
Pré-requisitos
Os comandos descritos neste artigo são do AzureEFLOW.psm1
arquivo, que pode ser encontrado em seu sistema em seu WindowsPowerShell
diretório em C:\Program Files\WindowsPowerShell\Modules\AzureEFLOW
.
Se você não tiver a pasta AzureEflow em seu diretório do PowerShell, use as seguintes etapas para baixar e instalar o Azure IoT Edge para Linux no Windows:
Em uma sessão do PowerShell com privilégios elevados, execute cada um dos comandos a seguir para baixar o IoT Edge para Linux no 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 o IoT Edge para Linux no Windows no seu dispositivo.
Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn"
Você pode especificar a instalação personalizada e diretórios VHDX adicionando
INSTALLDIR="<FULLY_QUALIFIED_PATH>"
parâmetros eVHDXDIR="<FULLY_QUALIFIED_PATH>"
ao comando install.Defina a política de execução no dispositivo de destino como pelo menos
AllSigned
.Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
Add-EflowNetwork
O comando Add-EflowNetwork adiciona uma nova rede à máquina virtual EFLOW. Este comando precisa de dois parâmetros.
Parâmetro | Valores aceites | Comentários |
---|---|---|
vswitchName | Nome do comutador virtual | Nome do comutador virtual atribuído à VM EFLOW. |
vswitchType [en] | Interno ou Externo | Tipo do comutador virtual atribuído à VM EFLOW. |
Ele retorna um objeto que contém quatro propriedades:
- Nome
- Método de atribuição
- Cidr
- Type
Para obter mais informações, use o comando Get-Help Add-EflowNetwork -full
.
Add-EflowVmEndpoint
O comando Add-EflowVmEndpoint adiciona um novo ponto de extremidade de rede à máquina virtual EFLOW. Use os parâmetros opcionais para definir um IP estático.
Parâmetro | Valores aceites | Comentários |
---|---|---|
vswitchName | Nome do comutador virtual | Nome do comutador virtual atribuído à VM EFLOW. |
vendpointName | Nome do ponto de extremidade virtual | Nome do ponto de extremidade virtual atribuído à VM EFLOW. |
Endereço ip4 | Endereço IPv4 no intervalo do Escopo do Servidor DCHP | Endereço Ipv4 estático da VM EFLOW. |
ip4PrefixLength | Comprimento do prefixo IPv4 da sub-rede | Comprimento do prefixo da sub-rede Ipv4, válido apenas quando o endereço estático Ipv4 é especificado. |
ip4GatewayAddress | Endereço IPv4 do gateway de sub-rede | Endereço Ipv4 do gateway, válido apenas quando o endereço Ipv4 estático é especificado. |
Ele retorna um objeto que contém quatro propriedades:
- Nome
- MacEndereço
- HealthStatus
- Configuração de Ip
Para obter mais informações, use o comando Get-Help Add-EflowVmEndpoint -full
.
Add-EflowVmSharedFolder
O comando Add-EflowVmSharedFolder permite compartilhar uma ou mais pastas do sistema operacional host do Windows com a máquina virtual EFLOW.
Parâmetro | Valores aceites | Comentários |
---|---|---|
sharedFoldersJsonPath | String | Caminho para o arquivo de configuração JSON de Pastas Compartilhadas . |
O arquivo de configuração JSON deve ter a seguinte estrutura:
- sharedFOlderRoot : Caminho para a pasta raiz do Windows que contém todas as pastas a serem compartilhadas com a máquina virtual EFLOW.
- hostFolderPath: Caminho relativo (para a pasta raiz pai) da pasta a ser compartilhada com a VM EFLOW.
- readOnly: Define se a pasta compartilhada é gravável ou somente leitura da máquina virtual EFLOW - Valores: false ou true.
- targetFolderOnGuest : Caminho da pasta dentro da máquina virtual EFLOW onde a pasta do sistema operacional host do Windows está montada.
[
{
"sharedFolderRoot": "<shared-folder-root-windows-path>",
"sharedFolders": [
{ "hostFolderPath": "<path-shared-folder>",
"readOnly": "<read-only>",
"targetFolderOnGuest": "<linux-mounting-point>"
}
]
}
]
Para obter mais informações, use o comando Get-Help Add-EflowVmSharedFolder -full
.
Connect-EflowVm
O comando Connect-EflowVm se conecta à máquina virtual usando SSH. A única conta permitida para SSH para a máquina virtual é o usuário que a criou.
Este comando só funciona em uma sessão do PowerShell em execução no dispositivo host. Ele não funcionará ao usar o Windows Admin Center ou o PowerShell ISE.
Para obter mais informações, use o comando Get-Help Connect-EflowVm -full
.
Copy-EflowVmFile
O comando Copy-EflowVmFile copia o arquivo de ou para a máquina virtual usando SCP. Use os parâmetros opcionais para especificar os caminhos dos arquivos de origem e destino e a direção da cópia.
O usuário iotedge-user deve ter permissão de leitura para qualquer diretório de origem ou permissão de gravação para qualquer diretório de destino na máquina virtual.
Parâmetro | Valores aceites | Comentários |
---|---|---|
fromFile | String que representa o caminho para o arquivo | Define o arquivo a ser lido. |
toFile | String que representa o caminho para o arquivo | Define o arquivo a ser gravado. |
pushFile | Nenhuma | Este sinalizador indica a direção da cópia. Se estiver presente, o comando envia o arquivo para a máquina virtual. Se ausente, o comando extrai o arquivo da máquina virtual. |
Para obter mais informações, use o comando Get-Help Copy-EflowVMFile -full
.
Deploy-Eflow
O comando Deploy-Eflow é o principal método de implantação. O comando deployment cria a máquina virtual, provisiona arquivos e implanta o módulo do agente do IoT Edge. Embora nenhum dos parâmetros seja necessário, eles podem ser usados para modificar as configurações da máquina virtual durante a criação.
Parâmetro | Valores aceites | Comentários |
---|---|---|
aceitarEula | Sim ou Não | Um atalho para aceitar/negar o EULA e ignorar o prompt do EULA. |
acceptOptionalTelemetry | Sim ou Não | Um atalho para aceitar/negar telemetria opcional e ignorar o prompt de telemetria. |
cpuContagem | Valor inteiro entre 1 e os núcleos de CPU do dispositivo | Número de núcleos de CPU para a VM. Valor padrão: 1 vCore. |
memóriaInMB | Valor par inteiro entre 1024 e a quantidade máxima de memória livre do dispositivo | Memória alocada para a VM. Valor padrão: 1024 MB. |
vmDiskSize | Entre 21 GB e 2 TB | Tamanho máximo do disco lógico do disco rígido virtual em expansão dinâmica. Valor padrão: 29 GB. Nota: vmDiskSize ou vmDataSize podem ser usados, mas não ambos juntos. |
vmDataSize | Entre 2 GB e 2 TB | Tamanho máximo da partição de dados do disco rígido resultante, em GB. Valor padrão: 10 GB. Nota: vmDiskSize ou vmDataSize podem ser usados, mas não ambos juntos. |
vmLogTamanho | Pequeno ou Grande | Especifique o tamanho da partição de log. Pequeno = 1GB, Grande = 6GB. Valor padrão: Pequeno. |
vswitchName | Nome do comutador virtual | Nome do comutador virtual atribuído à VM EFLOW. |
vswitchType [en] | Interno ou Externo | Tipo do comutador virtual atribuído à VM EFLOW. |
Endereço ip4 | Endereço IPv4 no intervalo do Escopo do Servidor DCHP | Endereço Ipv4 estático da VM EFLOW. |
ip4PrefixLength | Comprimento do prefixo IPv4 da sub-rede | Comprimento do prefixo da sub-rede Ipv4, válido apenas quando o endereço estático Ipv4 é especificado. |
ip4GatewayAddress | Endereço IPv4 do gateway de sub-rede | Endereço Ipv4 do gateway, válido apenas quando o endereço Ipv4 estático é especificado. |
gpuNome | Nome do dispositivo GPU | Nome do dispositivo GPU a ser usado para passagem. |
gpuPassthroughType | DirectDeviceAssignment, ParaVirtualization ou nenhum (somente CPU) | Tipo de passagem de GPU |
gpuContagem | Valor inteiro entre 1 e o número de núcleos de GPU do dispositivo | Número de dispositivos GPU para a VM. Nota: Se estiver usando ParaVirtualization, certifique-se de definir gpuCount = 1 |
customSsh | Nenhuma | Determina se o usuário deseja usar sua instalação personalizada do OpenSSH.Client. Se existir, ssh.exe deve estar disponível para o PSM EFLOW |
sharedFoldersJsonPath | String | Caminho para o arquivo de configuração JSON de Pastas Compartilhadas . |
Para obter mais informações, use o comando Get-Help Deploy-Eflow -full
.
Get-EflowHostConfiguration
O comando Get-EflowHostConfiguration retorna a configuração do host. Este comando não usa parâmetros. Ele retorna um objeto que contém quatro propriedades:
- FreePhysicalMemoryInMB
- NumberOfLogicalProcessors
- DiskInfo
- GpuInfo
Para obter mais informações, use o comando Get-Help Get-EflowHostConfiguration -full
.
Get-EflowLogs
O comando Get-EflowLogs coleta e agrupa logs do IoT Edge para Linux na implantação e instalação do Windows. Ele produz os logs agrupados na forma de uma .zip
pasta.
Para obter mais informações, use o comando Get-Help Get-EflowLogs -full
.
Get-EflowNetwork
O comando Get-EflowNetwork retorna uma lista das redes atribuídas à máquina virtual EFLOW. Use o parâmetro opcional para obter uma rede específica.
Parâmetro | Valores aceites | Comentários |
---|---|---|
vswitchName | Nome do comutador virtual | Nome do comutador virtual atribuído à VM EFLOW. |
Ele retorna uma lista de objetos que contém quatro propriedades:
- Nome
- Método de atribuição
- Cidr
- Type
Para obter mais informações, use o comando Get-Help Get-EflowNetwork -full
.
Get-EflowVm
O comando Get-EflowVm retorna a configuração atual da máquina virtual. Este comando não usa parâmetros. Ele retorna um objeto que contém quatro propriedades:
- VmConfiguration
- VmPowerState
- EdgeRuntimeVersion
- EdgeRuntimeStatus
- Estatísticas do Sistema
Para exibir uma propriedade específica em uma lista legível, execute o Get-EflowVM
comando com a propriedade expandida. Por exemplo:
Get-EflowVM | Select -ExpandProperty VmConfiguration | Format-List
Para obter mais informações, use o comando Get-Help Get-EflowVm -full
.
Get-EflowVmAddr
O comando Get-EflowVmAddr é usado para consultar o endereço IP e MAC atual da máquina virtual. Este comando existe para explicar o fato de que o endereço IP e MAC pode mudar ao longo do tempo.
Para obter informações adicionais, use o comando Get-Help Get-EflowVmAddr -full
.
Get-EflowVmEndpoint
O comando Get-EflowVmEndpoint retorna uma lista dos pontos de extremidade de rede atribuídos à máquina virtual EFLOW. Use o parâmetro opcional para obter um ponto de extremidade de rede específico.
Parâmetro | Valores aceites | Comentários |
---|---|---|
vswitchName | Nome do comutador virtual | Nome do comutador virtual atribuído à VM EFLOW. |
Ele retorna uma lista de objetos que contém quatro propriedades:
- Nome
- MacEndereço
- HealthStatus
- Configuração de Ip
Para obter mais informações, use o comando Get-Help Get-EflowVmEndpoint -full
.
Get-EflowVmFeature
O comando Get-EflowVmFeature retorna o status da ativação dos recursos do IoT Edge para Linux no Windows.
Parâmetro | Valores aceites | Comentários |
---|---|---|
funcionalidade | DpsTpm | Nome do recurso a ser consultado. |
Para obter mais informações, use o comando Get-Help Get-EflowVmFeature -full
.
Get-EflowVmName
O comando Get-EflowVmName retorna o nome de host atual da máquina virtual. Este comando existe para explicar o fato de que o nome de host do Windows pode mudar ao longo do tempo.
Para obter mais informações, use o comando Get-Help Get-EflowVmName -full
.
Get-EflowVmSharedFolder
O comando Get-EflowVmSharedFolder retorna as informações sobre uma ou mais pastas do sistema operacional host do Windows compartilhadas com a máquina virtual EFLOW.
Parâmetro | Valores aceites | Comentários |
---|---|---|
sharedfolderRoot | String | Caminho para a pasta raiz compartilhada do sistema operacional host Windows. |
hostFolderPath | String ou Lista | Caminho/caminhos relativos (para a pasta raiz) para a(s) pasta(s) compartilhada(s) do sistema operacional host Windows. |
Ele retorna uma lista de objetos que contém três propriedades:
- hostFolderPath: caminho relativo (para a pasta raiz pai) da pasta compartilhada com a VM EFLOW.
- readOnly: Define se a pasta compartilhada é gravável ou somente leitura da máquina virtual EFLOW - Valores: false ou true.
- targetFolderOnGuest: Caminho da pasta dentro da máquina virtual EFLOW onde a pasta do Windows está montada.
Para obter mais informações, use o comando Get-Help Get-EflowVmSharedFolder -full
.
Get-EflowVmTelemetryOption
O comando Get-EflowVmTelemetryOption exibe o status da telemetria ( Opcional ou Necessária) dentro da máquina virtual.
Para obter mais informações, use o comando Get-Help Get-EflowVmTelemetryOption -full
.
Get-EflowVmTpmProvisioningInfo
O comando Get-EflowVmTpmProvisioningInfo retorna as informações de provisionamento do TPM. Este comando não usa parâmetros. Ele retorna um objeto que contém duas propriedades:
- Chave de Endossamento
- ID de Registo
Para obter mais informações, use o comando Get-Help Get-EflowVmTpmProvisioningInfo -full
.
Invoke-EflowVmCommand
O comando Invoke-EflowVMCommand executa um comando Linux dentro da máquina virtual e retorna a saída. Este comando só funciona para comandos Linux que retornam uma saída finita. Ele não pode ser usado para comandos Linux que exigem interação do usuário ou que são executados indefinidamente.
Os seguintes parâmetros opcionais podem ser usados para especificar o comando com antecedência.
Parâmetro | Valores aceites | Comentários |
---|---|---|
comando | String | Comando a ser executado na VM. |
ignoreError | Nenhuma | Se esse sinalizador estiver presente, ignore os erros do comando. |
Para obter mais informações, use o comando Get-Help Invoke-EflowVmCommand -full
.
Provisão-EflowVm
O comando Provision-EflowVm adiciona as informações de provisionamento do dispositivo IoT Edge ao arquivo IoT Edge config.yaml
da máquina virtual.
Parâmetro | Valores aceites | Comentários |
---|---|---|
Tipo de provisionamento | ManualConnectionString, ManualX509, DpsTPM, DpsX509 ou DpsSymmetricKey | Define o tipo de provisionamento que você deseja usar para seu dispositivo IoT Edge. |
devConnString | A cadeia de conexão de dispositivo de um dispositivo IoT Edge existente | Cadeia de conexão de dispositivo para provisionar manualmente um dispositivo IoT Edge (ManualConnectionString). |
iotHubHostname | O nome do host de um hub IoT existente | Nome de host do Hub IoT do Azure para provisionar um dispositivo IoT Edge (ManualX509). |
deviceId | O ID do dispositivo de um dispositivo IoT Edge existente | ID do dispositivo para provisionar um dispositivo IoT Edge (ManualX509). |
scopeId | O ID de escopo para uma instância DPS existente. | ID de escopo para provisionar um dispositivo IoT Edge (DpsTPM, DpsX509 ou DpsSymmetricKey). |
symmKey | A chave primária para um registro DPS existente ou a chave primária de um dispositivo IoT Edge existente registrado usando chaves simétricas | Chave simétrica para provisionamento de um dispositivo IoT Edge (DpsSymmetricKey). |
ID de registo | A ID de registro de um dispositivo IoT Edge existente | ID de registro para provisionamento de um dispositivo IoT Edge (DpsSymmetricKey, DpsTPM). |
identityCertPath | Directory path | Caminho de destino absoluto do certificado de identidade em sua máquina host Windows (ManualX509, DpsX509). |
identidadePrivKeyPath | Directory path | Caminho de origem absoluto da chave privada de identidade em sua máquina host Windows (ManualX509, DpsX509). |
globalEndpoint | URL do ponto de extremidade do dispositivo | URL para Ponto Final Global a ser usado para provisionamento de DPS. |
Para obter mais informações, use o comando Get-Help Provision-EflowVm -full
.
Remove-EflowNetwork
O comando Remove-EflowNetwork remove uma rede existente conectada à máquina virtual EFLOW. Este comando usa um parâmetro.
Parâmetro | Valores aceites | Comentários |
---|---|---|
vswitchName | Nome do comutador virtual | Nome do comutador virtual atribuído à VM EFLOW. |
Para obter mais informações, use o comando Get-Help Remove-EflowNetwork -full
.
Remove-EflowVmEndpoint
O comando Remove-EflowVmEndpoint remove um ponto de extremidade de rede existente conectado à máquina virtual EFLOW. Este comando usa um parâmetro.
Parâmetro | Valores aceites | Comentários |
---|---|---|
vendpointName | Nome do ponto de extremidade virtual | Nome do ponto de extremidade virtual atribuído à VM EFLOW. |
Para obter mais informações, use o comando Get-Help Remove-EflowVmEndpoint -full
.
Remove-EflowVmSharedFolder
O comando Remove-EflowVmSharedFolder para de compartilhar a pasta do sistema operacional host do Windows com a máquina virtual EFLOW. Este comando precisa de dois parâmetros.
Parâmetro | Valores aceites | Comentários |
---|---|---|
sharedfolderRoot | String | Caminho para a pasta raiz compartilhada do sistema operacional host Windows. |
hostFolderPath | String ou Lista | Caminho/caminhos relativos (para a pasta raiz) para a(s) pasta(s) compartilhada(s) do sistema operacional host Windows. |
Para obter mais informações, use o comando Get-Help Remove-EflowVmSharedFolder -full
.
Set-EflowVM
O comando Set-EflowVM atualiza a configuração da máquina virtual com as propriedades solicitadas. Use os parâmetros opcionais para definir uma configuração específica para a máquina virtual.
Parâmetro | Valores aceites | Comentários |
---|---|---|
cpuContagem | Valor inteiro entre 1 e os núcleos de CPU do dispositivo | Número de núcleos de CPU para a VM. |
memóriaInMB | Valor inteiro entre 1024 e a quantidade máxima de memória livre do dispositivo | Memória alocada para a VM. |
gpuNome | Nome do dispositivo GPU | Nome do dispositivo GPU a ser usado para passagem. |
gpuPassthroughType | DirectDeviceAssignment, ParaVirtualization ou nenhum (sem passagem) | Tipo de passagem de GPU |
gpuContagem | Valor inteiro entre 1 e os núcleos de GPU do dispositivo | Número de dispositivos GPU para a VM Nota: Válido apenas ao usar DirectDeviceAssignment |
sem cabeça | Nenhuma | Se esse sinalizador estiver presente, ele determinará se o usuário precisa confirmar caso um aviso de segurança seja emitido. |
Para obter mais informações, use o comando Get-Help Set-EflowVM -full
.
Set-EflowVmDNSServers
O comando Set-EflowVmDNSServers configura os servidores DNS para a máquina virtual EFLOW.
Parâmetro | Valores aceites | Comentários |
---|---|---|
vendpointName | Valor da cadeia de caracteres do nome do ponto de extremidade virtual | Use o Get-EflowVmEndpoint para obter as interfaces virtuais atribuídas à VM EFLOW. Por exemplo, DESKTOP-CONTOSO-EflowInterface |
dnsServers | Lista de IPAddress do servidor DNS a utilizar para resolução de nomes | Por exemplo, @("10.0.10.1") |
Para obter mais informações, use o comando Get-Help Set-EflowVmDNSServers -full
.
Set-EflowVmFeature
O comando Set-EflowVmFeature habilita ou desabilita o status dos recursos do IoT Edge para Linux no Windows.
Parâmetro | Valores aceites | Comentários |
---|---|---|
funcionalidade | DpsTpm, Defensor | Nome do recurso a ser alternado. |
ativar | Nenhuma | Se esse sinalizador estiver presente, o comando habilitará o recurso. |
Para obter mais informações, use o comando Get-Help Set-EflowVmFeature -full
.
Set-EflowVmTelemetryOption
O comando Set-EflowVmTelemetryOption habilita ou desabilita a telemetria opcional dentro da máquina virtual.
Parâmetro | Valores aceites | Comentários |
---|---|---|
opcionalTelemetria | Verdadeiro ou Falso | Se a telemetria opcional está selecionada. |
Para obter mais informações, use o comando Get-Help Set-EflowVmTelemetryOption -full
.
Start-EflowVm
O comando Start-EflowVm inicia a máquina virtual. Se a máquina virtual já tiver sido iniciada, nenhuma ação será executada.
Para obter mais informações, use o comando Get-Help Start-EflowVm -full
.
Parar-EflowVm
O comando Stop-EflowVm para a máquina virtual. Se a máquina virtual já estiver parada, nenhuma ação será executada.
Para obter mais informações, use o comando Get-Help Stop-EflowVm -full
.
Verificar-EflowVm
O comando Verify-EflowVm é uma função exposta que verifica se o IoT Edge para Linux na máquina virtual Windows foi criado. Ele usa apenas parâmetros comuns e retorna True se a máquina virtual foi criada e False se não.
Para obter mais informações, use o comando Get-Help Verify-EflowVm -full
.
Próximos passos
Saiba como usar esses comandos para instalar e provisionar o IoT Edge para Linux no Windows no seguinte artigo: