Compartilhar via


Scripts do PowerShell para IoT Edge com contêineres do Windows

Aplica-se a: íconesim IoT Edge 1.1

Importante

O IoT Edge 1.1 data de término do suporte foi 13 de dezembro de 2022. Confira o Ciclo de Vida do Produto da Microsoft para obter informações sobre o suporte deste produto, serviço, tecnologia ou API. Para obter mais informações sobre como atualizar para a versão mais recente do IoT Edge, consulte Update IoT Edge.

Entenda os scripts do PowerShell que instalam, atualizam ou desinstalam o IoT Edge em dispositivos Windows.

Os comandos descritos neste artigo são do arquivo IoTEdgeSecurityDaemon.ps1 que é lançado a cada versão do IoT Edge. A versão mais recente do script está sempre disponível em aka.ms/iotedge-win.

Você pode executar qualquer um dos comandos usando o cmdlet Invoke-WebRequest para acessar a versão mais recente do script. Por exemplo:

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

Você também pode baixar esse script ou uma versão do script de uma versão específica para executar os comandos. Por exemplo:

. <path>\IoTEdgeSecurityDaemon.ps1
Deploy-IoTEdge

O script fornecido é assinado para aumentar a segurança. Você pode verificar a assinatura baixando o script em seu dispositivo e executando o seguinte comando do PowerShell:

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

O status de saída será válido se a assinatura for verificada.

Deploy-IoTEdge

O comando Deploy-IoTEdge baixa e implanta o Daemon de Segurança do IoT Edge e suas dependências. O comando de implantação aceita esses parâmetros comuns, entre outros. Para a lista completa, use o comando Get-Help Deploy-IoTEdge -full.

Parâmetro Valores aceitos Comentários
contêineres windows ou linux Se nenhum sistema operacional de contêiner for especificado, o Windows será o valor padrão.

Para contêineres do Windows, o IoT Edge usa o mecanismo de contêiner moby incluído na instalação. Para contêineres do Linux, você precisa instalar um mecanismo de contêiner antes de iniciar a instalação.
Procuração Proxy URL Inclua esse parâmetro se o dispositivo precisar passar por um servidor proxy para acessar a Internet. Para obter mais informações, consulte Configurar um dispositivo IoT Edge para se comunicar por meio de um servidor proxy.
offlineInstallationPath Caminho do diretório Se esse parâmetro estiver incluído, o instalador verificará o diretório listado para os arquivos MSI de cab do IoT Edge e vc runtime necessários para instalação. Todos os arquivos não encontrados no diretório são baixados. Se ambos os arquivos estiverem no diretório, você poderá instalar o IoT Edge sem uma conexão com a Internet. Você também pode usar esse parâmetro para usar uma versão específica.
InvokeWebRequestParameters Hashtable de parâmetros e valores Durante a instalação, várias solicitações da Web são feitas. Use esse campo para definir parâmetros para essas solicitações da Web. Esse parâmetro é útil para configurar credenciais para servidores proxy. Para obter mais informações, consulte Configurar um dispositivo IoT Edge para se comunicar por meio de um servidor proxy.
RestartIfNeeded nenhum Esse sinalizador permite que o script de implantação reinicie o computador sem solicitar, se necessário.

Initialize-IoTEdge

O comando Initialize-IoTEdge configura o IoT Edge com a cadeia de conexão do dispositivo e os detalhes operacionais. Grande parte das informações geradas por esse comando é armazenada no arquivo iotedge\config.yaml. O comando de inicialização aceita esses parâmetros comuns, entre outros. Para a lista completa, use o comando Get-Help Initialize-IoTEdge -full.

Parâmetro Valores aceitos Comentários
ManualConnectionString Nenhum de parâmetro do Comutador. valor padrão. Se nenhum tipo de provisionamento for especificado, o provisionamento manual com uma cadeia de conexão será o valor padrão.

Declara que você fornecerá uma cadeia de conexão de dispositivo para provisionar o dispositivo manualmente.
ManualX509 Nenhum de parâmetro do Comutador. Se nenhum tipo de provisionamento for especificado, o provisionamento manual com uma cadeia de conexão será o valor padrão.

Declara que você fornecerá um certificado de identidade e uma chave privada para provisionar o dispositivo manualmente.
DpsTpm Nenhum de parâmetro do Comutador. Se nenhum tipo de provisionamento for especificado, o provisionamento manual com uma cadeia de conexão será o valor padrão.

Declara que você fornecerá uma ID de escopo do DPS (Serviço de Provisionamento de Dispositivos) e a ID de Registro do dispositivo para provisionar por meio do DPS.
DpsSymmetricKey Nenhum de parâmetro do Comutador. Se nenhum tipo de provisionamento for especificado, o provisionamento manual com uma cadeia de conexão será o valor padrão.

Declara que você fornecerá uma ID de escopo do DPS (Serviço de Provisionamento de Dispositivos) e a ID de Registro do dispositivo para provisionar por meio do DPS, juntamente com uma chave simétrica para atestado.
DpsX509 Nenhum de parâmetro do Comutador. Se nenhum tipo de provisionamento for especificado, o provisionamento manual com uma cadeia de conexão será o valor padrão.

Declara que você fornecerá uma ID de escopo do DPS (Serviço de Provisionamento de Dispositivos) e a ID de Registro do dispositivo para provisionar por meio do DPS, juntamente com um certificado de identidade X.509 e uma chave privada para atestado.
DeviceConnectionString Uma cadeia de conexão de um dispositivo IoT Edge registrado em um Hub IoT, entre aspas simples necessária para provisionamento manual com uma cadeia de conexão. Se você não fornecer uma cadeia de conexão nos parâmetros de script, será solicitado um.
IotHubHostName O nome do host do hub IoT ao qual um dispositivo se conecta. necessária para provisionamento manual com certificados X.509. Usa o formato {hub name}.azure-devices.net.
DeviceId A ID do dispositivo de uma identidade de dispositivo registrada no Hub IoT. necessária para provisionamento manual com certificados X.509.
ScopeId Uma ID de escopo de uma instância do Serviço de Provisionamento de Dispositivos associada ao Hub IoT. necessária para provisionamento de DPS. Se você não fornecer uma ID de escopo nos parâmetros de script, será solicitado um.
RegistrationId Uma ID de registro gerada pelo dispositivo necessária para o provisionamento de DPS se estiver usando o TPM ou o atestado de chave simétrica. opcional se estiver usando o atestado de certificado X.509.
X509IdentityCertificate O caminho do URI para o certificado de identidade do dispositivo X.509 no dispositivo. necessária para provisionamento manual ou DPS se estiver usando o atestado de certificado X.509.
X509IdentityPrivateKey O caminho do URI para a chave de certificado de identidade do dispositivo X.509 no dispositivo. necessária para provisionamento manual ou DPS se estiver usando o atestado de certificado X.509.
SymmetricKey A chave simétrica usada para provisionar a identidade do dispositivo do IoT Edge ao usar o DPS necessária para o provisionamento de DPS se estiver usando o atestado de chave simétrica.
contêineres windows ou linux Se nenhum sistema operacional de contêiner for especificado, o Windows será o valor padrão.

Para contêineres do Windows, o IoT Edge usa o mecanismo de contêiner moby incluído na instalação. Para contêineres do Linux, você precisa instalar um mecanismo de contêiner antes de iniciar a instalação.
DeviceCACertificate O caminho do URI para o certificado de AC do dispositivo X.509 no dispositivo. Também pode ser configurado no arquivo C:\ProgramData\iotedge\config.yaml. Para obter mais informações, consulte Gerenciar certificados em um dispositivo IoT Edge.
DeviceCAPrivateKey O caminho do URI para a chave privada da AC do dispositivo X.509 no dispositivo. Também pode ser configurado no arquivo C:\ProgramData\iotedge\config.yaml. Para obter mais informações, consulte Gerenciar certificados em um dispositivo IoT Edge.
InvokeWebRequestParameters Hashtable de parâmetros e valores Durante a instalação, várias solicitações da Web são feitas. Use esse campo para definir parâmetros para essas solicitações da Web. Esse parâmetro é útil para configurar credenciais para servidores proxy. Para obter mais informações, consulte Configurar um dispositivo IoT Edge para se comunicar por meio de um servidor proxy.
AgentImage URI de imagem do agente do IoT Edge Por padrão, uma nova instalação do IoT Edge usa a marca de rolagem mais recente para a imagem do agente do IoT Edge. Use esse parâmetro para definir uma marca específica para a versão da imagem ou para fornecer sua própria imagem de agente. Para obter mais informações, consulte Entender marcas do IoT Edge.
Nome de usuário Nome de usuário do Registro de Contêiner Use esse parâmetro somente se você definir o parâmetro -AgentImage para um contêiner em um registro privado. Forneça um nome de usuário com acesso ao registro.
Senha Cadeia de caracteres de senha segura Use esse parâmetro somente se você definir o parâmetro -AgentImage para um contêiner em um registro privado. Forneça a senha para acessar o registro.

Update-IoTEdge

Parâmetro Valores aceitos Comentários
contêineres windows ou linux Se nenhum sistema operacional de contêiner for especificado, o Windows será o valor padrão. Para contêineres do Windows, um mecanismo de contêiner será incluído na instalação. Para contêineres do Linux, você precisa instalar um mecanismo de contêiner antes de iniciar a instalação.
Procuração Proxy URL Inclua esse parâmetro se o dispositivo precisar passar por um servidor proxy para acessar a Internet. Para obter mais informações, consulte Configurar um dispositivo IoT Edge para se comunicar por meio de um servidor proxy.
InvokeWebRequestParameters Hashtable de parâmetros e valores Durante a instalação, várias solicitações da Web são feitas. Use esse campo para definir parâmetros para essas solicitações da Web. Esse parâmetro é útil para configurar credenciais para servidores proxy. Para obter mais informações, consulte Configurar um dispositivo IoT Edge para se comunicar por meio de um servidor proxy.
offlineInstallationPath Caminho do diretório Se esse parâmetro estiver incluído, o instalador verificará o diretório listado para os arquivos MSI de cab do IoT Edge e vc runtime necessários para instalação. Todos os arquivos não encontrados no diretório são baixados. Se ambos os arquivos estiverem no diretório, você poderá instalar o IoT Edge sem uma conexão com a Internet. Você também pode usar esse parâmetro para usar uma versão específica.
RestartIfNeeded nenhum Esse sinalizador permite que o script de implantação reinicie o computador sem solicitar, se necessário.

Uninstall-IoTEdge

Parâmetro Valores aceitos Comentários
Force nenhum Esse sinalizador força a desinstalação caso a tentativa anterior de desinstalar não tenha sido bem-sucedida.
RestartIfNeeded nenhum Esse sinalizador permite que o script de desinstalação reinicie o computador sem solicitar, se necessário.

Próximas etapas

Saiba como usar esses comandos no seguinte artigo: