Compartilhar via


Solucionar problemas de recursos compartilhados

Este artigo discute problemas que podem surgir quando você estiver usando recursos compartilhados em Automação do Azure.

Módulos

Cenário: Um módulo está paralisado durante a importação

Problema

Um módulo fica preso no estado Importing quando você estiver importando ou atualizando seus módulos de Automação do Azure.

Causa

Como a importação de módulos do PowerShell é um processo complexo e de várias etapas, um módulo pode não importar corretamente e pode ficar preso em um estado transitório. Para saber mais sobre esse processo, consulte Importação de um módulo do PowerShell.

Resolução

Para resolver esse problema, você deve remover o módulo que está preso usando o cmdlet Remove-AzureRmAutomationModule. Você pode tentar importar novamente o módulo em seguida.

Remove-AzAutomationModule -Name ModuleName -ResourceGroupName ExampleResourceGroup -AutomationAccountName ExampleAutomationAccount -Force

Cenário: Os módulos AzureRM estão presos durante a importação após uma tentativa de atualização

Problema

Um banner com a seguinte mensagem permanece na sua conta após tentar atualizar os módulos do AzureRM:

Azure modules are being updated

Causa

Há um problema conhecido com a atualização dos módulos do AzureRM em uma conta de Automação. Especificamente, o problema ocorre se os módulos estiverem em um grupo de recursos com um nome numérico começando com 0.

Resolução

Para atualizar os módulos do AzureRM na sua conta de automação, a conta deve estar em um grupo de recursos com um nome alfanumérico. Os grupos de recursos com nomes numéricos que começam com 0 não podem atualizar os módulos AzureRM no momento.

Cenário: falha de importação de módulo ou os cmdlets não podem ser executados após a importação

Problema

Um módulo falha ao ser importado, ou é importado com sucesso, mas nenhum cmdlet é extraído.

Causa

Alguns motivos comuns que um módulo pode não importar com êxito para Automação do Azure são:

  • A estrutura não corresponde à estrutura em que a Automação precisa.
  • O módulo depende de outro módulo que não tenha sido implantado em sua conta de Automação.
  • O módulo não tem suas 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 dessas soluções para corrigir o problema:

  • Verifique se o módulo segue o formato: ModuleName.zip -> ModuleName ou Número de versão > (ModuleName.psm1, ModuleName.psd1).
  • Abra o arquivo .psd1 e veja se o módulo tem dependências. Se tiver, carregue esses módulos para a conta de Automação.
  • Verifique se quaisquer .dll referenciadas estão presentes na pasta do módulo.

Cenário: Update-AzureModule.ps1 pausa ao atualizar módulos

Problema

Quando você estiver usando o runbook Update-AzureModule.ps1 para atualizar seus módulos de Azure, o processo de atualização do módulo será suspenso.

Causa

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 muitos módulos estão sendo atualizados ao mesmo tempo.

Resolução

Não é comum todos os módulos AzureRM ou Az serem necessários na mesma conta de automação. Você só deve importar os módulos específicos de que precisa.

Observação

Evite importar todo o Az.Automation ou o módulo AzureRM.Automation, que importa todos os módulos contidos.

Se o processo de atualização ficar suspenso, você precisará adicionar o parâmetro SimultaneousModuleImportJobCount ao script Update-AzureModules.ps1 e fornecer um valor inferior ao padrão, que é 10. Caso implemente essa lógica, tente iniciar com um valor de 3 ou 5. SimultaneousModuleImportJobCount é um parâmetro do runbook do sistema Update-AutomationAzureModulesForAccount que é usado para atualizar módulos de Azure. Se você fizer esse ajuste, o processo de atualização será executado por mais tempo, mas terá uma chance melhor de concluir. O exemplo a seguir mostra o parâmetro e onde colocá-lo no runbook:

$Body = @"
   {
      "properties":{
      "runbook":{
            "name":"Update-AutomationAzureModulesForAccount"
      },
      "parameters":{
            ...
            "SimultaneousModuleImportJobCount":"3",
            ... 
      }
      }
   }
"@

Contas Executar como

Observação

Contas Executar como do Automação do Azure, incluindo contas Executar como Clássicas, foram desativadas em 30 de setembro de 2023 e substituídas por Identidades Gerenciadas. Você não poderá mais criar ou renovar contas Executar como por meio do portal Azure. Para obter mais informações, consulte migrando de contas Run As existentes para identidade gerenciada.

Cenário: Você recebe o erro "Não foi possível encontrar um ponto de entrada chamado 'GetPerAdapterInfo' na DLL 'iplpapi.dll'" ao executar um runbook

Problema

Quando estiver executando um runbook, você receberá a seguinte exceção:

Unable to find an entry point named 'GetPerAdapterInfo' in DLL 'iplpapi.dll'

Causa

Esse erro é provavelmente causado por uma conta Executar como configurada incorretamente.

Resolução

Verifique se a conta "Executar como" está configurada corretamente. Em seguida, verifique se você tem o código adequado em seu runbook para autenticar com 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óximas etapas

Se este artigo não conseguiu resolver seu problema, visite um dos seguintes canais para obter mais suporte: