Script di PowerShell per IoT Edge con contenitori di Windows

Si applica a: Icona Sì IoT Edge 1.1

Importante

La data di fine del supporto di IoT Edge 1.1 è 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 IoTEdgeSecurityDaemon.ps1 file 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 Invoke-WebRequest cmdlet per accedere alla versione più recente dello script. Ad 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. Ad 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 di 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
ContainerOs 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 del contenitore prima di avviare l'installazione.
Proxy URL proxy Includere questo parametro se il dispositivo deve passare attraverso un server proxy per accedere a 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 dei parametri e dei valori Durante l'installazione vengono effettuate più richieste Web. Usare questo campo per impostare i parametri per queste 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 il dispositivo stringa di connessione 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 None Parametro opzionale. Valore predefinito. Se non viene specificato alcun tipo di provisioning, il provisioning manuale con un stringa di connessione è il valore predefinito.

Dichiara che si fornirà un dispositivo stringa di connessione per effettuare il provisioning manuale del dispositivo.
ManualX509 None Parametro opzionale. Se non viene specificato alcun tipo di provisioning, il provisioning manuale con un 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 None Parametro opzionale. Se non viene specificato alcun tipo di provisioning, il provisioning manuale con un stringa di connessione è il valore predefinito.

Dichiara che si forniranno un ID ambito del servizio Device Provisioning (DPS) e l'ID registrazione del dispositivo per effettuare il provisioning tramite DPS.
DpsSymmetricKey None Parametro opzionale. Se non viene specificato alcun tipo di provisioning, il provisioning manuale con un 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 None Parametro opzionale. Se non viene specificato alcun tipo di provisioning, il provisioning manuale con un 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 Una stringa di connessione da un dispositivo IoT Edge registrato in un hub IoT, tra virgolette singole Obbligatorio per il provisioning manuale con un stringa di connessione. Se non si specifica un stringa di connessione nei parametri dello script, ne verrà richiesto uno.
IotHubHostName Nome host dell'hub IoT a cui si connette un dispositivo. Obbligatorio 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 in hub IoT. Obbligatorio per il provisioning manuale con certificati X.509.
ScopeId Un ID ambito da un'istanza del servizio Device Provisioning associata all'hub IoT. Obbligatorio per il provisioning del servizio Device Provisioning. Se non si specifica un ID ambito nei parametri dello script, ne verrà richiesto uno.
RegistrationId Un ID registrazione generato dal dispositivo Obbligatorio per il provisioning del servizio Device Provisioning se si usa TPM o l'attestazione con 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. Obbligatorio 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. Obbligatorio 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 Obbligatorio per il provisioning dps se si usa l'attestazione con chiave simmetrica.
ContainerOs 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 del contenitore prima di avviare l'installazione.
DeviceCACertificate Percorso URI del certificato CA del dispositivo X.509 nel dispositivo. Può anche essere configurato nel C:\ProgramData\iotedge\config.yaml file. 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ò anche essere configurato nel C:\ProgramData\iotedge\config.yaml file. Per altre informazioni, vedere Gestire i certificati in un dispositivo IoT Edge.
InvokeWebRequestParameters Tabella hash dei parametri e dei valori Durante l'installazione vengono effettuate più richieste Web. Usare questo campo per impostare i parametri per queste 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 di versioni 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 la propria immagine dell'agente. Per altre informazioni, vedere Informazioni sui tag di IoT Edge.
Nome utente Nome utente del registro contenitori Usare questo parametro solo se si imposta il parametro -AgentImage su un contenitore in un registro privato. Specificare un nome utente con accesso al registro.
Password Stringa della password di protezione Usare questo parametro solo se si imposta il parametro -AgentImage su un contenitore in un registro privato. Specificare la password per accedere al registro.

Update-IoTEdge

Parametro Valori accettati Commenti
ContainerOs 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 del contenitore. Per i contenitori Linux, è necessario installare un motore del contenitore prima di avviare l'installazione.
Proxy URL proxy Includere questo parametro se il dispositivo deve passare attraverso un server proxy per accedere a Internet. Per altre informazioni, vedere Configurare un dispositivo IoT Edge per comunicare tramite un server proxy.
InvokeWebRequestParameters Tabella hash dei parametri e dei valori Durante l'installazione vengono effettuate più richieste Web. Usare questo campo per impostare i parametri per queste 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: