Solucionar problemas de recursos compartilhados
Este artigo discute problemas que podem surgir quando você está usando recursos compartilhados na Automação do Azure.
Módulos
Cenário: Um módulo está bloqueado durante a importação
Problema
Um módulo fica preso no estado Importando quando você está importando ou atualizando seus módulos de Automação do Azure.
Motivo
Como a importação de módulos do PowerShell é um processo complexo de várias etapas, um módulo pode não ser importado corretamente e pode ficar preso em um estado transitório. Para saber mais sobre o processo de importação, consulte Importando um módulo do PowerShell.
Resolução
Para resolver esse problema, você deve remover o módulo que está preso usando o cmdlet Remove-AzAutomationModule . Poderá então tentar importar o módulo novamente.
Remove-AzAutomationModule -Name ModuleName -ResourceGroupName ExampleResourceGroup -AutomationAccountName ExampleAutomationAccount -Force
Cenário: os módulos do AzureRM ficam bloqueados durante a importação após uma tentativa de atualização
Problema
Uma faixa com a seguinte mensagem permanece na sua conta após tentar atualizar os módulos do AzureRM:
Azure modules are being updated
Motivo
Há um problema conhecido com a atualização dos módulos AzureRM em uma conta de automação. Especificamente, o problema ocorre se os módulos estiverem num grupo de recursos com um nome numérico a começar por 0.
Resolução
Para atualizar seus módulos do AzureRM em sua conta de automação, a conta deve estar em um grupo de recursos com um nome alfanumérico. Neste momento, os grupos de recursos com nomes numéricos a começar por 0 não conseguem atualizar os módulos do AzureRM.
Cenário: o módulo não consegue importar ou os cmdlets não podem ser executados após a importação
Problema
Não é possível importar um módulo, ou o mesmo é importado com êxito, mas nenhum cmdlet é extraído.
Motivo
Alguns motivos comuns pelos quais um módulo pode não ser importado com êxito para a Automação do Azure são:
- A estrutura não corresponde à estrutura de que a Automatização precisa.
- O módulo depende de outro módulo que não foi implementado na sua conta de Automatização.
- O módulo não tem as respetivas dependências na pasta.
- O cmdlet New-AzAutomationModule está sendo usado para carregar o módulo e você não forneceu o caminho de armazenamento completo ou não carregou o módulo usando uma URL acessível publicamente.
Resolução
Use qualquer uma destas soluções para corrigir o problema:
- Certifique-se de que o módulo segue o formato: ModuleName.zip -> ModuleName ou Version Number -> (ModuleName.psm1, ModuleName.psd1).
- Abra o arquivo .psd1 e veja se o módulo tem alguma dependência. Se tiver, carregue estes módulos para a conta de Automatização.
- Certifique-se de que todos os arquivos de .dll referenciados estão presentes na pasta do módulo.
Cenário: Update-AzureModule.ps1 suspende-se ao atualizar módulos
Problema
Quando você estiver usando o runbook Update-AzureModule.ps1 para atualizar seus módulos do Azure, o processo de atualização do módulo será suspenso.
Motivo
Para este runbook, a configuração padrão para determinar quantos módulos são atualizados simultaneamente é 10. O processo de atualização é propenso a erros quando estão a ser atualizados demasiados módulos ao mesmo tempo.
Resolução
Não é comum que todos os módulos AzureRM ou Az sejam necessários na mesma conta de Automação. Só deve importar os módulos específicos de que precisa.
Nota
Evite importar o módulo inteiro Az.Automation
AzureRM.Automation
, que importa todos os módulos contidos.
Se o processo de atualização for suspenso, adicione o SimultaneousModuleImportJobCount
parâmetro ao script Update-AzureModules.ps1 e forneça um valor menor do que o padrão de 10. Se implementar esta lógica, tente começar com um valor de 3 ou 5. SimultaneousModuleImportJobCount
é um parâmetro do runbook do sistema Update-AutomationAzureModulesForAccount usado para atualizar módulos do Azure. Se fizer este ajuste, o processo de atualização é executado durante mais tempo, mas tem mais hipóteses de ser concluído. O exemplo a seguir mostra o parâmetro e onde colocá-lo no runbook:
$Body = @"
{
"properties":{
"runbook":{
"name":"Update-AutomationAzureModulesForAccount"
},
"parameters":{
...
"SimultaneousModuleImportJobCount":"3",
...
}
}
}
"@
Contas Run As
Nota
Automação do Azure Executar como contas, incluindo a Execução Clássica As contas foram desativadas em 30 de setembro de 2023 e substituídas por Identidades Gerenciadas Você não poderá mais criar ou renovar Executar como contas por meio do portal do Azure. Para mais informações, ver Migrar de contas Run As existentes para uma identidade gerida.
Cenário: Você recebe o erro "Não é possível encontrar um ponto de entrada chamado 'GetPerAdapterInfo' na DLL 'iplpapi.dll'" ao executar um runbook
Problema
Ao executar um runbook, você recebe a seguinte exceção:
Unable to find an entry point named 'GetPerAdapterInfo' in DLL 'iplpapi.dll'
Motivo
Este erro é provavelmente causado por uma conta Run As configurada incorretamente.
Resolução
Certifique-se de que sua conta Run As está configurada corretamente. Em seguida, verifique se você tem o código adequado em seu runbook para autenticar com o Azure. O exemplo a seguir mostra um trecho de código para autenticar no Azure em um runbook usando uma conta Run As.
$connection = Get-AutomationConnection -Name AzureRunAsConnection
Connect-AzAccount -ServicePrincipal -Tenant $connection.TenantID `
-ApplicationID $connection.ApplicationID -CertificateThumbprint $connection.CertificateThumbprint
Próximos passos
Se este artigo não resolver o problema, tente um dos seguintes canais para obter suporte adicional:
- Obtenha respostas de especialistas do Azure através dos Fóruns do Azure.
- Conecte-se com @AzureSupport. Esta é a conta oficial do Microsoft Azure para conectar a comunidade do Azure aos recursos certos: respostas, suporte e especialistas.
- Registre um incidente de suporte do Azure. Vá para o site de suporte do Azure e selecione Obter Suporte.