Bagikan melalui


Fungsi PowerShell untuk IoT Edge untuk Linux di Windows

Berlaku untuk: Tanda centang IoT Edge 1.4 IoT Edge 1.4

Penting

IoT Edge 1.5 LTS dan IoT Edge 1.4 adalah rilis yang didukung. IoT Edge 1.4 LTS adalah akhir masa pakai pada 12 November 2024. Jika Anda menggunakan rilis sebelumnya, lihat Memperbarui IoT Edge.

Pahami fungsi PowerShell yang menerapkan, menyediakan, dan mendapatkan status IoT Edge untuk Linux Anda di mesin virtual Windows (EFLOW).

Prasyarat

Perintah yang dijelaskan dalam artikel ini berasal dari file AzureEFLOW.psm1, yang dapat ditemukan di sistem Anda di direktori WindowsPowerShell di bagian C:\Program Files\WindowsPowerShell\Modules\AzureEFLOW.

Jika Anda tidak memiliki folder AzureEflow di direktori PowerShell Anda, gunakan langkah-langkah berikut untuk mengunduh dan menginstal Azure IoT Edge untuk Linux di Windows:

  1. Dalam sesi PowerShell yang ditingkatkan, jalankan setiap perintah berikut untuk mengunduh IoT Edge untuk Linux di 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. Instal IoT Edge untuk Linux di Windows di perangkat Anda.

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

    Anda dapat menentukan pemasangan IoT Edge kustom untuk Linux di Windows dan direktori VHDX dengan menambahkan parameter INSTALLDIR="<FULLY_QUALIFIED_PATH>" dan VHDXDIR="<FULLY_QUALIFIED_PATH>" ke perintah pasang.

  3. Atur kebijakan eksekusi pada perangkat target ke setidaknya AllSigned.

    Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
    

Add-EflowNetwork

Perintah Add-EflowNetwork menambahkan jaringan baru ke komputer virtual EFLOW. Perintah ini mengambil dua parameter.

Parameter Nilai yang diterima Komentar
vswitchName Nama sakelar virtual Nama sakelar virtual yang ditetapkan ke VM EFLOW.
vswitchType Internal atau Eksternal Jenis sakelar virtual yang ditetapkan ke EFLOW VM.

Perintah ini mengembalikan objek yang berisi empat properti:

  • Nama
  • AllocationMethod
  • Cidr
  • Jenis

Untuk informasi lebih lanjut, gunakan perintah Get-Help Add-EflowNetwork -full.

Add-EflowVmEndpoint

Perintah Add-EflowVmEndpoint menambahkan titik akhir jaringan baru ke komputer virtual EFLOW. Gunakan parameter opsional untuk mengatur IP Statis.

Parameter Nilai yang diterima Komentar
vswitchName Nama sakelar virtual Nama sakelar virtual yang ditetapkan ke VM EFLOW.
vendpointName Nama titik akhir virtual Nama titik akhir virtual yang ditetapkan ke VM EFLOW.
ip4Address Alamat IPv4 dalam rentang Lingkup Server DCHP Alamat Ipv4 statis dari EFLOW VM.
ip4PrefixLength IPv4 Prefix Length subnet Panjang awalan subnet Ipv4, hanya berlaku ketika alamat Ipv4 statis yang ditentukan.
ip4GatewayAddress Alamat IPv4 dari gateway subnet Alamat Gateway Ipv4, hanya berlaku ketika alamat Ipv4 statis ditentukan.

Perintah ini mengembalikan objek yang berisi empat properti:

  • Nama
  • MacAddress
  • HealthStatus
  • IpConfiguration

Untuk informasi lebih lanjut, gunakan perintah Get-Help Add-EflowVmEndpoint -full.

Add-EflowVmSharedFolder

Perintah Add-EflowVmSharedFolder memungkinkan berbagi satu atau beberapa folder OS host Windows dengan komputer virtual EFLOW.

Parameter Nilai yang diterima Komentar
sharedFoldersJsonPath String Jalur ke file konfigurasi JSON Folder Bersama.

