Fungsi PowerShell untuk IoT Edge untuk Linux di Windows
Berlaku untuk: IoT Edge 1.1
Penting
Tanggal akhir dukungan IoT Edge 1.1 adalah 13 Desember 2022. Periksa Siklus Hidup Produk Microsoft untuk mendapatkan informasi tentang bagaimana produk, layanan, teknologi, atau API ini didukung. Untuk informasi selengkapnya tentang memperbarui ke IoT Edge versi terbaru, 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:
Dalam sesi PowerShell yang ditingkatkan, jalankan setiap perintah berikut untuk mengunduh IoT Edge untuk Linux di Windows.
$msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi')) $ProgressPreference = 'SilentlyContinue' Invoke-WebRequest "https://aka.ms/AzEflowMSI" -OutFile $msiPath
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>"
danVHDXDIR="<FULLY_QUALIFIED_PATH>"
ke perintah pasang.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
.
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 8 GB dan 2 TB | Ukuran disk logis maksimum dari hard disk virtual yang diperluas secara dinamis. Nilai default: 16 GB. |
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 |
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-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
.
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 | 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. Perintah ini hanya membutuhkan parameter umum, dan akan menampilkan 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: