Funkce PowerShellu pro IoT Edge pro Linux na Windows

Platí pro: Značka zaškrtnutí IoT Edge 1.4 IoT Edge 1.4

Důležité

Podporované verze azure IoT Edge 1.5 LTS a IoT Edge 1.4. IoT Edge 1.4 LTS končí 12. listopadu 2024. Pokud používáte starší verzi, podívejte se na článek Aktualizace IoT Edge.

Seznamte se s funkcemi PowerShellu, které nasazují, zřizují a získávají stav virtuálního počítače IoT Edge pro Linux ve Windows (EFLOW).

Požadavky

Příkazy popsané v tomto článku pocházejí ze AzureEFLOW.psm1 souboru, který najdete v systému v adresáři v WindowsPowerShell části C:\Program Files\WindowsPowerShell\Modules\AzureEFLOW.

Pokud ve svém adresáři PowerShellu nemáte složku AzureEflow , stáhněte a nainstalujte Azure IoT Edge pro Linux ve Windows pomocí následujícího postupu:

  1. V relaci PowerShellu se zvýšenými oprávněními spusťte každý z následujících příkazů a stáhněte si IoT Edge pro Linux ve 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
    
  2. Nainstalujte na zařízení IoT Edge pro Linux ve Windows.

    Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn"
    

    Vlastní instalace a adresáře VHDX můžete zadat přidáním INSTALLDIR="<FULLY_QUALIFIED_PATH>" parametrů VHDXDIR="<FULLY_QUALIFIED_PATH>" do příkazu install.

  3. Nastavte zásadu spouštění na cílovém zařízení alespoň AllSignedna hodnotu .

    Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
    

Add-EflowNetwork

Příkaz Add-EflowNetwork přidá do virtuálního počítače EFLOW novou síť. Tento příkaz přijímá dva parametry.

Parametr Přípustné hodnoty Komentáře
vswitchName Název virtuálního přepínače Název virtuálního přepínače přiřazeného virtuálnímu počítači EFLOW
vswitchType Interní nebo externí Typ virtuálního přepínače přiřazeného k virtuálnímu počítači EFLOW

Vrátí objekt, který obsahuje čtyři vlastnosti:

  • Název
  • AllocationMethod
  • Cidr
  • Typ

Další informace potřebujete pomocí příkazu Get-Help Add-EflowNetwork -full.

Add-EflowVmEndpoint

Příkaz Add-EflowVmEndpoint přidá do virtuálního počítače EFLOW nový koncový bod sítě. K nastavení statické IP adresy použijte volitelné parametry.

Parametr Přípustné hodnoty Komentáře
vswitchName Název virtuálního přepínače Název virtuálního přepínače přiřazeného virtuálnímu počítači EFLOW
název_vendpointu Název virtuálního koncového bodu Název virtuálního koncového bodu přiřazeného virtuálnímu počítači EFLOW
ip4Address Adresa IPv4 v rozsahu oboru serveru DCHP Statická ipv4 adresa virtuálního počítače EFLOW
ip4PrefixLength Délka předpony IPv4 podsítě Délka předpony podsítě Ipv4, platná pouze v případě, že je zadaná statická adresa Ipv4.
ip4GatewayAddress Adresa IPv4 brány podsítě Adresa Ipv4 brány, platná pouze v případě, že je zadaná statická adresa Ipv4.

Vrátí objekt, který obsahuje čtyři vlastnosti:

  • Název
  • MacAddress
  • HealthStatus
  • IpConfiguration

Další informace potřebujete pomocí příkazu Get-Help Add-EflowVmEndpoint -full.

Add-EflowVmSharedFolder

Příkaz Add-EflowVmSharedFolder umožňuje sdílení jedné nebo více složek hostitelského operačního systému Windows s virtuálním počítačem EFLOW.

Parametr Přípustné hodnoty Komentáře
sharedFoldersJsonPath String Cesta ke konfiguračnímu souboru JSON sdílených složek

Konfigurační soubor JSON musí mít následující strukturu:

  • sharedFOlderRoot : Cesta ke kořenové složce Windows, která obsahuje všechny složky, které se mají sdílet s virtuálním počítačem EFLOW.
  • hostFolderPath: Relativní cesta (k nadřazené kořenové složce) složky, kterou chcete sdílet s virtuálním počítačem EFLOW.
  • readOnly: Definuje, jestli je sdílená složka zapisovatelná nebo jen pro čtení z virtuálního počítače EFLOW – hodnoty: false nebo true.
  • targetFolderOnGuest : Cesta ke složce uvnitř virtuálního počítače EFLOW, kde je připojena složka hostitelského operačního systému Windows.
[
   {
      "sharedFolderRoot": "<shared-folder-root-windows-path>",
      "sharedFolders": [ 
        { "hostFolderPath": "<path-shared-folder>", 
            "readOnly": "<read-only>", 
            "targetFolderOnGuest": "<linux-mounting-point>" 
        }
      ]
   }
]

Další informace potřebujete pomocí příkazu Get-Help Add-EflowVmSharedFolder -full.

Connect-EflowVm

Příkaz Connect-EflowVm se připojí k virtuálnímu počítači pomocí SSH. Jediným účtem povoleným SSH k virtuálnímu počítači je uživatel, který ho vytvořil.

Tento příkaz funguje jenom v relaci PowerShellu spuštěné na hostitelském zařízení. Nebude fungovat při použití Windows Admin Center nebo prostředí PowerShell ISE.

Další informace potřebujete pomocí příkazu Get-Help Connect-EflowVm -full.

Copy-EflowVmFile

Příkaz Copy-EflowVmFile zkopíruje soubor do nebo z virtuálního počítače pomocí SCP. Pomocí volitelných parametrů určete cesty ke zdrojovému a cílovému souboru a směr kopírování.

Uživatel iotedge-uživatel musí mít oprávnění ke čtení všech adresářů původu nebo oprávnění k zápisu do všech cílových adresářů na virtuálním počítači.

Parametr Přípustné hodnoty Komentáře
fromFile Řetězec představující cestu k souboru Definuje soubor, ze který se má číst.
toFile Řetězec představující cestu k souboru Definuje soubor, do který se má zapisovat.
pushFile Nic Tento příznak označuje směr kopírování. Pokud je k dispozici, příkaz soubor odešle do virtuálního počítače. Pokud chybí, příkaz stáhne soubor z virtuálního počítače.

Další informace potřebujete pomocí příkazu Get-Help Copy-EflowVMFile -full.

Deploy-Eflow

Příkaz Deploy-Eflow je hlavní metoda nasazení. Příkaz pro nasazení vytvoří virtuální počítač, zřídí soubory a nasadí modul agenta IoT Edge. I když nejsou potřeba žádné parametry, je možné je použít k úpravě nastavení virtuálního počítače během vytváření.

Parametr Přípustné hodnoty Komentáře
acceptEula Ano nebo Ne Zástupce pro přijetí nebo zamítnutí euLA a obejití výzvy EULA
acceptOptionalTelemetry Ano nebo Ne Zástupce pro přijetí nebo zamítnutí volitelné telemetrie a obejití výzvy k telemetrii.
cpuCount Celočíselná hodnota mezi 1 a jádry procesoru zařízení Počet jader procesoru pro virtuální počítač

Výchozí hodnota: 1 virtuální jádro.
memoryInMB Celočíselná sudá hodnota mezi 1024 a maximální velikostí volné paměti zařízení Paměť přidělená virtuálnímu počítači.

Výchozí hodnota: 1024 MB.
vmDiskSize Mezi 21 GB a 2 TB Maximální velikost logického disku dynamicky se rozšiřujícího virtuálního pevného disku

Výchozí hodnota: 29 GB.

Poznámka: Buď vmDiskSize nebo vmDataSize lze použít, ale ne oba dohromady.
vmDataSize Mezi 2 GB a 2 TB Maximální velikost datového oddílu výsledného pevného disku v GB.

Výchozí hodnota: 10 GB.

Poznámka: Buď vmDiskSize nebo vmDataSize lze použít, ale ne oba dohromady.
vmLogSize Malé nebo velké Zadejte velikost oddílu protokolu. Malé = 1 GB, Velké = 6 GB.

Výchozí hodnota: Small.
vswitchName Název virtuálního přepínače Název virtuálního přepínače přiřazeného virtuálnímu počítači EFLOW
vswitchType Interní nebo externí Typ virtuálního přepínače přiřazeného k virtuálnímu počítači EFLOW
ip4Address Adresa IPv4 v rozsahu oboru serveru DCHP Statická ipv4 adresa virtuálního počítače EFLOW
ip4PrefixLength Délka předpony IPv4 podsítě Délka předpony podsítě Ipv4, platná pouze v případě, že je zadaná statická adresa Ipv4.
ip4GatewayAddress Adresa IPv4 brány podsítě Adresa Ipv4 brány, platná pouze v případě, že je zadaná statická adresa Ipv4.
gpuName Název zařízení GPU Název zařízení GPU, které se má použít pro předávání.
gpuPassthroughType DirectDeviceAssignment, ParaVirtualization nebo none (pouze procesor) Typ průchodu GPU
GpuCount Celočíselná hodnota mezi 1 a počtem jader GPU zařízení Počet zařízení GPU pro virtuální počítač

Poznámka: Pokud používáte ParaVirtualization, nezapomeňte nastavit gpuCount = 1.
customSsh Nic Určuje, jestli chce uživatel používat vlastní instalaci OpenSSH.Client. Pokud je k dispozici, musí být ssh.exe k dispozici pro PSM EFLOW.
sharedFoldersJsonPath String Cesta ke konfiguračnímu souboru JSON sdílených složek

Další informace potřebujete pomocí příkazu Get-Help Deploy-Eflow -full.

Get-EflowHostConfiguration

Příkaz Get-EflowHostConfiguration vrátí konfiguraci hostitele. Tento příkaz nepřijímá žádné parametry. Vrátí objekt, který obsahuje čtyři vlastnosti:

  • FreePhysicalMemoryInMB
  • NumberOfLogicalProcessors
  • DiskInfo
  • GpuInfo

Další informace potřebujete pomocí příkazu Get-Help Get-EflowHostConfiguration -full.

Get-EflowLogs

Příkaz Get-EflowLogs shromažďuje protokoly z IoT Edge pro Linux a jeho instalaci. Výstupem jsou sbalené protokoly ve formě .zip složky.

Další informace potřebujete pomocí příkazu Get-Help Get-EflowLogs -full.

Get-EflowNetwork

Příkaz Get-EflowNetwork vrátí seznam sítí přiřazených virtuálnímu počítači EFLOW. K získání konkrétní sítě použijte volitelný parametr.

Parametr Přípustné hodnoty Komentáře
vswitchName Název virtuálního přepínače Název virtuálního přepínače přiřazeného virtuálnímu počítači EFLOW

Vrátí seznam objektů, které obsahují čtyři vlastnosti:

  • Název
  • AllocationMethod
  • Cidr
  • Typ

Další informace potřebujete pomocí příkazu Get-Help Get-EflowNetwork -full.

Get-EflowVm

Příkaz Get-EflowVm vrátí aktuální konfiguraci virtuálního počítače. Tento příkaz nepřijímá žádné parametry. Vrátí objekt, který obsahuje čtyři vlastnosti:

  • VmConfiguration
  • VmPowerState
  • EdgeRuntimeVersion
  • EdgeRuntimeStatus
  • SystemStatistics

Pokud chcete zobrazit konkrétní vlastnost v čitelném seznamu, spusťte Get-EflowVM příkaz s rozbalenou vlastností. Příklad:

Get-EflowVM | Select -ExpandProperty VmConfiguration | Format-List

