Script di PowerShell per IoT Edge con contenitori di Windows
Si applica a: 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: