Partilhar via


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.