Další informace potřebujete pomocí příkazu Get-Help Get-EflowVm -full.

Get-EflowVmAddr

Příkaz Get-EflowVmAddr slouží k dotazování aktuální IP adresy a adresy MAC virtuálního počítače. Tento příkaz existuje k tomu, aby zohlednil skutečnost, že se IP adresa a adresa MAC můžou v průběhu času měnit.

Další informace potřebujete pomocí příkazu Get-Help Get-EflowVmAddr -full.

Get-EflowVmEndpoint

Příkaz Get-EflowVmEndpoint vrátí seznam koncových bodů sítě přiřazených virtuálnímu počítači EFLOW. K získání konkrétního koncového bodu sítě použijte volitelný parametr.

Parametr Přípustné hodnoty Komentáře
vswitchName Název virtuálního přepínače Název virtuálního přepínače přiřazeného virtuálnímu počítači EFLOW

Vrátí seznam objektů, které obsahují čtyři vlastnosti:

  • Název
  • MacAddress
  • HealthStatus
  • IpConfiguration

Další informace potřebujete pomocí příkazu Get-Help Get-EflowVmEndpoint -full.

Get-EflowVmFeature

Příkaz Get-EflowVmFeature vrátí stav povolení funkce IoT Edge pro Linux ve Windows.

Parametr Přípustné hodnoty Komentáře
funkce DpsTpm Název funkce pro dotaz.

Další informace potřebujete pomocí příkazu Get-Help Get-EflowVmFeature -full.

Get-EflowVmName

Příkaz Get-EflowVmName vrátí aktuální název hostitele virtuálního počítače. Tento příkaz existuje, aby zohlednil skutečnost, že název hostitele systému Windows se může v průběhu času měnit.

Další informace potřebujete pomocí příkazu Get-Help Get-EflowVmName -full.

Get-EflowVmSharedFolder

Příkaz Get-EflowVmSharedFolder vrátí informace o jedné nebo více složkách operačního systému Windows, které jsou sdílené s virtuálním počítačem EFLOW.

Parametr Přípustné hodnoty Komentáře
sharedfolderRoot String Cesta ke sdílené kořenové složce hostitelského operačního systému Windows
hostFolderPath Řetězec nebo seznam Relativní cesta/cesty (ke kořenové složce) ke sdílené složce operačního systému Windows.

Vrátí seznam objektů, které obsahují tři vlastnosti:

  • hostFolderPath: Relativní cesta (k nadřazené kořenové složce) složky sdílené s virtuálním počítačem EFLOW.
  • readOnly: Definuje, jestli je sdílená složka zapisovatelná nebo jen pro čtení z virtuálního počítače EFLOW – hodnoty: false nebo true.
  • targetFolderOnGuest: Cesta ke složce uvnitř virtuálního počítače EFLOW, kde je připojena složka Windows.

Další informace potřebujete pomocí příkazu Get-Help Get-EflowVmSharedFolder -full.

Get-EflowVmTelemetryOption

Příkaz Get-EflowVmTelemetryOption zobrazí stav telemetrie (volitelné nebo povinné) ve virtuálním počítači.

Další informace potřebujete pomocí příkazu Get-Help Get-EflowVmTelemetryOption -full.

Get-EflowVmTpmProvisioningInfo

Příkaz Get-EflowVmTpmProvisioningInfo vrátí informace o zřizování TPM. Tento příkaz nepřijímá žádné parametry. Vrátí objekt, který obsahuje dvě vlastnosti:

  • Ověřovací klíč
  • ID registrace

Další informace potřebujete pomocí příkazu Get-Help Get-EflowVmTpmProvisioningInfo -full.

Invoke-EflowVmCommand

Příkaz Invoke-EflowVMCommand spustí příkaz Linuxu uvnitř virtuálního počítače a vrátí výstup. Tento příkaz funguje jenom pro linuxové příkazy, které vracejí konečný výstup. Nejde ho použít pro linuxové příkazy, které vyžadují interakci uživatele nebo které běží neomezeně dlouho.

Následující volitelné parametry lze použít k zadání příkazu předem.

Parametr Přípustné hodnoty Komentáře
příkaz String Příkaz, který se má spustit na virtuálním počítači
ignoreError Nic Pokud je tento příznak k dispozici, ignorujte chyby z příkazu.

Další informace potřebujete pomocí příkazu Get-Help Invoke-EflowVmCommand -full.

Provision-EflowVm

Příkaz Provision-EflowVm přidá informace o zřizování vašeho zařízení IoT Edge do souboru IoT Edge config.yaml virtuálního počítače.

Parametr Přípustné hodnoty Komentáře
provisioningType ManualConnectionString, ManualX509, DpsTPM, DpsX509 nebo DpsSymmetricKey Definuje typ zřizování, které chcete použít pro zařízení IoT Edge.
devConnString Zařízení připojovací řetězec stávajícího zařízení IoT Edge Zařízení připojovací řetězec pro ruční zřízení zařízení IoT Edge (ManualConnectionString).
iotHubHostname Název hostitele existujícího centra IoT Název hostitele služby Azure IoT Hub pro zřízení zařízení IoT Edge (ManualX509).
deviceId ID zařízení existujícího zařízení IoT Edge ID zařízení pro zřízení zařízení IoT Edge (ManualX509).
scopeId ID oboru pro existující instanci DPS. ID oboru pro zřízení zařízení IoT Edge (DpsTPM, DpsX509 nebo DpsSymmetricKey).
symmKey Primární klíč pro existující registraci DPS nebo primární klíč existujícího zařízení IoT Edge zaregistrovaného pomocí symetrických klíčů Symetrický klíč pro zřízení zařízení IoT Edge (DpsSymmetricKey).
registrationId ID registrace existujícího zařízení IoT Edge ID registrace pro zřízení zařízení IoT Edge (DpsSymmetricKey, DpsTPM).
identityCertPath Directory path Absolutní cílová cesta certifikátu identity na hostitelském počítači s Windows (ManualX509, DpsX509).
identityPrivKeyPath Directory path Absolutní zdrojová cesta privátního klíče identity na hostitelském počítači s Windows (ManualX509, DpsX509).
globalEndpoint Adresa URL koncového bodu zařízení Adresa URL globálního koncového bodu, která se má použít pro zřizování DPS.

Další informace potřebujete pomocí příkazu Get-Help Provision-EflowVm -full.

Remove-EflowNetwork

Příkaz Remove-EflowNetwork odebere existující síť připojenou k virtuálnímu počítači EFLOW. Tento příkaz přebírá jeden parametr.

Parametr Přípustné hodnoty Komentáře
vswitchName Název virtuálního přepínače Název virtuálního přepínače přiřazeného virtuálnímu počítači EFLOW

Další informace potřebujete pomocí příkazu Get-Help Remove-EflowNetwork -full.

Remove-EflowVmEndpoint

Příkaz Remove-EflowVmEndpoint odebere existující koncový bod sítě připojený k virtuálnímu počítači EFLOW. Tento příkaz přebírá jeden parametr.

Parametr Přípustné hodnoty Komentáře
název_vendpointu Název virtuálního koncového bodu Název virtuálního koncového bodu přiřazeného virtuálnímu počítači EFLOW

Další informace potřebujete pomocí příkazu Get-Help Remove-EflowVmEndpoint -full.

Remove-EflowVmSharedFolder

Příkaz Remove-EflowVmSharedFolder zastaví sdílení složky hostitelského operačního systému Windows s virtuálním počítačem EFLOW. Tento příkaz přijímá dva parametry.

Parametr Přípustné hodnoty Komentáře
sharedfolderRoot String Cesta ke sdílené kořenové složce hostitelského operačního systému Windows
hostFolderPath Řetězec nebo seznam Relativní cesta/cesty (ke kořenové složce) ke sdílené složce operačního systému Windows.

Další informace potřebujete pomocí příkazu Get-Help Remove-EflowVmSharedFolder -full.

Set-EflowVM

Příkaz Set-EflowVM aktualizuje konfiguraci virtuálního počítače požadovanými vlastnostmi. Pomocí volitelných parametrů definujte konkrétní konfiguraci virtuálního počítače.

Parametr Přípustné hodnoty Komentáře
cpuCount Celočíselná hodnota mezi 1 a jádry procesoru zařízení Počet jader procesoru pro virtuální počítač
memoryInMB Celočíselná hodnota mezi 1024 a maximální velikostí volné paměti zařízení Paměť přidělená virtuálnímu počítači.
gpuName Název zařízení GPU Název zařízení GPU, které se má použít pro předávání.
gpuPassthroughType DirectDeviceAssignment, ParaVirtualization nebo none (bez průchodu) Typ průchodu GPU
GpuCount Celočíselná hodnota mezi 1 a jádry GPU zařízení Počet zařízení GPU pro virtuální počítač Poznámka: Platné pouze při použití DirectDeviceAssignment
bezhlavý Nic Pokud je tento příznak k dispozici, určuje, zda uživatel musí potvrdit v případě vydání upozornění zabezpečení.

Další informace potřebujete pomocí příkazu Get-Help Set-EflowVM -full.

Set-EflowVmDNSServers

Příkaz Set-EflowVmDNSServers nakonfiguruje servery DNS pro virtuální počítač EFLOW.

Parametr Přípustné hodnoty Komentáře
název_vendpointu Řetězcová hodnota názvu virtuálního koncového bodu Pomocí get-EflowVmEndpoint získejte virtuální rozhraní přiřazená k virtuálnímu počítači EFLOW. Např. DESKTOP-CONTOSO-EflowInterface
dnsServers Seznam IPaddress serveru DNS, který se má použít pro překlad ip adres IP Například @("10.0.10.1")

Další informace potřebujete pomocí příkazu Get-Help Set-EflowVmDNSServers -full.

Set-EflowVmFeature

Příkaz Set-EflowVmFeature povolí nebo zakáže stav ioT Edge pro Linux ve funkcích Windows.

Parametr Přípustné hodnoty Komentáře
funkce DpsTpm, Defender Název funkce, který chcete přepnout.
zapnout Nic Pokud je tento příznak k dispozici, příkaz tuto funkci povolí.

Další informace potřebujete pomocí příkazu Get-Help Set-EflowVmFeature -full.

Set-EflowVmTelemetryOption

Příkaz Set-EflowVmTelemetryOption povolí nebo zakáže volitelnou telemetrii uvnitř virtuálního počítače.

Parametr Přípustné hodnoty Komentáře
optionalTelemetry Pravda nebo Nepravda Určuje, jestli je vybraná volitelná telemetrie.

Další informace potřebujete pomocí příkazu Get-Help Set-EflowVmTelemetryOption -full.

Start-EflowVm

Příkaz Start-EflowVm spustí virtuální počítač. Pokud je virtuální počítač již spuštěný, není provedena žádná akce.

Další informace potřebujete pomocí příkazu Get-Help Start-EflowVm -full.

Stop-EflowVm

Příkaz Stop-EflowVm zastaví virtuální počítač. Pokud je virtuální počítač již zastavený, není provedena žádná akce.

Další informace potřebujete pomocí příkazu Get-Help Stop-EflowVm -full.

Verify-EflowVm

Příkaz Verify-EflowVm je vystavená funkce, která kontroluje, jestli se na virtuálním počítači s Windows vytvořil IoT Edge pro Linux. Přebírá pouze běžné parametry a vrátí hodnotu True , pokud byl virtuální počítač vytvořen, a nepravda , pokud ne.

Další informace potřebujete pomocí příkazu Get-Help Verify-EflowVm -full.

Další kroky

V následujícím článku se dozvíte, jak pomocí těchto příkazů nainstalovat a zřídit IoT Edge pro Linux ve Windows: