Fonctions PowerShell pour IoT Edge pour Linux sur Windows
S’applique à : IoT Edge 1.4
Important
Azure IoT Edge 1.5 LTS et IoT Edge 1.4 sont des versions prises en charge. IoT Edge 1.4 LTS atteint la fin du service le 12 novembre 2024. Si vous utilisez une version antérieure, consultez l’article Mettre à jour IoT Edge.
Découvrez les fonctions PowerShell qui déploient, approvisionnent et obtiennent l’état de votre IoT Edge pour Linux sur une machine virtuelle Windows (EFLOW).
Prérequis
Les commandes décrites dans cet article proviennent du fichier AzureEFLOW.psm1
, qui se trouve sur votre système dans votre répertoire WindowsPowerShell
sous C:\Program Files\WindowsPowerShell\Modules\AzureEFLOW
.
Si vous n’avez pas le dossier AzureEflow dans votre répertoire PowerShell, suivez les étapes ci-dessous pour télécharger et installer Azure IoT Edge pour Linux sur Windows :
Dans une session PowerShell avec élévation de privilèges, exécutez chacune des commandes suivantes pour télécharger IoT Edge pour Linux sur 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
Installez IoT Edge pour Linux sur Windows sur votre appareil.
Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn"
Vous pouvez spécifier des répertoires d’installation et VHDX personnalisés en ajoutant les paramètres
INSTALLDIR="<FULLY_QUALIFIED_PATH>"
andVHDXDIR="<FULLY_QUALIFIED_PATH>"
à la commande d’installation.Définissez la stratégie d’exécution sur l’appareil cible sur au moins
AllSigned
.Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
Add-EflowNetwork
La commande Add-EflowNetwork ajoute un nouveau réseau à la machine virtuelle EFLOW. Cette commande accepte deux paramètres.
Paramètre | Valeurs acceptées | Commentaires |
---|---|---|
vswitchName | Nom du commutateur virtuel | Nom du commutateur virtuel affecté à la machine virtuelle EFLOW. |
vswitchType | Interne ou externe | Nom du commutateur virtuel affecté à la machine virtuelle EFLOW. |
Elle retourne un objet qui contient quatre propriétés :
- Nom
- AllocationMethod
- Cidr
- Type
Pour plus d'informations, utilisez la commande Get-Help Add-EflowNetwork -full
.
Add-EflowVmEndpoint
La commande Add-EflowVmEndpoint ajoute un nouveau point de terminaison réseau à la machine virtuelle EFLOW. Utilisez les paramètres facultatifs pour définir une adresse IP statique.
Paramètre | Valeurs acceptées | Commentaires |
---|---|---|
vswitchName | Nom du commutateur virtuel | Nom du commutateur virtuel affecté à la machine virtuelle EFLOW. |
vendpointName | Nom du point de terminaison virtuel | Nom du point de terminaison virtuel affecté à la machine virtuelle EFLOW. |
ip4Address | Adresse IPv4 dans la plage de l’étendue du serveur DCHP | Adresse IPv4 statique de la machine virtuelle EFLOW. |
ip4PrefixLength | Longueur du préfixe IPv4 du sous-réseau | Longueur de préfixe de sous-réseau IPv4 uniquement valide lorsque l’adresse IPv4 statique est spécifiée. |
ip4GatewayAddress | Adresse IPv4 de la passerelle de sous-réseau | Adresse IPv4 de la passerelle, valide uniquement lorsque l’adresse IPv4 statique est spécifiée. |
Elle retourne un objet qui contient quatre propriétés :
- Nom
- MacAddress
- HealthStatus
- IpConfiguration
Pour plus d'informations, utilisez la commande Get-Help Add-EflowVmEndpoint -full
.
Add-EflowVmSharedFolder
La commande Add-EflowVmSharedFolder permet de partager un ou plusieurs dossiers de système d’exploitation hôte Windows avec la machine virtuelle EFLOW.
Paramètre | Valeurs acceptées | Commentaires |
---|---|---|
sharedFoldersJsonPath | Chaîne | Chemin du fichier de configuration JSON Dossiers partagés. |
Le fichier de configuration JSON doit présenter la structure suivante :
- sharedFolderRoot : chemin du dossier racine Windows contenant tous les dossiers à partager avec la machine virtuelle EFLOW.
- hostFolderPath : chemin relatif (vers le dossier racine parent) du dossier à partager avec la machine virtuelle EFLOW.
- readOnly : définit si le dossier partagé est accessible en écriture ou en lecture seule sur la machine virtuelle EFLOW (valeurs : false et true).
- targetFolderOnGuest : chemin du dossier à l’intérieur de la machine virtuelle EFLOW où le dossier du système d’exploitation hôte Windows est monté.
[
{
"sharedFolderRoot": "<shared-folder-root-windows-path>",
"sharedFolders": [
{ "hostFolderPath": "<path-shared-folder>",
"readOnly": "<read-only>",
"targetFolderOnGuest": "<linux-mounting-point>"
}
]
}
]
Pour plus d'informations, utilisez la commande Get-Help Add-EflowVmSharedFolder -full
.
Connect-EflowVm
La commande Connect-EflowVm se connecte à la machine virtuelle via SSH. Le seul compte autorisé à accéder via SSH à la machine virtuelle est celui de l’utilisateur qui l’a créée.
Cette commande fonctionne uniquement sur une session PowerShell en cours d’exécution sur l’appareil hôte. Elle ne fonctionnera pas lors de l’utilisation du centre d’administration Windows ou de PowerShell ISE.
Pour plus d'informations, utilisez la commande Get-Help Connect-EflowVm -full
.
Copy-EflowVmFile
La commande Copy-EflowVmFile copie le fichier vers ou à partir de la machine virtuelle à l’aide de SCP. Utilisez les paramètres facultatifs pour spécifier les chemins d’accès aux fichiers source et de destination, ainsi que la direction de la copie.
L’utilisateur iotedge-user doit disposer de l’autorisation de lecture sur tous les répertoires d’origine ou d’une autorisation d’écriture sur les répertoires de destination de l’ordinateur virtuel.
Paramètre | Valeurs acceptées | Commentaires |
---|---|---|
fromFile | Chaîne représentant le chemin d’accès au fichier | Définit le fichier à partir duquel effectuer la lecture. |
toFile | Chaîne représentant le chemin d’accès au fichier | Définit le fichier dans lequel écrire. |
pushFile | Aucune | Cet indicateur indique la direction de la copie. Si présent, la commande transmet le fichier à la machine virtuelle. Si absent, la commande extrait le fichier à partir de la machine virtuelle. |
Pour plus d'informations, utilisez la commande Get-Help Copy-EflowVMFile -full
.
Deploy-Eflow
La commande Deploy-Eflow est la principale méthode de déploiement. La commande de déploiement crée la machine virtuelle, approvisionne des fichiers et déploie le module d’agent IoT Edge. Bien qu’aucun des paramètres ne soit obligatoire, ils peuvent être utilisés pour modifier les paramètres de la machine virtuelle pendant sa création.
Paramètre | Valeurs acceptées | Commentaires |
---|---|---|
acceptEula | Oui ou Non | Raccourci pour accepter/refuser le CLUF et contourner l’invite du CLUF. |
acceptOptionalTelemetry | Oui ou Non | Raccourci permettant d’accepter/de refuser la télémétrie facultative et de contourner l’invite de télémétrie. |
cpuCount | Valeur entière comprise entre 1 et les cœurs d’UC de l’appareil | Nombre de cœurs de processeur pour la machine virtuelle. Valeur par défaut: 1 vCore. |
memoryInMB | Valeur entière paire comprise entre 1024 et la quantité maximale de mémoire disponible de l’appareil | Mémoire allouée pour la machine virtuelle. DValeur par défaut : 1 024 Mo. |
vmDiskSize | Entre 21 Go et 2 To | Taille de disque logique maximale du disque dur virtuel de taille dynamique. Valeur par défaut : 29 Go. Remarque : Vous pouvez utiliser vmDiskSize ou vmDataSize, mais pas les deux à la fois. |
vmDataSize | Entre 2 Go et 2 To | Taille maximale de la partition de données du disque dur résultant, en Go. Valeur par défaut : 10 Go. Remarque : Vous pouvez utiliser vmDiskSize ou vmDataSize, mais pas les deux à la fois. |
vmLogSize | Small ou Large | Précisez la taille de la partition du journal. Small = 1 Go, Large = 6 Go. Valeur par défaut : Small. |
vswitchName | Nom du commutateur virtuel | Nom du commutateur virtuel affecté à la machine virtuelle EFLOW. |
vswitchType | Interne ou externe | Nom du commutateur virtuel affecté à la machine virtuelle EFLOW. |
ip4Address | Adresse IPv4 dans la plage de l’étendue du serveur DCHP | Adresse IPv4 statique de la machine virtuelle EFLOW. |
ip4PrefixLength | Longueur du préfixe IPv4 du sous-réseau | Longueur de préfixe de sous-réseau IPv4 uniquement valide lorsque l’adresse IPv4 statique est spécifiée. |
ip4GatewayAddress | Adresse IPv4 de la passerelle de sous-réseau | Adresse IPv4 de la passerelle, valide uniquement lorsque l’adresse IPv4 statique est spécifiée. |
gpuName | Nom du Périphérique GPU | Nom du périphérique GPU à utiliser pour le relais. |
gpuPassthroughType | DirectDeviceAssignment, ParaVirtualization, ou aucun (CPU uniquement) | Type de relais GPU |
gpuCount | Valeur entière comprise entre 1 et le nombre de cœurs GPU de l’appareil | Nombre de périphériques GPU pour la machine virtuelle. Remarque : Si vous utilisez Paravirtualization, veillez à définir gpuCount = 1 |
customSsh | Aucune | Détermine si l’utilisateur veut utiliser son installation OpenSSH.Client personnalisée. Si ce paramètre est présent, ssh.exe doit être disponible pour EFLOW PSM. |
sharedFoldersJsonPath | Chaîne | Chemin du fichier de configuration JSON Dossiers partagés. |
Pour plus d'informations, utilisez la commande Get-Help Deploy-Eflow -full
.
Get-EflowHostConfiguration
La commande Get-EflowHostConfiguration renvoie la configuration de l’hôte. Cette commande n’accepte aucun paramètre. Elle retourne un objet qui contient quatre propriétés :
- FreePhysicalMemoryInMB
- NumberOfLogicalProcessors
- DiskInfo
- GpuInfo
Pour plus d'informations, utilisez la commande Get-Help Get-EflowHostConfiguration -full
.
Get-EflowLogs
La commande Get-EflowLogs collecte et regroupe les journaux et les packs ed’IoT Edge pour le déploiement et l’installation de Linux sur Windows. Elle génère les journaux regroupés sous la forme d’un dossier .zip
.
Pour plus d'informations, utilisez la commande Get-Help Get-EflowLogs -full
.
Get-EflowNetwork
La commande Get-EflowNetwork renvoie une liste des réseaux affectés à la machine virtuelle EFLOW. Utilisez le paramètre facultatif pour obtenir un réseau spécifique.
Paramètre | Valeurs acceptées | Commentaires |
---|---|---|
vswitchName | Nom du commutateur virtuel | Nom du commutateur virtuel affecté à la machine virtuelle EFLOW. |
La commande retourne une liste d’objets qui contient quatre propriétés :
- Nom
- AllocationMethod
- Cidr
- Type
Pour plus d'informations, utilisez la commande Get-Help Get-EflowNetwork -full
.
Get-EflowVm
La commande Get-EflowVmrenvoie la configuration actuelle de la machine virtuelle. Cette commande n’accepte aucun paramètre. Elle retourne un objet qui contient quatre propriétés :
- VmConfiguration
- VmPowerState
- EdgeRuntimeVersion
- EdgeRuntimeStatus
- SystemStatistics
Pour afficher une propriété spécifique dans une liste lisible, exécutez la commande Get-EflowVM
avec la propriété développée. Par exemple :
Get-EflowVM | Select -ExpandProperty VmConfiguration | Format-List
Pour plus d'informations, utilisez la commande Get-Help Get-EflowVm -full
.
Get-EflowVmAddr
La commande Get-EflowVmAddr est utilisée pour interroger les adresses IP et Mac de la machine virtuelle. Cette commande existe afin de tenir compte du fait que les adresses IP et Mac peuvent changer dans le temps.
Pour toute information supplémentaire, utilisez la commande Get-Help Get-EflowVmAddr -full
.
Get-EflowVmEndpoint
La commande EflowVmEndpoint renvoie une liste des points de terminaison réseau affectés à la machine virtuelle EFLOW. Utilisez le paramètre facultatif pour obtenir un point de terminaison réseau spécifique.
Paramètre | Valeurs acceptées | Commentaires |
---|---|---|
vswitchName | Nom du commutateur virtuel | Nom du commutateur virtuel affecté à la machine virtuelle EFLOW. |
La commande retourne une liste d’objets qui contient quatre propriétés :
- Nom
- MacAddress
- HealthStatus
- IpConfiguration
Pour plus d'informations, utilisez la commande Get-Help Get-EflowVmEndpoint -full
.
Get-EflowVmFeature
La commande Get-EflowVmFeature renvoie l’état de l’activation d’IoT Edge pour les fonctionnalités Linux sur Windows.
Paramètre | Valeurs acceptées | Commentaires |
---|---|---|
feature | DpsTpm | Nom de la fonctionnalité à interroger. |
Pour plus d'informations, utilisez la commande Get-Help Get-EflowVmFeature -full
.
Get-EflowVmName
La commande Get-EflowVmName renvoie le nom d’hôte actuel de la machine virtuelle. Cette commande permet de tenir compte du fait que le nom d’hôte Windows peut changer dans le temps.
Pour plus d'informations, utilisez la commande Get-Help Get-EflowVmName -full
.
Get-EflowVmSharedFolder
La commande Get-EflowVmSharedFolder retourne les informations relatives à un ou plusieurs dossiers de système d’exploitation hôte Windows partagés avec la machine virtuelle EFLOW.
Paramètre | Valeurs acceptées | Commentaires |
---|---|---|
sharedFolderRoot | Chaîne | Chemin du dossier racine partagé du système d’exploitation hôte Windows. |
hostFolderPath | Chaîne ou liste | Chemin(s) relatif(s) (vers le dossier racine) du ou des dossiers partagés du système d’exploitation hôte Windows. |
La commande retourne une liste d’objets qui contient trois propriétés :
- hostFolderPath : chemin relatif (vers le dossier racine parent) du dossier partagé avec la machine virtuelle EFLOW.
- readOnly : définit si le dossier partagé est accessible en écriture ou en lecture seule sur la machine virtuelle EFLOW (valeurs : false et true).
- targetFolderOnGuest : chemin du dossier à l’intérieur de la machine virtuelle EFLOW où le dossier Windows est monté.
Pour plus d'informations, utilisez la commande Get-Help Get-EflowVmSharedFolder -full
.
Get-EflowVmTelemetryOption
La commande Get-EflowVmTelemetryOption affiche l’état de la télémétrie (soitFacultatif soit Requis) au sein de la machine virtuelle.
Pour plus d'informations, utilisez la commande Get-Help Get-EflowVmTelemetryOption -full
.
Get-EflowVmTpmProvisioningInfo
La commande Get-EflowVmTpmProvisioningInfo renvoie les informations d’approvisionnement du Module de plateforme sécurisée (TPM). Cette commande n’accepte aucun paramètre. Elle retourne un objet qui contient quatre propriétés :
- EK (Endorsement Key)
- ID d'inscription
Pour plus d'informations, utilisez la commande Get-Help Get-EflowVmTpmProvisioningInfo -full
.
Invoke-EflowVmCommand
La commande Invoke-EflowVMCommand exécute une commande Linux dans la machine virtuelle et renvoie le résultat. Cette commande fonctionne uniquement pour les commandes Linux qui retournent une sortie finie. Elle ne peut pas être utilisée pour les commandes Linux qui nécessitent une interaction de l’utilisateur ou qui s’exécutent indéfiniment.
Les paramètres facultatifs suivants peuvent être utilisés pour spécifier la commande à l’avance.
Paramètre | Valeurs acceptées | Commentaires |
---|---|---|
commande | Chaîne | Commande à exécuter sur la machine virtuelle. |
ignoreError | Aucune | Si cet indicateur est présent, ignorez les erreurs de la commande. |
Pour plus d'informations, utilisez la commande Get-Help Invoke-EflowVmCommand -full
.
Provision-EflowVm
La commande Provision-EflowVm ajoute les informations d’approvisionnement de votre appareil IoT Edge au fichier config.yaml
IoT Edge de la machine virtuelle.
Paramètre | Valeurs acceptées | Commentaires |
---|---|---|
provisioningType | ManualConnectionString, ManualX509, DpsTPM, DpsX509 ou DpsSymmetricKey | Définit le type d’approvisionnement que vous souhaitez utiliser pour votre appareil IoT Edge. |
devConnString | Chaîne de connexion d’un appareil IoT Edge existant | Chaîne de connexion d’appareil pour l’approvisionnement manuel d’un appareil IoT Edge (ManualConnectionString). |
iotHubHostname | Nom d’hôte d’un IoT hub existant | Nom d’hôte Azure IoT Hub pour l’approvisionnement d’un appareil IoT Edge (ManualX509). |
deviceId | ID d’appareil d’un appareil IoT Edge existant | ID d’appareil pour l’approvisionnement d’un appareil IoT Edge (ManualX509). |
scopeId | ID d’étendue pour une instance DPS existante. | ID d’étendue pour l’approvisionnement d’un appareil IoT Edge (DpsTPM, DpsX509, ou DpsSymmetricKey). |
symmKey | Clé primaire pour une inscription DPS existante ou clé primaire d’un appareil IoT Edge existant inscrit à l’aide de clés symétriques | Clé symétrique pour l’approvisionnement d’un appareil IoT Edge (DpsSymmetricKey). |
registrationId | ID d’inscription d’un appareil IoT Edge existant | ID d’inscription pour le provisionnement d’un appareil IoT Edge (DpsSymmetricKey, DpsTPM). |
identityCertPath | Chemin du répertoire | Chemin d’accès de la destination absolue du certificat d’identité sur votre machine hôte Windows (ManualX509, DpsX509). |
identityPrivKeyPath | Chemin du répertoire | Chemin d’accès de la destination absolue de la clé privée d’identité sur votre machine hôte Windows (ManualX509, DpsX509). |
globalEndpoint | URL du point de terminaison de l’appareil | URL du point de terminaison global à utiliser pour le provisionnement DPS. |
Pour plus d'informations, utilisez la commande Get-Help Provision-EflowVm -full
.
Remove-EflowNetwork
La commande Remove-EflowNetwork supprime un réseau existant attaché à la machine virtuelle EFLOW. Cette commande accepte un seul paramètre.
Paramètre | Valeurs acceptées | Commentaires |
---|---|---|
vswitchName | Nom du commutateur virtuel | Nom du commutateur virtuel affecté à la machine virtuelle EFLOW. |
Pour plus d'informations, utilisez la commande Get-Help Remove-EflowNetwork -full
.
Remove-EflowVmEndpoint
La commande Remove-EflowNetwork supprime un réseau existant attaché à la machine virtuelle EFLOW. Cette commande accepte un seul paramètre.
Paramètre | Valeurs acceptées | Commentaires |
---|---|---|
vendpointName | Nom du point de terminaison virtuel | Nom du point de terminaison virtuel affecté à la machine virtuelle EFLOW. |
Pour plus d'informations, utilisez la commande Get-Help Remove-EflowVmEndpoint -full
.
Remove-EflowVmSharedFolder
La commande Remove-EflowVmSharedFolder arrête le partage du dossier du système d’exploitation hôte Windows avec la machine virtuelle EFLOW. Cette commande accepte deux paramètres.
Paramètre | Valeurs acceptées | Commentaires |
---|---|---|
sharedFolderRoot | Chaîne | Chemin du dossier racine partagé du système d’exploitation hôte Windows. |
hostFolderPath | Chaîne ou liste | Chemin(s) relatif(s) (vers le dossier racine) du ou des dossiers partagés du système d’exploitation hôte Windows. |
Pour plus d'informations, utilisez la commande Get-Help Remove-EflowVmSharedFolder -full
.
Set-EflowVM
La commande Set-EflowVM actualise la configuration de la machine virtuelle avec les propriétés requises. Utilisez les paramètres facultatifs pour définir une configuration spécifique pour la machine virtuelle.
Paramètre | Valeurs acceptées | Commentaires |
---|---|---|
cpuCount | Valeur entière comprise entre 1 et les cœurs d’UC de l’appareil | Nombre de cœurs de processeur pour la machine virtuelle. |
memoryInMB | Valeur entière comprise entre 1 024 et la quantité maximale de mémoire disponible de l’appareil | Mémoire allouée pour la machine virtuelle. |
gpuName | Nom du Périphérique GPU | Nom du périphérique GPU à utiliser pour le relais. |
gpuPassthroughType | DirectDeviceAssignment, ParaVirtualization, ou aucun (pas de relais) | Type de relais GPU |
gpuCount | Valeur entière comprise entre 1 et les cœurs GPU de l’appareil | Nombre d’appareils GPU pour la machine virtuelle. Remarque : uniquement valide en cas d’utilisation de DirectDeviceAssignment |
sans affichage | Aucune | Si cet indicateur est présent, il détermine si l’utilisateur doit confirmer en cas d’émission d’un avertissement de sécurité. |
Pour plus d'informations, utilisez la commande Get-Help Set-EflowVM -full
.
Set-EflowVmDNSServers
La commande Set-EflowVmDNSServers configure les serveurs DNS de la machine virtuelle EFLOW.
Paramètre | Valeurs acceptées | Commentaires |
---|---|---|
vendpointName | Valeur de type chaîne du nom du point de terminaison virtuel | Utilisez la commande Get-EflowVmEndpoint pour obtenir les interfaces virtuelles attribuées à la machine virtuelle EFLOW. Par exemple : DESKTOP-CONTOSO-EflowInterface |
dnsServers | Liste des adresses IP des serveurs DNS à utiliser pour la résolution de noms | Par exemple : @("10.0.10.1") |
Pour plus d'informations, utilisez la commande Get-Help Set-EflowVmDNSServers -full
.
Set-EflowVmFeature
La commande Set-EflowVmFeature active ou désactive l’état d’IoT Edge pour les fonctionnalités Linux sur Windows.
Paramètre | Valeurs acceptées | Commentaires |
---|---|---|
feature | DpsTpm, Defender | Nom de la fonctionnalité à activer/désactiver. |
enable | Aucune | Si cet indicateur est présent, la commande active la fonctionnalité. |
Pour plus d'informations, utilisez la commande Get-Help Set-EflowVmFeature -full
.
Set-EflowVmTelemetryOption
La commande Set-EflowVmTelemetryOption active ou désactive la télémétrie facultative au sein de la machine virtuelle.
Paramètre | Valeurs acceptées | Commentaires |
---|---|---|
optionalTelemetry | Vrai ou Faux | Si la télémétrie facultative est sélectionnée. |
Pour plus d'informations, utilisez la commande Get-Help Set-EflowVmTelemetryOption -full
.
Start-EflowVm
La commande Start-EflowVm démarre la machine virtuelle. Si la machine virtuelle est déjà démarrée, aucune action n’est effectuée.
Pour plus d'informations, utilisez la commande Get-Help Start-EflowVm -full
.
Stop-EflowVm
La commande Stop-EflowVm arrête la machine virtuelle. Si la machine virtuelle est déjà arrêtée, aucune action n’est effectuée.
Pour plus d'informations, utilisez la commande Get-Help Stop-EflowVm -full
.
Verify-EflowVm
La commande Verify-EflowVm est une fonction exposée pour vérifier si la machine virtuelle IoT Edge pour Linux sur Windows a été créée. Il ne prend que les paramètres courants, et retourne True si la machine virtuelle a été créée et False si ce n’est pas le cas.
Pour plus d'informations, utilisez la commande Get-Help Verify-EflowVm -full
.
Étapes suivantes
Découvrez comment utiliser ces commandes pour installer et configurer IoT Edge pour Linux sur Windows dans l’article suivant :