Solucionar problemas de Configuração do Estado de Automação do Azure
Nota
A Configuração do Estado de Automação do Azure será desativada em 30 de setembro de 2027, faça a transição para a Configuração de Máquina do Azure até essa data. Para obter mais informações, consulte o anúncio da postagem no blog. O serviço de Configuração de Máquina do Azure combina recursos de Extensão DSC, Configuração de Estado de Automação do Azure e os recursos mais comumente solicitados dos comentários dos clientes. A Configuração de Máquina do Azure também inclui suporte a máquinas híbridas por meio de servidores habilitados para Arc.
Atenção
O Azure Automation DSC para Linux foi desativado em 30 de setembro de 2023. Para mais informações, consulte o anúncio.
Este artigo fornece informações sobre como solucionar e resolver problemas que ocorrem enquanto você compila ou implanta configurações na Configuração do Estado de Automação do Azure. Para obter informações gerais sobre o recurso Configuração de Estado, consulte Visão geral da Configuração do Estado de Automação do Azure.
Diagnosticar um problema
Quando você recebe um erro de compilação ou implantação para configuração, aqui estão algumas etapas para ajudá-lo a diagnosticar o problema.
1. Certifique-se de que sua configuração seja compilada com êxito na máquina local
A Configuração do Estado de Automação do Azure é baseada na Configuração de Estado Desejado (DSC) do PowerShell. Você pode encontrar a documentação para a linguagem e sintaxe DSC no PowerShell DSC Docs.
Ao compilar uma configuração DSC em sua máquina local, você pode descobrir e resolver erros comuns, como:
- Módulos em falta.
- Erros de sintaxe.
- Erros de lógica.
2. Visualize os logs DSC no seu nó
Se sua configuração for compilada com êxito, mas falhar quando aplicada a um nó, você poderá encontrar informações detalhadas nos logs DSC. Para obter informações sobre onde encontrar esses logs, consulte Onde estão os logs de eventos DSC.
O módulo xDscDiagnostics pode ajudá-lo a analisar informações detalhadas dos logs DSC. Se você entrar em contato com o suporte, eles precisarão desses logs para diagnosticar o problema.
Você pode instalar o xDscDiagnostics
módulo em sua máquina local seguindo as instruções em Instalar o módulo de versão estável.
Para instalar o xDscDiagnostics
módulo em sua máquina do Azure, use Invoke-AzVMRunCommand. Você também pode usar a opção Executar comando no portal do Azure seguindo as etapas em Executar scripts do PowerShell em sua VM do Windows com Executar Comando.
Para obter informações sobre como usar xDscDiagnostics, consulte Usando xDscDiagnostics para analisar logs DSC. Consulte também xDscDiagnostics Cmdlets.
3. Certifique-se de que os nós e o espaço de trabalho de automação tenham os módulos necessários
O DSC depende dos módulos instalados no nó. Ao usar a Configuração do Estado de Automação do Azure, importe todos os módulos necessários para sua conta de Automação seguindo as etapas em Importar Módulos. As configurações também podem ter uma dependência de versões específicas de módulos. Para obter mais informações, consulte Solucionar problemas de módulos.
Cenário: Uma configuração com caracteres especiais não pode ser excluída do portal
Problema
Quando você tenta excluir uma configuração DSC do portal, você vê o seguinte erro:
An error occurred while deleting the DSC configuration '<name>'. Error-details: The argument
configurationName with the value <name> is not valid. Valid configuration names can contain only
letters, numbers, and underscores. The name must start with a letter. The length of the name must be
between 1 and 64 characters.
Motivo
Este erro é um problema temporário. Tente novamente mais tarde.
Resolução
Use o cmdlet Remove-AzAutomationDscConfiguration para excluir a configuração.
Cenário: Falha ao registrar o agente DSC
Problema
Você recebe um erro quando usa Set-DscLocalConfigurationManager ou outro cmdlet DSC.
Registration of the Dsc Agent with the server
https://<location>-agentservice-prod-1.azure-automation.net/accounts/00000000-0000-0000-0000-000000000000
failed. The underlying error is: Failed to register Dsc Agent with AgentId
00000000-0000-0000-0000-000000000000 with the server
https://<location>-agentservice-prod-1.azure-automation.net/accounts/00000000-0000-0000-0000-000000000000/Nodes(AgentId='00000000-0000-0000-0000-000000000000').
+ CategoryInfo : InvalidResult: (root/Microsoft/...gurationManager:String) [], CimException
+ FullyQualifiedErrorId : RegisterDscAgentCommandFailed,Microsoft.PowerShell.DesiredStateConfiguration.Commands.RegisterDscAgentCommand
+ PSComputerName : <computerName>
Motivo
Problema de rede pode causar esse erro. Verifique as configurações do firewall ou se a máquina está atrás de um servidor proxy.
Resolução
Verifique se sua máquina tem acesso aos pontos de extremidade adequados para DSC e tente novamente. Para obter uma lista de portas e endereços necessários, consulte Planejamento de rede.
Cenário: Os relatórios de status retornam o código de resposta Não autorizado
Problema
Ao registrar um nó com a Configuração do Estado de Automação do Azure, você recebe uma das seguintes mensagens de erro:
The attempt to send status report to the server https://{your Automation account
URL}/accounts/xxxxxxxxxxxxxxxxxxxxxx/Nodes(AgentId='xxxxxxxxxxxxxxxxxxxxxxxxx')/SendReport returned
unexpected response code Unauthorized.
VM has reported a failure when processing extension 'Microsoft.Powershell.DSC / Registration of the
Dsc Agent with the server failed.
Motivo
As causas possíveis são as seguintes:
Um certificado incorreto ou expirado. Consulte Registrar novamente um nó.
Uma configuração de proxy que não está permitindo acesso ao
*.azure-automation.net
. Para obter mais informações, consulte Configuração de redes privadas.Quando você desabilita a autenticação local na Automação do Azure. Consulte Desativar autenticação local. Para corrigi-lo, consulte Reativar a autenticação local.
O tempo do computador cliente é muitos minutos impreciso em relação ao tempo real. Use o seguinte comando para verificar a hora:
w32tm /stripchart /computer:time.windows.com /samples:6
.
Resolução
Use as etapas a seguir para registrar novamente o nó DSC com falha.
Etapa 1: Cancelar o registro do nó
- No portal do Azure, vá para Contas> de automação residencial>(sua conta de automação) >Configuração de estado (DSC).
- Selecione Nós e selecione o nó com problemas.
- Selecione Cancelar registro para cancelar o registro do nó.
Etapa 2: desinstalar a extensão DSC do nó
- No portal do Azure, vá para Extensões de Máquina> Virtual Doméstica>(nó com falha). >
- Selecione Microsoft.Powershell.DSC, a extensão DSC do PowerShell.
- Selecione Desinstalar para desinstalar a extensão.
Etapa 3: Remover todos os certificados inválidos ou expirados do nó
No nó com falha de um prompt do PowerShell elevado, execute estes comandos:
$certs = @()
$certs += dir cert:\localmachine\my | ?{$_.FriendlyName -like "DSC"}
$certs += dir cert:\localmachine\my | ?{$_.FriendlyName -like "DSC-OaaS Client Authentication"}
$certs += dir cert:\localmachine\CA | ?{$_.subject -like "CN=AzureDSCExtension*"}
"";"== DSC Certificates found: " + $certs.Count
$certs | FL ThumbPrint,FriendlyName,Subject
If (($certs.Count) -gt 0)
{
ForEach ($Cert in $certs)
{
RD -LiteralPath ($Cert.Pspath)
}
}
Etapa 4: Registrar novamente o nó com falha
- No portal do Azure, vá para Contas> de automação residencial>(sua conta de automação) >Configuração de estado (DSC).
- Selecione Nós.
- Selecione Adicionar.
- Selecione o nó com falha.
- Selecione Conectar e selecione as opções desejadas.
Cenário: O nó está no status de falha com um erro "Não encontrado"
Problema
O nó tem um relatório com o status Falha e contém o erro:
The attempt to get the action from server
https://<url>//accounts/<account-id>/Nodes(AgentId=<agent-id>)/GetDscAction failed because a valid
configuration <guid> cannot be found.
Motivo
Esse erro normalmente ocorre quando o nó é atribuído a um nome de configuração, por exemplo, ABC, em vez de um nome de configuração de nó (arquivo MOF), por exemplo, ABC. Servidor Web.
Resolução
- Certifique-se de que você está atribuindo o nó com o nome de configuração do nó e não com o nome da configuração.
- Você pode atribuir uma configuração de nó a um nó usando o portal do Azure ou com um cmdlet do PowerShell.
- No portal do Azure, vá para Contas> de automação residencial>(sua conta de automação) >Configuração de estado (DSC). Em seguida, selecione um nó e selecione Atribuir configuração de nó.
- Use o cmdlet Set-AzAutomationDscNode .
Cenário: Nenhuma configuração de nó (arquivos MOF) foi produzida quando uma configuração foi compilada
Problema
Seu trabalho de compilação DSC é suspenso com o erro:
Compilation completed successfully, but no node configuration **.mof** files were generated.
Motivo
Quando a expressão que segue a Node
palavra-chave na configuração DSC é avaliada como $null
, nenhuma configuração de nó é produzida.
Resolução
Use uma das seguintes soluções para corrigir o problema:
- Certifique-se de que a expressão ao lado da
Node
palavra-chave na definição de configuração não está sendo avaliada como Nulo. - Se você estiver passando ConfigurationData ao compilar a configuração, certifique-se de que está passando os valores que a configuração espera dos dados de configuração.
Cenário: O relatório do nó DSC fica preso no estado Em Andamento
Problema
As saídas do agente DSC:
No instance found with given property values
Motivo
Esse problema pode ocorrer se o WMI (Instrumentação de Gerenciamento do Windows) estiver corrompido no nó.
Resolução
Siga as instruções em Problemas e limitações conhecidos do DSC.
Cenário: Não é possível usar uma credencial em uma configuração DSC
Problema
Seu trabalho de compilação DSC suspenso com o erro:
System.InvalidOperationException error processing property 'Credential' of type <some resource
name>: Converting and storing an encrypted password as plaintext is allowed only if
PSDscAllowPlainTextPassword is set to true.
Motivo
Esse problema pode ocorrer quando você usa uma credencial em uma configuração, mas não forneceu adequado ConfigurationData
para definir PSDscAllowPlainTextPassword
como true para cada configuração de nó.
Resolução
Certifique-se de passar a configuração PSDscAllowPlainTextPassword
adequada ConfigurationData
, como true para cada configuração de nó. Consulte Compilando configurações DSC na Configuração do Estado de Automação do Azure.
Cenário: Erro "Falha na extensão de processamento" ao habilitar uma máquina a partir de uma extensão DSC
Problema
Quando você habilita uma máquina usando uma extensão DSC, ocorre uma falha que contém o erro:
VM has reported a failure when processing extension 'Microsoft.Powershell.DSC'. Error message: \"DSC
COnfiguration 'RegistrationMetaConfigV2' completed with error(s). Following are the first few:
Registration of the Dsc Agent with the server <url> failed. The underlying error is: The attempt to
register Dsc Agent with Agent Id <ID> with the server <url> return unexpected response code
BadRequest. .\".
Motivo
Esse erro normalmente ocorre quando o nó recebe um nome de configuração de nó que não existe no serviço.
Resolução
Certifique-se de que o nome do nó corresponde exatamente ao nome no serviço ou não inclua o nome da configuração do nó. Isso habilita o nó, mas não atribui uma configuração de nó.
Cenário: Erro "Ocorreu um ou mais erros" ao registrar um nó usando o PowerShell
Problema
Quando você registra um nó usando Register-AzAutomationDSCNode ou Register-AzureRMAutomationDSCNode, você recebe o seguinte erro:
One or more errors occurred.
Motivo
Este erro ocorre quando tenta registar um nó numa subscrição diferente da utilizada pela conta de automatização.
Resolução
Trate o nó de assinatura cruzada como um nó definido para uma nuvem separada ou local. Registre o nó usando uma destas opções para habilitar máquinas:
- Windows: máquinas Windows físicas/virtuais no local ou em uma nuvem diferente do Azure/AWS.
- Linux: máquinas Linux físicas/virtuais no local ou em uma nuvem diferente do Azure.
Cenário: Mensagem de erro "Falha no provisionamento"
Problema
Quando você registra um nó, você vê o erro:
Provisioning has failed
Motivo
Essa mensagem ocorre quando há um problema com a conectividade entre o nó e o Azure.
Resolução
Determine se o nó está em uma rede virtual privada (VPN) ou tem outros problemas de conexão com o Azure. Consulte Solucionar problemas de implantação de recursos.
Cenário: Falha com um erro geral ao aplicar uma configuração no Linux
Problema
Quando você aplica uma configuração no Linux, ocorre uma falha que contém o erro:
This event indicates that failure happens when LCM is processing the configuration. ErrorId is 1.
ErrorDetail is The SendConfigurationApply function did not succeed.. ResourceId is [resource]name
and SourceInfo is ::nnn::n::resource. ErrorMessage is A general error occurred, not covered by a
more specific error code..
Motivo
Se o local /tmp estiver definido como noexec
, a versão atual do DSC não aplicará as configurações.
Resolução
Remova a noexec
opção do local /tmp .
Cenário: Nomes de configuração de nó que se sobrepõem podem resultar em uma versão incorreta
Problema
Quando você usa um único script de configuração para gerar várias configurações de nó e alguns nomes de configuração de nó são subconjuntos de outros nomes, o serviço de compilação pode acabar atribuindo a configuração errada. Esse problema ocorre apenas quando você usa um único script para gerar configurações com dados de configuração por nó e somente quando a sobreposição de nome ocorre no início da cadeia de caracteres. Um exemplo é um único script de configuração usado para gerar configurações com base em dados de nó passados como uma hashtable usando cmdlets, e os dados do nó incluem servidores chamados server e 1server.
Motivo
Este é um problema conhecido com o serviço de compilação.
Resolução
A melhor solução é compilar localmente ou em um pipeline de CI/CD e carregar os arquivos MOF de configuração do nó diretamente para o serviço. Se a compilação no serviço for um requisito, a próxima melhor solução é dividir os trabalhos de compilação para que não haja sobreposição de nomes.
Cenário: Erro de tempo limite do gateway no carregamento de configuração DSC
Problema
Você recebe um GatewayTimeout
erro quando carrega uma configuração DSC.
Motivo
Configurações DSC que levam muito tempo para compilar podem causar esse erro.
Resolução
Você pode fazer com que suas configurações de DSC sejam analisadas mais rapidamente incluindo explicitamente o ModuleName
parâmetro para qualquer chamada Import-DSCResource .
Cenário: Erro ao integrar uma máquina
Problema
Você recebe um agent has a problem
erro quando embarca uma máquina.
Motivo
Trata-se de um problema conhecido. Não é possível atribuir a mesma configuração novamente, pois o nó permanece no estado pendente.
Resolução
Para contornar o problema, aplique uma configuração de teste diferente e tente a configuração original novamente.
Próximos passos
Se não vir o problema aqui ou não conseguir resolvê-lo, experimente um dos seguintes canais de suporte:
- Obtenha respostas de especialistas do Azure através dos Fóruns do Azure.
- Conecte-se com @AzureSupport, a conta oficial do Microsoft Azure para melhorar a experiência do cliente. O Suporte do Azure conecta a comunidade do Azure a respostas, suporte e especialistas.
- Registre um incidente de suporte do Azure. Vá para o site de suporte do Azure e selecione Obter Suporte.