Compartilhar via


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

Aplica-se a: ícone sim IoT Edge 1.1

Importante

IoT Edge 1.1 a 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 Atualizar o 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 com 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 específica dele para executar os comandos. Por exemplo:

. <path>\IoTEdgeSecurityDaemon.ps1
Deploy-IoTEdge

O script fornecido está assinado para aumentar a segurança. Você pode verificar a assinatura baixando o script no 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 as dependências dele. O comando de implantação aceita esses parâmetros comuns, entre outros. Para obter a lista completa, use o comando Get-Help Deploy-IoTEdge -full.

Parâmetro Valores aceitos Comentários
ContainerOs Windows ou Linux Se nenhum sistema operacional do 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, será necessário instalar um mecanismo de contêiner antes de iniciar a instalação.
Proxy URL do Proxy 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 for incluído, o instalador verificará o diretório listado dos arquivos cab do IoT Edge e MSI do Runtime de VC necessários para a instalação. Todos os arquivos não encontrados no diretório são baixados. Se os dois 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 Tabela de hash de parâmetros e valores Durante a instalação, várias solicitações da Web serã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 avisar, se necessário.

Initialize-IoTEdge

O comando Initialize-IoTEdge configura o IoT Edge com a cadeia de conexão do dispositivo e 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 obter a lista completa, use o comando Get-Help Initialize-IoTEdge -full.

Parâmetro Valores aceitos Comentários
ManualConnectionString Nenhum Parâmetro de opção. 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 Parâmetro de opçã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á um certificado de identidade e uma chave privada para provisionar o dispositivo manualmente.
DpsTpm Nenhum Parâmetro de opçã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 ID do escopo do DPS (Serviço de Provisionamento de Dispositivos) e a ID de Registro do dispositivo para provisionar por meio do DPS.
DpsSymmetricKey Nenhum Parâmetro de opçã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 ID do escopo do DPS (Serviço de Provisionamento de Dispositivos) e a ID de Registro do dispositivo para provisionar por meio do DPS, junto com uma chave simétrica para atestado.
DpsX509 Nenhum Parâmetro de opçã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 ID do escopo do DPS (Serviço de Provisionamento de Dispositivos) e a ID de Registro do dispositivo para provisionar por meio do DPS, junto com um certificado de identidade X.509 e uma chave privada para atestado.
DeviceConnectionString Uma cadeia de conexão de um dispositivo do IoT Edge registrado em um Hub IoT, entre aspas simples Necessário 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 que você forneça uma.
IotHubHostName O nome do host do hub IoT ao qual um dispositivo se conecta. Necessário para provisionamento manual com certificados X.509. Usa o formato {nome do hub}.azure-devices.net.
DeviceId A ID do dispositivo de uma identidade do dispositivo registrada no hub IoT. Necessário para provisionamento manual com certificados X.509.
ScopeId Uma ID do escopo de uma instância do Serviço de Provisionamento de Dispositivos associada ao Hub IoT. Necessário para provisionamento do DPS. Se você não fornecer uma ID do escopo nos parâmetros do script, será solicitado que você forneça uma.
RegistrationId Uma ID de registro gerada pelo dispositivo Necessário para provisionamento do DPS se usar o TPM ou atestado de chave simétrica. Opcional se estiver usando o atestado do certificado X.509.
X509IdentityCertificate O caminho do URI para o certificado de identidade do dispositivo X.509 no dispositivo. Necessário para o provisionamento manual ou do DPS se estiver usando o atestado do certificado X.509.
X509IdentityPrivateKey O caminho do URI para a chave de certificado de identidade do dispositivo X.509 no dispositivo. Necessário para o provisionamento manual ou do DPS se estiver usando o atestado do certificado X.509.
Chave simétrica A chave simétrica usada para provisionar a identidade do dispositivo do IoT Edge ao usar o DPS Necessário para provisionamento do DPS se usar o atestado de chave simétrica.
ContainerOs Windows ou Linux Se nenhum sistema operacional do 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, será necessário instalar um mecanismo de contêiner antes de iniciar a instalação.
DeviceCACertificate O caminho do URI para o certificado de Autoridade de Certificação do dispositivo X.509 no dispositivo. Também pode ser configurado no arquivo C:\ProgramData\iotedge\config.yaml. Para obter mais informações, confira Gerenciar certificados em um dispositivo do IoT Edge.
DeviceCAPrivateKey O caminho do URI para a chave privada de Autoridade de Certificação do dispositivo X.509 no dispositivo. Também pode ser configurado no arquivo C:\ProgramData\iotedge\config.yaml. Para obter mais informações, confira Gerenciar certificados em um dispositivo do IoT Edge.
InvokeWebRequestParameters Tabela de hash de parâmetros e valores Durante a instalação, várias solicitações da Web serã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 sem interrupção 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 a própria imagem de agente. Para obter mais informações, consulte Reconhecer as 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 como um contêiner em um registro privado. Forneça um nome de usuário com acesso ao registro.
Senha Cadeia de caracteres de senha de segurança Use esse parâmetro somente se você definir o parâmetro -AgentImage como um contêiner em um registro privado. Forneça a senha para acessar o registro.

Update-IoTEdge

Parâmetro Valores aceitos Comentários
ContainerOs Windows ou Linux Se nenhum SO do 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, será necessário instalar um mecanismo de contêiner antes de iniciar a instalação.
Proxy URL do Proxy 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 Tabela de hash de parâmetros e valores Durante a instalação, várias solicitações da Web serã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 for incluído, o instalador verificará o diretório listado dos arquivos cab do IoT Edge e MSI do Runtime de VC necessários para a instalação. Todos os arquivos não encontrados no diretório são baixados. Se os dois 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 avisar, se necessário.

Uninstall-IoTEdge

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

Próximas etapas

Saiba como usar esses comandos no seguinte artigo: