Share via


Como testar artefatos para o pacote de configuração de computador

O módulo do PowerShell GuestConfiguration inclui ferramentas para automatizar o teste de um pacote de configurações fora do Azure. Use essas ferramentas para encontrar problemas e iterar rapidamente antes de passar para o teste em um ambiente conectado do Azure ou do Arc.

Antes de começar a testar, você precisa configurar seu ambiente de criação e criar um artefato de pacote de configuração de máquina personalizado.

Importante

Os pacotes personalizados que auditam o estado de um ambiente e aplicam configurações estão no status de suporte Disponibilidade Geral (GA). No entanto, as seguintes limitações se aplicam:

Para usar pacotes de configuração de máquina que aplicam configurações, é necessária a extensão de configuração de convidado da VM do Azure versão 1.26.24 ou posterior, ou Arc agent 1.10.0 ou posterior.

O módulo GuestConfiguration está disponível apenas no Ubuntu 18 e posterior. No entanto, o pacote e as políticas produzidos pelo módulo podem ser usadas em qualquer distribuição/versão do Linux suportada no Azure ou no Arc.

Os pacotes de teste no macOS não estão disponíveis.

Você pode testar o pacote da sua estação de trabalho ou do ambiente de CI/CD (integração contínua e implantação contínua). O módulo GuestConfiguration inclui o mesmo agente para seu ambiente de desenvolvimento usado em computadores habilitados para Azure ou Arc. O agente inclui uma instância autônoma do PowerShell 7.1.3 para Windows e 7.2.0-preview.7 para Linux. A instância autônoma garante que o ambiente do script em que o pacote é testado seja consistente com os computadores que você gerencia usando a configuração de máquina.

O serviço de agente em computadores habilitados para Azure e Arc está em execução na conta LocalSystem no Windows e no Root no Linux. Execute os comandos neste artigo em um contexto de segurança privilegiado para obter melhores resultados.

Para executar o PowerShell como LocalSystem no Windows, use a ferramenta SysInternals PSExec.

Para executar o PowerShell como Root no Linux, utilize o comando sudo.

Validar se o pacote de configuração atende aos requisitos

Primeiro, teste se o pacote de configuração atende aos requisitos básicos usando Get-GuestConfigurationPackageComplianceStatus. O comando verifica os requisitos de pacote a seguir.

  • O MOF está presente e válido, no local certo
  • Os módulos/dependências necessários estão presentes com a versão correta, sem duplicatas
  • Validar se o pacote está assinado (opcional)
  • Testar se Test e Get retornam informações sobre o status de conformidade

Parâmetros do cmdlet Get-GuestConfigurationPackageComplianceStatus:

  • Caminho: caminho do arquivo ou da URI do pacote de configuração de computador.
  • Parâmetro: parâmetros da política fornecidos como uma tabela hash.

Quando esse comando é executado pela primeira vez, o agente de configuração de computador é instalado no computador de teste no caminho C:\ProgramData\GuestConfig\bin no Windows e /var/lib/GuestConfig/binno Linux. Esse caminho não está acessível a uma conta de usuário, portanto, o comando requer elevação.

Execute o seguinte comando para testar o pacote:

No Windows, de uma sessão elevada do PowerShell 7.

# Get the current compliance results for the local machine
Get-GuestConfigurationPackageComplianceStatus -Path ./MyConfig.zip

No Linux, executando o PowerShell usando sudo.

# Get the current compliance results for the local machine
sudo pwsh -command 'Get-GuestConfigurationPackageComplianceStatus -Path ./MyConfig.zip'

O comando emite um objeto que contém o status de conformidade e os detalhes por recurso.

  complianceStatus  resources
  ----------------  ---------
  True              @{BuiltInAccount=localSystem; ConfigurationName=MyConfig; …

Testar o pacote de configuração pode aplicar uma configuração

Por fim, se o modo de pacote de configuração for AuditandSet, você poderá testar se o método Set pode aplicar configurações a um computador local usando o comando Start-GuestConfigurationPackageRemediation.

Importante

Esse comando tenta fazer alterações no ambiente local em que ele é executado.

Parâmetros do cmdlet Start-GuestConfigurationPackageRemediation:

  • Caminho: caminho completo do pacote de configuração de computador.

No Windows, de uma sessão elevada do PowerShell 7.

# Test applying the configuration to local machine
Start-GuestConfigurationPackageRemediation -Path ./MyConfig.zip

No Linux, executando o PowerShell usando sudo.

# Test applying the configuration to local machine
sudo pwsh -command 'Start-GuestConfigurationPackageRemediation -Path ./MyConfig.zip'

O comando retorna apenas a saída quando ocorrem erros. Para solucionar problemas de detalhes de eventos que acontecem durante Set, use o parâmetro -verbose.

Após executar o comando Start-GuestConfigurationPackageRemediation, você pode executar o comando Get-GuestConfigurationComplianceStatus novamente para confirmar que o computador está no estado correto agora.

Próxima etapa