File konfigurasi JSON harus memiliki struktur berikut:

  • sharedFOlderRoot : Jalur ke folder akar Windows yang berisi semua folder yang akan dibagikan dengan komputer virtual EFLOW.
  • hostFolderPath: Jalur relatif (ke folder akar induk) folder yang akan dibagikan dengan VM EFLOW.
  • readOnly: Menentukan apakah folder bersama dapat ditulis atau baca-saja dari komputer virtual EFLOW - Nilai: false atau true.
  • targetFolderOnGuest : Jalur folder di dalam komputer virtual EFLOW tempat folder OS host Windows dipasang.
[
   {
      "sharedFolderRoot": "<shared-folder-root-windows-path>",
      "sharedFolders": [ 
        { "hostFolderPath": "<path-shared-folder>", 
            "readOnly": "<read-only>", 
            "targetFolderOnGuest": "<linux-mounting-point>" 
        }
      ]
   }
]

Untuk informasi lebih lanjut, gunakan perintah Get-Help Add-EflowVmSharedFolder -full.

Connect-EflowVm

Perintah Connect-EflowVm terhubung ke mesin virtual menggunakan SSH. Satu-satunya akun yang diizinkan untuk SSH ke komputer virtual adalah pengguna yang membuatnya.

Perintah ini hanya berfungsi pada sesi PowerShell yang berjalan di perangkat host. Perintah ini tidak akan berfungsi saat menggunakan pusat admin Windows atau PowerShell ISE.

Untuk informasi lebih lanjut, gunakan perintah Get-Help Connect-EflowVm -full.

Copy-EflowVmFile

Perintah Copy-EflowVmFile menyalin file ke atau dari mesin virtual menggunakan SCP. Gunakan parameter opsional untuk menentukan jalur file sumber dan tujuan dan arah salinan.

Pengguna iotedge-user harus memiliki izin baca ke direktori asal mana pun atau izin menulis ke direktori tujuan mana pun di mesin virtual.

Parameter Nilai yang diterima Komentar
fromFile String yang mewakili jalur ke file Mendefinisikan file yang akan dibaca.
toFile String yang mewakili jalur ke file Mendefinisikan file yang akan ditulis.
pushFile Tidak Bendera ini menunjukkan arah salinan. Jika ada, perintah ini mendorong file ke mesin virtual. Jika tidak ada, perintah ini menarik file dari mesin virtual.

Untuk informasi lebih lanjut, gunakan perintah Get-Help Copy-EflowVMFile -full.

Deploy-Eflow

Perintah Deploy-Eflow adalah metode penyebaran utama. Perintah penyebaran membuat komputer virtual, memprovisikan file, dan menyebarkan modul agen IoT Edge. Meskipun tidak ada parameter yang diperlukan, mereka dapat digunakan untuk mengubah pengaturan mesin virtual selama pembuatan.

Parameter Nilai yang diterima Komentar
acceptEula Ya atau Tidak Pintasan untuk menerima/menolak EULA dan melewati prompt EULA.
acceptOptionalTelemetry Ya atau Tidak Pintasan untuk menerima/menolak telemetri opsional dan melewati prompt telemetri.
cpuCount Nilai bilangan bulat antara 1 dan core CPU perangkat Jumlah core CPU untuk VM.

Nilai default: 1 vCore.
memoryInMB Nilai bilangan bulat genap antara 1024 dan jumlah maksimum memori gratis perangkat Memori dialokasikan untuk VM.

Nilai default: 1024 MB.
vmDiskSize Antara 21 GB dan 2 TB Ukuran disk logis maksimum dari hard disk virtual yang diperluas secara dinamis.

Nilai default: 29 GB.

Catatan: VmDiskSize atau vmDataSize dapat digunakan, tetapi tidak keduanya bersama-sama.
vmDataSize Antara 2 GB dan 2 TB Ukuran partisi data maksimum dari hard disk yang dihasilkan, dalam GB.

Nilai default: 10 GB.

Catatan: VmDiskSize atau vmDataSize dapat digunakan, tetapi tidak keduanya bersama-sama.
vmLogSize Kecil atau Besar Tentukan ukuran partisi log. Kecil = 1GB, Besar = 6GB.

Nilai default: Kecil.
vswitchName Nama sakelar virtual Nama sakelar virtual yang ditetapkan ke VM EFLOW.
vswitchType Internal atau Eksternal Jenis sakelar virtual yang ditetapkan ke EFLOW VM.
ip4Address Alamat IPv4 dalam rentang Lingkup Server DCHP Alamat Ipv4 statis dari EFLOW VM.
ip4PrefixLength IPv4 Prefix Length subnet Panjang awalan subnet Ipv4, hanya berlaku ketika alamat Ipv4 statis yang ditentukan.
ip4GatewayAddress Alamat IPv4 dari gateway subnet Alamat Gateway Ipv4, hanya berlaku ketika alamat Ipv4 statis ditentukan.
gpuName Nama Perangkat GPU Nama perangkat GPU yang akan digunakan untuk passthrough.
gpuPassthroughType DirectDeviceAssignment, ParaVirtualization, atau tidak ada (CPU saja) Jenis GPU Passthrough
gpuCount Nilai integer antara 1 dan jumlah core GPU perangkat Jumlah perangkat GPU untuk VM.

Catatan: Jika menggunakan ParaVirtualization, pastikan untuk mengatur gpuCount = 1
customSsh Tidak Menentukan apakah pengguna ingin menggunakan penginstalan OpenSSH.Client kustom mereka. Jika ada, ssh.exe harus tersedia untuk PSM EFLOW
sharedFoldersJsonPath String Jalur ke file konfigurasi JSON Folder Bersama.

Untuk informasi lebih lanjut, gunakan perintah Get-Help Deploy-Eflow -full.

Get-EflowHostConfiguration

Perintah Get-EflowHostConfiguration mengembalikan konfigurasi host. Perintah ini tidak membutuhkan parameter. Perintah ini mengembalikan objek yang berisi empat properti:

  • FreePhysicalMemoryInMB
  • NumberOfLogicalProcessors
  • DiskInfo
  • GpuInfo

Untuk informasi lebih lanjut, gunakan perintah Get-Help Get-EflowHostConfiguration -full.

Get-EflowLogs

Perintah Get-EflowLogs digunakan untuk mengumpulkan dan menggabungkan log dari IoT Edge untuk Linux pada penyebaran Windows. Perintah ini menghasilkan log yang dibundel dalam bentuk folder .zip.

Untuk informasi lebih lanjut, gunakan perintah Get-Help Get-EflowLogs -full.

Get-EflowNetwork

Perintah Get-EflowNetwork mengembalikan daftar jaringan yang ditetapkan ke komputer virtual EFLOW. Gunakan parameter opsional untuk mendapatkan jaringan tertentu.

Parameter Nilai yang diterima Komentar
vswitchName Nama sakelar virtual Nama sakelar virtual yang ditetapkan ke VM EFLOW.

Ini mengembalikan daftar objek yang berisi empat properti:

  • Nama
  • AllocationMethod
  • Cidr
  • Jenis

Untuk informasi lebih lanjut, gunakan perintah Get-Help Get-EflowNetwork -full.

Get-EflowVm

Perintah Get-EflowVm mengembalikan konfigurasi mesin virtual saat ini. Perintah ini tidak membutuhkan parameter. Perintah ini mengembalikan objek yang berisi empat properti:

  • VmConfiguration
  • VmPowerState
  • EdgeRuntimeVersion
  • EdgeRuntimeStatus
  • SystemStatistics

Untuk melihat properti tertentu dalam daftar yang dapat dibaca, jalankan perintah Get-EflowVM dengan properti diperluas. Contohnya:

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

Untuk informasi lebih lanjut, gunakan perintah Get-Help Get-EflowVm -full.

Get-EflowVmAddr

Perintah Get-EflowVmAddr digunakan untuk mengkueri alamat IP dan MAC mesin virtual saat ini. Perintah ini ada untuk menjelaskan fakta bahwa alamat IP dan MAC dapat berubah seiring waktu.

Untuk mendapatkan informasi tambahan, gunakan perintah Get-Help Get-EflowVmAddr -full.

Get-EflowVmEndpoint

Perintah Get-EflowVmEndpoint mengembalikan daftar titik akhir jaringan yang ditetapkan ke komputer virtual EFLOW. Gunakan parameter opsional untuk mendapatkan titik akhir jaringan tertentu.

Parameter Nilai yang diterima Komentar
vswitchName Nama sakelar virtual Nama sakelar virtual yang ditetapkan ke VM EFLOW.

Ini mengembalikan daftar objek yang berisi empat properti:

  • Nama
  • MacAddress
  • HealthStatus
  • IpConfiguration

Untuk informasi lebih lanjut, gunakan perintah Get-Help Get-EflowVmEndpoint -full.

Get-EflowVmFeature

Perintah Get-EflowVmFeature mengembalikan status pengaktifan IoT Edge untuk Linux pada fitur Windows.

Parameter Nilai yang diterima Komentar
fitur DpsTpm Nama fitur untuk kueri.

Untuk informasi lebih lanjut, gunakan perintah Get-Help Get-EflowVmFeature -full.

Get-EflowVmName

Perintah Get-EflowVmName mengembalikan nama host mesin virtual saat ini. Perintah ini ada untuk memperhitungkan fakta bahwa nama host Windows dapat berubah dari waktu ke waktu.

Untuk informasi lebih lanjut, gunakan perintah Get-Help Get-EflowVmName -full.

Get-EflowVmSharedFolder

Perintah Get-EflowVmSharedFolder mengembalikan informasi tentang satu atau beberapa folder OS host Windows yang dibagikan dengan komputer virtual EFLOW.

Parameter Nilai yang diterima Komentar
sharedfolderRoot String Jalur ke folder akar bersama OS host Windows.
hostFolderPath String atau Daftar Jalur/jalur relatif (ke folder akar) ke folder bersama OS host Windows.

Ini mengembalikan daftar objek yang berisi tiga properti:

  • hostFolderPath: Jalur relatif (ke folder akar induk) dari folder yang dibagikan dengan VM EFLOW.
  • readOnly: Menentukan apakah folder bersama dapat ditulis atau baca-saja dari komputer virtual EFLOW - Nilai: false atau true.
  • targetFolderOnGuest: Jalur folder di dalam komputer virtual EFLOW tempat folder Windows dipasang.

Untuk informasi lebih lanjut, gunakan perintah Get-Help Get-EflowVmSharedFolder -full.

Get-EflowVmTelemetryOption

Perintah Get-EflowVmTelemetryOption menampilkan status telemetri (baik Optional atau Harus) di dalam mesin virtual.

Untuk informasi lebih lanjut, gunakan perintah Get-Help Get-EflowVmTelemetryOption -full.

Get-EflowVmTpmProvisioningInfo

Perintah Get-EflowVmTpmProvisioningInfo mengembalikan informasi penyediaan TPM. Perintah ini tidak membutuhkan parameter. Perintah ini mengembalikan objek yang berisi dua properti:

  • Kunci Dukungan
  • ID Pendaftaran

Untuk informasi lebih lanjut, gunakan perintah Get-Help Get-EflowVmTpmProvisioningInfo -full.

Invoke-EflowVmCommand

Perintah Invoke-EflowVMCommand mengeksekusi perintah Linux di dalam mesin virtual dan mengembalikan outputnya. Perintah ini hanya berfungsi untuk perintah Linux yang mengembalikan output terbatas. Perintah ini tidak dapat digunakan untuk perintah Linux yang memerlukan interaksi pengguna atau yang berjalan tanpa batas.

Parameter opsional berikut dapat digunakan untuk menentukan perintah di depan.

Parameter Nilai yang diterima Komentar
command String Perintah untuk dieksekusi di VM.
ignoreError Tidak Jika muncul bendera ini, abaikan kesalahan dari perintah.

Untuk informasi lebih lanjut, gunakan perintah Get-Help Invoke-EflowVmCommand -full.

Provision-EflowVm

Perintah Provision-EflowVm menambahkan informasi provisi untuk perangkat IoT Edge Anda ke file config.yaml IoT Edge komputer virtual.

Parameter Nilai yang diterima Komentar
provisioningType ManualConnectionString, ManualX509, DpsTPM, DpsX509, atau DpsSymmetricKey Menentukan jenis provisi yang ingin Anda gunakan untuk perangkat IoT Edge Anda.
devConnString String koneksi perangkat dari perangkat IoT Edge yang ada String koneksi perangkat untuk memprovisikan perangkat IoT Edge secara manual (ManualConnectionString).
iotHubHostname Nama host dari hub IoT yang ada Nama host Azure IoT Hub untuk memprovisi perangkat IoT Edge (ManualX509).
deviceId ID perangkat dari perangkat IoT Edge yang ada ID perangkat untuk memprovisikan perangkat IoT Edge (ManualX509).
scopeId ID cakupan untuk instans DPS yang ada. ID Cakupan untuk menyediakan perangkat IoT Edge ( DpsTPM, DpsX509, atau DpsSymmetricKey).
symmKey Kunci primer untuk pendaftaran DPS yang ada atau kunci primer perangkat IoT Edge yang ada yang terdaftar menggunakan kunci konten Kunci simetris untuk menyediakan perangkat IoT Edge (DpsSymmetricKey).
registrationId ID pendaftaran perangkat IoT Edge yang ada ID pendaftaran untuk menyediakan perangkat IoT Edge (DpsSymmetricKey, DpsTPM).
identityCertPath Jalur direktori Jalur tujuan absolut dari sertifikat identitas pada mesin host Windows Anda (ManualX509, DpsX509).
identityPrivKeyPath Jalur direktori Jalur sumber absolut dari kunci privat identitas pada mesin host Windows Anda (ManualX509, DpsX509).
globalEndpoint URL Titik Akhir Perangkat URL untuk Titik Akhir Global yang akan digunakan untuk provisi DPS.

Untuk informasi lebih lanjut, gunakan perintah Get-Help Provision-EflowVm -full.

Remove-EflowNetwork

Perintah Remove-EflowNetwork menghapus jaringan yang ada yang dilampirkan ke komputer virtual EFLOW. Perintah ini mengambil satu parameter.

Parameter Nilai yang diterima Komentar
vswitchName Nama sakelar virtual Nama sakelar virtual yang ditetapkan ke VM EFLOW.

Untuk informasi lebih lanjut, gunakan perintah Get-Help Remove-EflowNetwork -full.

Remove-EflowVmEndpoint

Perintah Remove-EflowVmEndpoint menghapus titik akhir jaringan yang ada yang dilampirkan ke komputer virtual EFLOW. Perintah ini mengambil satu parameter.

Parameter Nilai yang diterima Komentar
vendpointName Nama titik akhir virtual Nama titik akhir virtual yang ditetapkan ke VM EFLOW.

Untuk informasi lebih lanjut, gunakan perintah Get-Help Remove-EflowVmEndpoint -full.

Remove-EflowVmSharedFolder

Perintah Remove-EflowVmSharedFolder berhenti berbagi folder OS host Windows ke komputer virtual EFLOW. Perintah ini mengambil dua parameter.

Parameter Nilai yang diterima Komentar
sharedfolderRoot String Jalur ke folder akar bersama OS host Windows.
hostFolderPath String atau Daftar Jalur/jalur relatif (ke folder akar) ke folder bersama OS host Windows.

Untuk informasi lebih lanjut, gunakan perintah Get-Help Remove-EflowVmSharedFolder -full.

Set-EflowVM

Perintah Set-EflowVM memperbarui konfigurasi mesin virtual dengan properti yang diminta. Gunakan parameter opsional untuk menentukan konfigurasi khusus untuk mesin virtual.

Parameter Nilai yang diterima Komentar
cpuCount Nilai bilangan bulat antara 1 dan core CPU perangkat Jumlah core CPU untuk VM.
memoryInMB Nilai integer antara 1024 dan jumlah maksimum memori gratis perangkat Memori dialokasikan untuk VM.
gpuName Nama perangkat GPU Nama perangkat GPU yang akan digunakan untuk passthrough.
gpuPassthroughType DirectDeviceAssignment, ParaVirtualization, atau tidak ada (CPU saja) Jenis GPU Passthrough
gpuCount Nilai integer antara 1 dan jumlah core GPU perangkat Jumlah perangkat GPU untuk VM Catatan: Hanya valid saat menggunakan DirectDeviceAssignment
tanpa kepala Tidak Jika bendera ini hadir, bendera ini menentukan apakah pengguna perlu mengkonfirmasi jika ada peringatan keamanan yang diterbitkan.

Untuk informasi lebih lanjut, gunakan perintah Get-Help Set-EflowVM -full.

Set-EflowVmDNSServers

Perintah Set-EflowVmDNSServers mengonfigurasi server DNS untuk komputer virtual EFLOW.

Parameter Nilai yang diterima Komentar
vendpointName Nilai string dari nama titik akhir virtual Gunakan Get-EflowVmEndpoint untuk mendapatkan antarmuka virtual yang ditetapkan ke VM EFLOW. Misalnya DESKTOP-CONTOSO-EflowInterface
dnsServers Daftar IPAddress server DNS yang akan digunakan untuk resolusi nama Misalnya @("10.0.10.1")

Untuk informasi lebih lanjut, gunakan perintah Get-Help Set-EflowVmDNSServers -full.

Set-EflowVmFeature

Perintah Get-EflowVmFeature mengembalikan status pengaktifan IoT Edge untuk Linux pada fitur Windows.

Parameter Nilai yang diterima Komentar
fitur DpsTpm, Defender Nama fitur untuk beralih.
enable Tidak Jika bendera ini hadir, perintah ini mengaktifkan fitur.

Untuk informasi lebih lanjut, gunakan perintah Get-Help Set-EflowVmFeature -full.

Set-EflowVmTelemetryOption

Perintah Set-EflowVmTelemetryOption mengaktifkan atau menonaktifkan telemetri opsional di dalam mesin virtual.

Parameter Nilai yang diterima Komentar
optionalTelemetry Benar atau Salah Apakah telemetri opsional dipilih atau tidak.

Untuk informasi lebih lanjut, gunakan perintah Get-Help Set-EflowVmTelemetryOption -full.

Start-EflowVm

Perintah Start-EflowVm memulai mesin virtual. Jika mesin virtual sudah dimulai, tidak ada tindakan yang diambil.

Untuk informasi lebih lanjut, gunakan perintah Get-Help Start-EflowVm -full.

Stop-EflowVm

Perintah Stop-EflowVm menghentikan mesin virtual. Jika mesin virtual sudah dihentikan, tidak ada tindakan yang diambil.

Untuk informasi lebih lanjut, gunakan perintah Get-Help Stop-EflowVm -full.

Verify-EflowVm

Perintah Verify-EflowVm adalah fungsi yang terbuka untuk memeriksa apakah IoT Edge untuk Linux di komputer virtual Windows dibuat. Dibutuhkan hanya parameter umum, dan mengembalikan True jika komputer virtual dibuat dan False jika tidak.

Untuk informasi lebih lanjut, gunakan perintah Get-Help Verify-EflowVm -full.

Langkah berikutnya

Pelajari cara menggunakan perintah ini untuk menginstal dan menyediakan IoT Edge untuk Linux di Windows dalam artikel berikut: