Share via


Script di PowerShell per IoT Edge con contenitori Windows

Si applicaall'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.

Informazioni sugli 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 IoT Edge. La versione più recente dello script è sempre disponibile in aka.ms/iotedge-win.

È possibile eseguire uno 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 viene 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 IoT Edge Daemon di sicurezza 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 di 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 msi di IoT Edge cab e VC Runtime 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 richiedere, 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 verrà fornita una stringa di connessione del dispositivo per effettuare manualmente il provisioning del dispositivo.
ManualeX509 Nessuno Parametro switch. Se non viene specificato alcun tipo di provisioning, il provisioning manuale con una stringa di connessione è il valore predefinito.

Dichiara che verrà fornito 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 che si forniranno un ID ambito del servizio Device Provisioning (DPS) e l'ID registrazione del dispositivo per effettuare 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 che si fornirà un ID di ambito Device Provisioning Service (DPS) e l'ID registrazione del dispositivo per eseguire 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 che si fornirà un ID di ambito Device Provisioning Service (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 una stringa di connessione. Se non si specifica una stringa di connessione nei parametri di script, 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 di DPS. Se non si specifica un ID ambito nei parametri di script, verrà richiesto uno.
ID registrazione Un ID registrazione generato dal dispositivo Obbligatorio 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. 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 del servizio Device Provisioning se si usa l'attestazione della chiave simmetrica.
ContainerOs Windows o Linux Se non viene specificato alcun sistema operativo contenitore, Windows è il valore predefinito.

Per i contenitori di 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 MSI di IoT Edge cab e VC Runtime 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: