Partilhar via


Como testar artefatos do pacote de configuração da máquina

O módulo do PowerShell GuestConfiguration inclui ferramentas para automatizar o teste de um pacote de configuração 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 Arc.

Antes de começar o teste, 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 Geralmente Disponível (GA). No entanto, aplicam-se as seguintes limitações:

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 o agente Arc 1.10.0 ou posterior.

O módulo GuestConfiguration só está disponível no Ubuntu 18 e posterior. No entanto, o pacote e as políticas produzidas pelo módulo podem ser usados em qualquer distro/versão Linux suportada no Azure ou Arc.

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

Você pode testar o pacote a partir de sua estação de trabalho ou do ambiente de integração contínua e implantação contínua (CI/CD). O módulo GuestConfiguration inclui o mesmo agente para seu ambiente de desenvolvimento que é usado dentro de máquinas habilitadas 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 de script onde o pacote é testado seja consistente com as máquinas que você gerencia usando a configuração da máquina.

O serviço de agente em máquinas habilitadas para Azure e Arc está sendo executado como a LocalSystem conta no Windows e 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, use 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-GuestConfigurationPackageComplianceStatuso . O comando verifica os seguintes requisitos de pacote.

  • 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)
  • Teste isso Test e Get retorne informações sobre o status de conformidade

Parâmetros do Get-GuestConfigurationPackageComplianceStatus cmdlet:

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

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

Execute o seguinte comando para testar o pacote:

No Windows, a partir 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 gera a saída de 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

Finalmente, se o modo de pacote de configuração for AuditandSet você pode testar se o método pode aplicar configurações a uma máquina local usando o Set comando Start-GuestConfigurationPackageRemediation.

Importante

Este comando tenta fazer alterações no ambiente local onde é executado.

Parâmetros do Start-GuestConfigurationPackageRemediation cmdlet:

  • Caminho: Caminho completo do pacote de configuração da máquina.

No Windows, a partir 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 só retorna a saída quando ocorrem erros. Para solucionar problemas de detalhes sobre eventos que ocorrem durante Seto , use o -verbose parâmetro.

Depois de executar o comando Start-GuestConfigurationPackageRemediation, você pode executá-lo Get-GuestConfigurationComplianceStatus novamente para confirmar que a máquina está agora no estado correto.

Próximo passo