Funkcje programu PowerShell dla usługi IoT Edge dla systemu Linux w systemie Windows
Dotyczy: IoT Edge 1.1
Ważne
Data zakończenia wsparcia usługi IoT Edge 1.1 wynosiła 13 grudnia 2022 r. Zapoznaj się z cyklem życia produktów firmy Microsoft, aby uzyskać informacje na temat sposobu obsługi tego produktu lub interfejsu API albo tej usługi lub technologii. Aby uzyskać więcej informacji na temat aktualizowania do najnowszej wersji usługi IoT Edge, zobacz Aktualizowanie usługi IoT Edge.
Poznaj funkcje programu PowerShell, które wdrażają, aprowizować i uzyskiwać stan usługi IoT Edge dla systemu Linux na maszynie wirtualnej Z systemem Windows (EFLOW).
Wymagania wstępne
Polecenia opisane w tym artykule pochodzą z AzureEFLOW.psm1
pliku , który można znaleźć w systemie w katalogu w WindowsPowerShell
obszarze C:\Program Files\WindowsPowerShell\Modules\AzureEFLOW
.
Jeśli nie masz folderu AzureEflow w katalogu programu PowerShell, wykonaj następujące kroki, aby pobrać i zainstalować usługę Azure IoT Edge dla systemu Linux w systemie Windows:
W sesji programu PowerShell z podwyższonym poziomem uprawnień uruchom każde z poniższych poleceń, aby pobrać usługę IoT Edge dla systemu Linux w systemie Windows.
$msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi')) $ProgressPreference = 'SilentlyContinue' Invoke-WebRequest "https://aka.ms/AzEflowMSI" -OutFile $msiPath
Zainstaluj usługę IoT Edge dla systemu Linux w systemie Windows na urządzeniu.
Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn"
Instalację niestandardową i katalogi VHDX można określić, dodając
INSTALLDIR="<FULLY_QUALIFIED_PATH>"
parametry iVHDXDIR="<FULLY_QUALIFIED_PATH>"
do polecenia instalacji.Ustaw zasady wykonywania na urządzeniu docelowym na co najmniej
AllSigned
.Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
Add-EflowNetwork
Polecenie Add-EflowNetwork dodaje nową sieć do maszyny wirtualnej EFLOW. To polecenie przyjmuje dwa parametry.
Parametr | Dopuszczalne wartości | Komentarze |
---|---|---|
vswitchName | Nazwa przełącznika wirtualnego | Nazwa przełącznika wirtualnego przypisanego do maszyny wirtualnej EFLOW. |
vswitchType | Wewnętrzne lub zewnętrzne | Typ przełącznika wirtualnego przypisanego do maszyny wirtualnej EFLOW. |
Zwraca obiekt zawierający cztery właściwości:
- Nazwisko
- AlokacjaMethod
- Cidr
- Typ
Aby uzyskać więcej informacji, użyj polecenia Get-Help Add-EflowNetwork -full
.
Add-EflowVmEndpoint
Polecenie Add-EflowVmEndpoint dodaje nowy punkt końcowy sieci do maszyny wirtualnej EFLOW. Użyj opcjonalnych parametrów, aby ustawić statyczny adres IP.
Parametr | Dopuszczalne wartości | Komentarze |
---|---|---|
vswitchName | Nazwa przełącznika wirtualnego | Nazwa przełącznika wirtualnego przypisanego do maszyny wirtualnej EFLOW. |
vendpointName | Nazwa wirtualnego punktu końcowego | Nazwa wirtualnego punktu końcowego przypisanego do maszyny wirtualnej EFLOW. |
ip4Address | Adres IPv4 w zakresie zakresu serwera DCHP | Statyczny adres Ipv4 maszyny wirtualnej EFLOW. |
ip4PrefixLength | Długość prefiksu IPv4 podsieci | Długość prefiksu podsieci Ipv4 jest prawidłowa tylko wtedy, gdy określono statyczny adres Ipv4. |
ip4GatewayAddress | Adres IPv4 bramy podsieci | Adres Ipv4 bramy jest prawidłowy tylko wtedy, gdy określono statyczny adres Ipv4. |
Zwraca obiekt zawierający cztery właściwości:
- Nazwisko
- MacAddress
- HealthStatus
- Konfiguracja adresu IP
Aby uzyskać więcej informacji, użyj polecenia Get-Help Add-EflowVmEndpoint -full
.
Connect-EflowVm
Polecenie Connect-EflowVm nawiązuje połączenie z maszyną wirtualną przy użyciu protokołu SSH. Jedynym kontem dozwolonym przez protokół SSH na maszynie wirtualnej jest użytkownik, który go utworzył.
To polecenie działa tylko w sesji programu PowerShell uruchomionej na urządzeniu hosta. Nie będzie działać w przypadku korzystania z programu Windows Admin Center ani programu PowerShell ISE.
Aby uzyskać więcej informacji, użyj polecenia Get-Help Connect-EflowVm -full
.
Copy-EflowVmFile
Polecenie Copy-EflowVmFile kopiuje plik do lub z maszyny wirtualnej przy użyciu punktu połączenia usługi. Użyj opcjonalnych parametrów, aby określić ścieżki pliku źródłowego i docelowego oraz kierunek kopiowania.
Użytkownik iotedge-user musi mieć uprawnienie do odczytu do dowolnych katalogów pochodzenia lub uprawnienia do zapisu do dowolnych katalogów docelowych na maszynie wirtualnej.
Parametr | Dopuszczalne wartości | Komentarze |
---|---|---|
fromFile | Ciąg reprezentujący ścieżkę do pliku | Definiuje plik do odczytu. |
toFile | Ciąg reprezentujący ścieżkę do pliku | Definiuje plik do zapisania. |
pushFile | Brak | Ta flaga wskazuje kierunek kopiowania. Jeśli istnieje, polecenie wypycha plik do maszyny wirtualnej. Jeśli jest nieobecny, polecenie ściąga plik z maszyny wirtualnej. |
Aby uzyskać więcej informacji, użyj polecenia Get-Help Copy-EflowVMFile -full
.
Deploy-Eflow
Polecenie Deploy-Eflow jest główną metodą wdrażania. Polecenie wdrożenia tworzy maszynę wirtualną, aprowizuje pliki i wdraża moduł agenta usługi IoT Edge. Chociaż żaden z parametrów nie jest wymagany, można ich użyć do modyfikowania ustawień maszyny wirtualnej podczas tworzenia.
Parametr | Dopuszczalne wartości | Komentarze |
---|---|---|
acceptEula | Tak lub Nie | Skrót do akceptowania/odrzucania umowy EULA i pomijania monitu umowy EULA. |
acceptOptionalTelemetry | Tak lub Nie | Skrót do akceptowania/odrzucania opcjonalnych danych telemetrycznych i pomijania monitu telemetrii. |
cpuCount | Wartość całkowita z zakresu od 1 do rdzeni procesora CPU urządzenia | Liczba rdzeni procesora CPU dla maszyny wirtualnej. Wartość domyślna: 1 rdzeń wirtualny. |
memoryInMB | Liczba całkowita parzysta z zakresu od 1024 do maksymalnej ilości wolnej pamięci urządzenia | Pamięć przydzielona dla maszyny wirtualnej. Wartość domyślna: 1024 MB. |
vmDiskSize | Od 8 GB do 2 TB | Maksymalny rozmiar dysku logicznego dynamicznie powiększającego się wirtualnego dysku twardego. Wartość domyślna: 16 GB. |
vswitchName | Nazwa przełącznika wirtualnego | Nazwa przełącznika wirtualnego przypisanego do maszyny wirtualnej EFLOW. |
vswitchType | Wewnętrzne lub zewnętrzne | Typ przełącznika wirtualnego przypisanego do maszyny wirtualnej EFLOW. |
ip4Address | Adres IPv4 w zakresie zakresu serwera DCHP | Statyczny adres Ipv4 maszyny wirtualnej EFLOW. |
ip4PrefixLength | Długość prefiksu IPv4 podsieci | Długość prefiksu podsieci Ipv4 jest prawidłowa tylko wtedy, gdy określono statyczny adres Ipv4. |
ip4GatewayAddress | Adres IPv4 bramy podsieci | Adres Ipv4 bramy jest prawidłowy tylko wtedy, gdy określono statyczny adres Ipv4. |
gpuName | Nazwa urządzenia z procesorem GPU | Nazwa urządzenia z procesorem GPU, które ma być używane do przekazywania. |
gpuPassthroughType | DirectDeviceAssignment, ParaVirtualization lub none (tylko procesor) | Typ przekazywania procesora GPU |
gpuCount | Wartość całkowita z zakresu od 1 do liczby rdzeni procesora GPU urządzenia | Liczba urządzeń z procesorem GPU dla maszyny wirtualnej. Uwaga: Jeśli używasz parametru ParaVirtualization, upewnij się, że ustawiono wartość gpuCount = 1 |
customSsh | Brak | Określa, czy użytkownik chce użyć niestandardowej instalacji openSSH.Client. Jeśli jest obecny, ssh.exe musi być dostępny dla EFLOW PSM |
Aby uzyskać więcej informacji, użyj polecenia Get-Help Deploy-Eflow -full
.
Get-EflowHostConfiguration
Polecenie Get-EflowHostConfiguration zwraca konfigurację hosta. To polecenie nie przyjmuje parametrów. Zwraca obiekt zawierający cztery właściwości:
- FreePhysicalMemoryInMB
- NumberOfLogicalProcessors
- DiskInfo
- GpuInfo
Aby uzyskać więcej informacji, użyj polecenia Get-Help Get-EflowHostConfiguration -full
.
Get-EflowLogs
Polecenie Get-EflowLogs zbiera i dołącza dzienniki z usługi IoT Edge dla systemu Linux we wdrożeniu i instalacji systemu Windows. Generuje on dzienniki dołączone w postaci .zip
folderu.
Aby uzyskać więcej informacji, użyj polecenia Get-Help Get-EflowLogs -full
.
Get-EflowNetwork
Polecenie Get-EflowNetwork zwraca listę sieci przypisanych do maszyny wirtualnej EFLOW. Użyj opcjonalnego parametru, aby uzyskać określoną sieć.
Parametr | Dopuszczalne wartości | Komentarze |
---|---|---|
vswitchName | Nazwa przełącznika wirtualnego | Nazwa przełącznika wirtualnego przypisanego do maszyny wirtualnej EFLOW. |
Zwraca listę obiektów, które zawierają cztery właściwości:
- Nazwisko
- AlokacjaMethod
- Cidr
- Typ
Aby uzyskać więcej informacji, użyj polecenia Get-Help Get-EflowNetwork -full
.
Get-EflowVm
Polecenie Get-EflowVm zwraca bieżącą konfigurację maszyny wirtualnej. To polecenie nie przyjmuje parametrów. Zwraca obiekt zawierający cztery właściwości:
- Konfiguracja maszyny wirtualnej
- VmPowerState
- EdgeRuntimeVersion
- EdgeRuntimeStatus
- Statystyki systemowe
Aby wyświetlić określoną właściwość na liście z możliwością odczytu, uruchom Get-EflowVM
polecenie z rozwiniętą właściwością. Na przykład:
Get-EflowVM | Select -ExpandProperty VmConfiguration | Format-List
Aby uzyskać więcej informacji, użyj polecenia Get-Help Get-EflowVm -full
.
Get-EflowVmAddr
Polecenie Get-EflowVmAddr służy do wykonywania zapytań dotyczących bieżącego adresu IP i adresu MAC maszyny wirtualnej. To polecenie istnieje, aby uwzględnić fakt, że adres IP i adres MAC mogą się zmieniać w czasie.
Aby uzyskać dodatkowe informacje, użyj polecenia Get-Help Get-EflowVmAddr -full
.
Get-EflowVmEndpoint
Polecenie Get-EflowVmEndpoint zwraca listę punktów końcowych sieci przypisanych do maszyny wirtualnej EFLOW. Użyj opcjonalnego parametru, aby uzyskać określony punkt końcowy sieci.
Parametr | Dopuszczalne wartości | Komentarze |
---|---|---|
vswitchName | Nazwa przełącznika wirtualnego | Nazwa przełącznika wirtualnego przypisanego do maszyny wirtualnej EFLOW. |
Zwraca listę obiektów, które zawierają cztery właściwości:
- Nazwisko
- MacAddress
- HealthStatus
- Konfiguracja adresu IP
Aby uzyskać więcej informacji, użyj polecenia Get-Help Get-EflowVmEndpoint -full
.
Get-EflowVmFeature
Polecenie Get-EflowVmFeature zwraca stan włączenia usługi IoT Edge dla systemu Linux w funkcjach systemu Windows.
Parametr | Dopuszczalne wartości | Komentarze |
---|---|---|
funkcja | DpsTpm | Nazwa funkcji do wykonywania zapytań. |
Aby uzyskać więcej informacji, użyj polecenia Get-Help Get-EflowVmFeature -full
.
Get-EflowVmName
Polecenie Get-EflowVmName zwraca bieżącą nazwę hosta maszyny wirtualnej. To polecenie istnieje, aby uwzględnić fakt, że nazwa hosta systemu Windows może ulec zmianie w czasie.
Aby uzyskać więcej informacji, użyj polecenia Get-Help Get-EflowVmName -full
.
Get-EflowVmTelemetryOption
Polecenie Get-EflowVmTelemetryOption wyświetla stan telemetrii ( opcjonalnie lub wymagane) wewnątrz maszyny wirtualnej.
Aby uzyskać więcej informacji, użyj polecenia Get-Help Get-EflowVmTelemetryOption -full
.
Get-EflowVmTpmProvisioningInfo
Polecenie Get-EflowVmTpmProvisioningInfo zwraca informacje o aprowizacji modułu TPM. To polecenie nie przyjmuje parametrów. Zwraca obiekt zawierający dwie właściwości:
- Klucz poręczenia
- Identyfikator rejestracji
Aby uzyskać więcej informacji, użyj polecenia Get-Help Get-EflowVmTpmProvisioningInfo -full
.
Invoke-EflowVmCommand
Polecenie Invoke-EflowVMCommand wykonuje polecenie systemu Linux wewnątrz maszyny wirtualnej i zwraca dane wyjściowe. To polecenie działa tylko w przypadku poleceń systemu Linux, które zwracają skończone dane wyjściowe. Nie można jej używać w przypadku poleceń systemu Linux, które wymagają interakcji z użytkownikiem lub które działają na czas nieokreślony.
Poniższe parametry opcjonalne mogą służyć do wcześniejszego określenia polecenia.
Parametr | Dopuszczalne wartości | Komentarze |
---|---|---|
polecenie | String | Polecenie do wykonania na maszynie wirtualnej. |
ignoreError | Brak | Jeśli ta flaga jest obecna, zignoruj błędy z polecenia . |
Aby uzyskać więcej informacji, użyj polecenia Get-Help Invoke-EflowVmCommand -full
.
Provision-EflowVm
Polecenie Provision-EflowVm dodaje informacje dotyczące aprowizacji urządzenia usługi IoT Edge do pliku usługi IoT Edge config.yaml
maszyny wirtualnej.
Parametr | Dopuszczalne wartości | Komentarze |
---|---|---|
provisioningType | ManualConnectionString, ManualX509, DpsTPM, DpsX509 lub DpsSymmetricKey | Definiuje typ aprowizacji, którego chcesz użyć dla urządzenia usługi IoT Edge. |
devConnString | Urządzenie parametry połączenia istniejącego urządzenia usługi IoT Edge | Urządzenie parametry połączenia na potrzeby ręcznej aprowizacji urządzenia usługi IoT Edge (ManualConnectionString). |
iotHubHostname | Nazwa hosta istniejącego centrum IoT | Nazwa hosta usługi Azure IoT Hub na potrzeby aprowizowania urządzenia usługi IoT Edge (ManualX509). |
deviceId | Identyfikator urządzenia istniejącego urządzenia usługi IoT Edge | Identyfikator urządzenia do aprowizowania urządzenia usługi IoT Edge (ManualX509). |
scopeId | Identyfikator zakresu dla istniejącego wystąpienia usługi DPS. | Identyfikator zakresu aprowizacji urządzenia usługi IoT Edge (DpsTPM, DpsX509 lub DpsSymmetricKey). |
symmKey | Klucz podstawowy dla istniejącej rejestracji usługi DPS lub klucza podstawowego istniejącego urządzenia usługi IoT Edge zarejestrowanego przy użyciu kluczy symetrycznych | Klucz symetryczny do aprowizowania urządzenia usługi IoT Edge (DpsSymmetricKey). |
identyfikator rejestracji | Identyfikator rejestracji istniejącego urządzenia usługi IoT Edge | Identyfikator rejestracji na potrzeby aprowizacji urządzenia usługi IoT Edge (DpsSymmetricKey, DpsTPM). |
identityCertPath | Ścieżka katalogu | Bezwzględna ścieżka docelowa certyfikatu tożsamości na maszynie hosta z systemem Windows (ManualX509, DpsX509). |
identityPrivKeyPath | Ścieżka katalogu | Bezwzględna ścieżka źródłowa klucza prywatnego tożsamości na maszynie hosta z systemem Windows (ManualX509, DpsX509). |
globalEndpoint | Adres URL punktu końcowego urządzenia | Adres URL globalnego punktu końcowego do użycia na potrzeby aprowizacji usługi DPS. |
Aby uzyskać więcej informacji, użyj polecenia Get-Help Provision-EflowVm -full
.
Remove-EflowNetwork
Polecenie Remove-EflowNetwork usuwa istniejącą sieć dołączoną do maszyny wirtualnej EFLOW. To polecenie przyjmuje jeden parametr.
Parametr | Dopuszczalne wartości | Komentarze |
---|---|---|
vswitchName | Nazwa przełącznika wirtualnego | Nazwa przełącznika wirtualnego przypisanego do maszyny wirtualnej EFLOW. |
Aby uzyskać więcej informacji, użyj polecenia Get-Help Remove-EflowNetwork -full
.
Remove-EflowVmEndpoint
Polecenie Remove-EflowVmEndpoint usuwa istniejący punkt końcowy sieci dołączony do maszyny wirtualnej EFLOW. To polecenie przyjmuje jeden parametr.
Parametr | Dopuszczalne wartości | Komentarze |
---|---|---|
vendpointName | Nazwa wirtualnego punktu końcowego | Nazwa wirtualnego punktu końcowego przypisanego do maszyny wirtualnej EFLOW. |
Aby uzyskać więcej informacji, użyj polecenia Get-Help Remove-EflowVmEndpoint -full
.
Set-EflowVM
Polecenie Set-EflowVM aktualizuje konfigurację maszyny wirtualnej z żądanymi właściwościami. Użyj opcjonalnych parametrów, aby zdefiniować określoną konfigurację maszyny wirtualnej.
Parametr | Dopuszczalne wartości | Komentarze |
---|---|---|
cpuCount | Wartość całkowita z zakresu od 1 do rdzeni procesora CPU urządzenia | Liczba rdzeni procesora CPU dla maszyny wirtualnej. |
memoryInMB | Wartość całkowita z zakresu od 1024 do maksymalnej ilości wolnej pamięci urządzenia | Pamięć przydzielona dla maszyny wirtualnej. |
gpuName | Nazwa urządzenia z procesorem GPU | Nazwa urządzenia z procesorem GPU, które ma być używane do przekazywania. |
gpuPassthroughType | DirectDeviceAssignment, ParaVirtualization lub none (brak przekazywania) | Typ przekazywania procesora GPU |
gpuCount | Wartość całkowita z zakresu od 1 do rdzeni procesora GPU urządzenia | Liczba urządzeń z procesorem GPU dla maszyny wirtualnej Uwaga: prawidłowa tylko w przypadku korzystania z funkcji DirectDeviceAssignment |
Headless | Brak | Jeśli ta flaga jest obecna, określa, czy użytkownik musi potwierdzić w przypadku wystawienia ostrzeżenia o zabezpieczeniach. |
Aby uzyskać więcej informacji, użyj polecenia Get-Help Set-EflowVM -full
.
Set-EflowVmDNSServers
Set-EflowVmDNSServers polecenie konfiguruje serwery DNS dla maszyny wirtualnej EFLOW.
Parametr | Dopuszczalne wartości | Komentarze |
---|---|---|
vendpointName | Wartość ciągu nazwy wirtualnego punktu końcowego | Użyj polecenia Get-EflowVmEndpoint , aby uzyskać interfejsy wirtualne przypisane do maszyny wirtualnej EFLOW. Np. DESKTOP-CONTOSO-EflowInterface |
dnsServers | Lista adresów IP serwera DNS do użycia na potrzeby rozpoznawania nazw | Np. @("10.0.10.1") |
Aby uzyskać więcej informacji, użyj polecenia Get-Help Set-EflowVmDNSServers -full
.
Set-EflowVmFeature
Polecenie Set-EflowVmFeature włącza lub wyłącza stan usługi IoT Edge dla systemu Linux w systemie Windows.
Parametr | Dopuszczalne wartości | Komentarze |
---|---|---|
funkcja | DpsTpm | Nazwa funkcji, aby przełączyć. |
Włącz | Brak | Jeśli ta flaga jest obecna, polecenie włącza funkcję. |
Aby uzyskać więcej informacji, użyj polecenia Get-Help Set-EflowVmFeature -full
.
Set-EflowVmTelemetryOption
Polecenie Set-EflowVmTelemetryOption włącza lub wyłącza opcjonalne dane telemetryczne wewnątrz maszyny wirtualnej.
Parametr | Dopuszczalne wartości | Komentarze |
---|---|---|
optionalTelemetry | True lub False | Określa, czy wybrano opcjonalną telemetrię. |
Aby uzyskać więcej informacji, użyj polecenia Get-Help Set-EflowVmTelemetryOption -full
.
Start-EflowVm
Polecenie Start-EflowVm uruchamia maszynę wirtualną. Jeśli maszyna wirtualna jest już uruchomiona, nie zostanie podjęta żadna akcja.
Aby uzyskać więcej informacji, użyj polecenia Get-Help Start-EflowVm -full
.
Stop-EflowVm
Polecenie Stop-EflowVm zatrzymuje maszynę wirtualną. Jeśli maszyna wirtualna jest już zatrzymana, nie zostanie podjęta żadna akcja.
Aby uzyskać więcej informacji, użyj polecenia Get-Help Stop-EflowVm -full
.
Verify-EflowVm
Polecenie Verify-EflowVm to uwidoczniona funkcja, która sprawdza, czy utworzono usługę IoT Edge dla systemu Linux na maszynie wirtualnej z systemem Windows. Przyjmuje ona tylko typowe parametry i zwróci wartość True , jeśli maszyna wirtualna została utworzona i fałsz , jeśli nie.
Aby uzyskać więcej informacji, użyj polecenia Get-Help Verify-EflowVm -full
.
Następne kroki
Dowiedz się, jak użyć tych poleceń do zainstalowania i aprowizacji usługi IoT Edge dla systemu Linux w systemie Windows w następującym artykule: