Condividi tramite


Script di PowerShell per IoT Edge con contenitori di Windows

Si applica a: icona sì IoT Edge 1.1

Importante

IoT Edge 1.1 data di fine del supporto è stata il 13 dicembre 2022. Controlla il ciclo di vita dei prodotti Microsoft per ottenere informazioni sul modo in cui viene supportato questo prodotto, servizio, tecnologia o API. Per altre informazioni sull'aggiornamento alla versione più recente di IoT Edge, vedere Aggiornare IoT Edge.

Comprendere gli script di PowerShell che installano, aggiornano o disinstallano IoT Edge nei dispositivi Windows.

I comandi descritti in questo articolo provengono dal file IoTEdgeSecurityDaemon.ps1 rilasciato con ogni versione di IoT Edge . La versione più recente dello script è sempre disponibile in aka.ms/iotedge-win.

È possibile eseguire uno qualsiasi dei comandi usando il cmdlet Invoke-WebRequest per accedere alla versione più recente dello script. Per esempio:

. {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
Deploy-IoTEdge

È anche possibile scaricare questo script o una versione dello script da una versione specifica per eseguire i comandi. Per esempio:

. <path>\IoTEdgeSecurityDaemon.ps1
Deploy-IoTEdge

Lo script fornito è firmato per aumentare la sicurezza. È possibile verificare la firma scaricando lo script nel dispositivo e quindi eseguendo il comando di PowerShell seguente:

Get-AuthenticodeSignature "C:\<path>\IotEdgeSecurityDaemon.ps1"

Lo stato dell'output è Valido se la firma viene verificata.

Deploy-IoTEdge

Il comando Deploy-IoTEdge scarica e distribuisce il daemon di sicurezza di IoT Edge e le relative dipendenze. Il comando di distribuzione accetta questi parametri comuni, tra gli altri. Per l'elenco completo, usare il comando Get-Help Deploy-IoTEdge -full.

Parametro Valori accettati Commenti
contenitori Windows o Linux Se non viene specificato alcun sistema operativo contenitore, Windows è il valore predefinito.

Per i contenitori Windows, IoT Edge usa il motore contenitore Moby incluso nell'installazione. Per i contenitori Linux, è necessario installare un motore di contenitori prima di avviare l'installazione.
Procura Proxy URL Includere questo parametro se il dispositivo deve passare attraverso un server proxy per raggiungere Internet. Per altre informazioni, vedere Configurare un dispositivo IoT Edge per comunicare tramite un server proxy.
OfflineInstallationPath Percorso directory Se questo parametro è incluso, il programma di installazione verificherà la directory elencata per i file CAB di IoT Edge e VC Runtime MSI necessari per l'installazione. Tutti i file non trovati nella directory vengono scaricati. Se entrambi i file si trovano nella directory, è possibile installare IoT Edge senza una connessione Internet. È anche possibile usare questo parametro per usare una versione specifica.
InvokeWebRequestParameters Tabella hash di parametri e valori Durante l'installazione vengono effettuate diverse richieste Web. Usare questo campo per impostare i parametri per tali richieste Web. Questo parametro è utile per configurare le credenziali per i server proxy. Per altre informazioni, vedere Configurare un dispositivo IoT Edge per comunicare tramite un server proxy.
RestartIfNeeded Nessuno Questo flag consente allo script di distribuzione di riavviare il computer senza chiedere conferma, se necessario.

Initialize-IoTEdge

Il comando Initialize-IoTEdge configura IoT Edge con la stringa di connessione del dispositivo e i dettagli operativi. Gran parte delle informazioni generate da questo comando viene quindi archiviata nel file iotedge\config.yaml. Il comando di inizializzazione accetta questi parametri comuni, tra gli altri. Per l'elenco completo, usare il comando Get-Help Initialize-IoTEdge -full.

Parametro Valori accettati Commenti
ManualConnectionString Nessuno Parametro Switch. valore predefinito. Se non viene specificato alcun tipo di provisioning, il provisioning manuale con una stringa di connessione è il valore predefinito.

Dichiara che si fornirà una stringa di connessione del dispositivo per il provisioning manuale del dispositivo.
ManualX509 Nessuno Parametro Switch. Se non viene specificato alcun tipo di provisioning, il provisioning manuale con una stringa di connessione è il valore predefinito.

Dichiara che si fornirà un certificato di identità e una chiave privata per effettuare il provisioning manuale del dispositivo.
DpsTpm Nessuno Parametro Switch. Se non viene specificato alcun tipo di provisioning, il provisioning manuale con una stringa di connessione è il valore predefinito.

Dichiara di fornire un ID ambito del servizio Device Provisioning (DPS) e l'ID registrazione del dispositivo per il provisioning tramite DPS.
DpsSymmetricKey Nessuno Parametro Switch. Se non viene specificato alcun tipo di provisioning, il provisioning manuale con una stringa di connessione è il valore predefinito.

Dichiara di fornire un ID ambito del servizio Device Provisioning (DPS) e l'ID registrazione del dispositivo di cui effettuare il provisioning tramite DPS, insieme a una chiave simmetrica per l'attestazione.
DpsX509 Nessuno Parametro Switch. Se non viene specificato alcun tipo di provisioning, il provisioning manuale con una stringa di connessione è il valore predefinito.

Dichiara di fornire un ID ambito del servizio Device Provisioning (DPS) e l'ID registrazione del dispositivo per il provisioning tramite DPS, insieme a un certificato di identità X.509 e una chiave privata per l'attestazione.
DeviceConnectionString Stringa di connessione da un dispositivo IoT Edge registrato in un hub IoT, tra virgolette singole Necessario per il provisioning manuale con una stringa di connessione. Se non si specifica una stringa di connessione nei parametri dello script, ne verrà richiesto uno.
IotHubHostName Nome host dell'hub IoT a cui si connette un dispositivo. necessari per il provisioning manuale con certificati X.509. Accetta il formato {nome hub}.azure-devices.net.
DeviceId ID dispositivo da un'identità del dispositivo registrata nell'hub IoT. necessari per il provisioning manuale con certificati X.509.
ScopeId ID ambito di un'istanza del servizio Device Provisioning associato all'hub IoT. necessari per il provisioning del servizio Device Provisioning. Se non si specifica un ID ambito nei parametri dello script, ne verrà richiesto uno.
RegistrationId ID di registrazione generato dal dispositivo necessario per il provisioning del servizio Device Provisioning se si usa TPM o l'attestazione della chiave simmetrica. facoltativo se si usa l'attestazione del certificato X.509.
X509IdentityCertificate Percorso URI del certificato di identità del dispositivo X.509 nel dispositivo. Necessario per il provisioning manuale o DPS se si usa l'attestazione del certificato X.509.
X509IdentityPrivateKey Percorso URI della chiave del certificato di identità del dispositivo X.509 nel dispositivo. Necessario per il provisioning manuale o DPS se si usa l'attestazione del certificato X.509.
symmetricKey Chiave simmetrica usata per effettuare il provisioning dell'identità del dispositivo IoT Edge quando si usa dps necessario per il provisioning dps se si usa l'attestazione della chiave simmetrica.
contenitori Windows o Linux Se non viene specificato alcun sistema operativo contenitore, Windows è il valore predefinito.

Per i contenitori Windows, IoT Edge usa il motore contenitore Moby incluso nell'installazione. Per i contenitori Linux, è necessario installare un motore di contenitori prima di avviare l'installazione.
DeviceCACertificate Percorso URI del certificato CA del dispositivo X.509 nel dispositivo. Può essere configurato anche nel file C:\ProgramData\iotedge\config.yaml. Per altre informazioni, vedere Gestire i certificati in un dispositivo IoT Edge.
DeviceCAPrivateKey Percorso URI della chiave privata della CA del dispositivo X.509 nel dispositivo. Può essere configurato anche nel file C:\ProgramData\iotedge\config.yaml. Per altre informazioni, vedere Gestire i certificati in un dispositivo IoT Edge.
InvokeWebRequestParameters Tabella hash di parametri e valori Durante l'installazione vengono effettuate diverse richieste Web. Usare questo campo per impostare i parametri per tali richieste Web. Questo parametro è utile per configurare le credenziali per i server proxy. Per altre informazioni, vedere Configurare un dispositivo IoT Edge per comunicare tramite un server proxy.
AgentImage URI dell'immagine dell'agente IoT Edge Per impostazione predefinita, una nuova installazione di IoT Edge usa il tag in sequenza più recente per l'immagine dell'agente IoT Edge. Usare questo parametro per impostare un tag specifico per la versione dell'immagine o per fornire un'immagine dell'agente personalizzata. Per altre informazioni, vedere Informazioni sui tag IoT Edge.
Nome utente Nome utente registro contenitori Usare questo parametro solo se si imposta il parametro -AgentImage su un contenitore in un registro privato. Fornire un nome utente con accesso al Registro di sistema.
Parola d’ordine Secure password string Usare questo parametro solo se si imposta il parametro -AgentImage su un contenitore in un registro privato. Specificare la password per accedere al Registro di sistema.

Update-IoTEdge

Parametro Valori accettati Commenti
contenitori Windows o Linux Se non viene specificato alcun sistema operativo contenitore, Windows è il valore predefinito. Per i contenitori windows, nell'installazione verrà incluso un motore di contenitori. Per i contenitori Linux, è necessario installare un motore di contenitori prima di avviare l'installazione.
Procura Proxy URL Includere questo parametro se il dispositivo deve passare attraverso un server proxy per raggiungere Internet. Per altre informazioni, vedere Configurare un dispositivo IoT Edge per comunicare tramite un server proxy.
InvokeWebRequestParameters Tabella hash di parametri e valori Durante l'installazione vengono effettuate diverse richieste Web. Usare questo campo per impostare i parametri per tali richieste Web. Questo parametro è utile per configurare le credenziali per i server proxy. Per altre informazioni, vedere Configurare un dispositivo IoT Edge per comunicare tramite un server proxy.
OfflineInstallationPath Percorso directory Se questo parametro è incluso, il programma di installazione verificherà la directory elencata per i file CAB di IoT Edge e VC Runtime MSI necessari per l'installazione. Tutti i file non trovati nella directory vengono scaricati. Se entrambi i file si trovano nella directory, è possibile installare IoT Edge senza una connessione Internet. È anche possibile usare questo parametro per usare una versione specifica.
RestartIfNeeded Nessuno Questo flag consente allo script di distribuzione di riavviare il computer senza chiedere conferma, se necessario.

Uninstall-IoTEdge

Parametro Valori accettati Commenti
Forza Nessuno Questo flag forza la disinstallazione nel caso in cui il tentativo precedente di disinstallare non sia riuscito.
RestartIfNeeded Nessuno Questo flag consente allo script di disinstallazione di riavviare il computer senza chiedere conferma, se necessario.

Passaggi successivi

Informazioni su come usare questi comandi nell'articolo seguente: