Add-AzureRmAccount: не удалось найти точку входа с именем «GetPerAdapterInfo» в DLL «iphlpapi.dll»

Я использую модуль Runbook автоматизации Azure, в котором есть сценарий PowerShell для перезапуска веб-приложения Azure по заданному расписанию. Во время тестирования приведенного ниже сценария я получаю сообщение об ошибке:

$connectionName = "AzureRunAsConnection"
$servicePrincipalConnection = Get-AutomationConnection -Name $connectionName
$null = Add-AzureRmAccount ` 
    -ServicePrincipal ` 
    -TenantId $servicePrincipalConnection.TenantId ` 
    -ApplicationId $servicePrincipalConnection.ApplicationId ` 
    -CertificateThumbprint $servicePrincipalConnection.CertificateThumbprint

$null = Select-AzureRmSubscription -SubscriptionId 'SubscriptionID'

Restart-AzureRmWebApp -ResourceGroupName 'RGroupName' -Name 'webappname'

Детали ошибки:

Add-AzureRmAccount: не удалось найти точку входа с именем «GetPerAdapterInfo» в DLL «iphlpapi.dll».

  • $ null = Добавить-AzureRmAccount
  • CategoryInfo: CloseError: (:) [Connect-AzureRmAccount], AadAuthenticationFailedException
  • FullyQualifiedErrorId: Microsoft.Azure.Commands.Profile.ConnectAzureRmAccountCommand

Связана ли эта ошибка с недостаточным доступом?

Спасибо!


person Sushrut Paranjape    schedule 07.02.2020    source источник


Ответы (1)


Я могу воспроизвести проблему с вашим сценарием на своей стороне.

введите здесь описание изображения

Чтобы решить эту проблему, измените свой сценарий на тот, который указан ниже, он будет работать нормально.

Примечание. Перейдите в свою учетную запись автоматизации -> Modules -> убедитесь, что модули AzureRM.Profile, AzureRM.Websites существуют, в противном случае нажмите Browse Gallery, чтобы найти их и импортировать.

$connectionName = "AzureRunAsConnection"
try
{
    # Get the connection "AzureRunAsConnection "
    $servicePrincipalConnection=Get-AutomationConnection -Name $connectionName         

    "Logging in to Azure..."
    $null = Add-AzureRmAccount `
        -ServicePrincipal `
        -TenantId $servicePrincipalConnection.TenantId `
        -ApplicationId $servicePrincipalConnection.ApplicationId `
        -CertificateThumbprint $servicePrincipalConnection.CertificateThumbprint 
}
catch {
    if (!$servicePrincipalConnection)
    {
        $ErrorMessage = "Connection $connectionName not found."
        throw $ErrorMessage
    } else{
        Write-Error -Message $_.Exception
        throw $_.Exception
    }
}

$null = Select-AzureRmContext -Subscription 'SubscriptionID'
Restart-AzureRmWebApp -ResourceGroupName 'RGroupName' -Name 'webappname'

введите здесь описание изображения

person Joy Wang    schedule 10.02.2020
comment
Спасибо! Я думаю, что у меня было несколько недопустимых символов при копировании скрипта из другого документа. - person Sushrut Paranjape; 11.02.2020