Scripts do PowerShell para IoT Edge com contêineres do Windows
Aplica-se a: 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: