Connect-AzureRmAccount: невозможно найти точку входа с именем «GetPerAdapterInfo» в DLL «iphlpapi.dll» - PullRequest
0 голосов
/ 20 января 2019

Проще говоря, я запускаю Connect-AzureRmAccount, используя runbook автоматизацию в Azure, она выдает мне следующую ошибку:

Невозможно найти точку входа с именем 'GetPerAdapterInfo' в DLL 'iphlpapi.dll '.

Я уже импортировал модуль Azureprofile и не могу понять, в чем проблема.

1 Ответ

0 голосов
/ 21 января 2019

Если вы хотите подключиться к учетной записи Azure с помощью команды PowerShell Connect-AzureRmAccount в вашей Runbook, то это действительно не нужно. Как я уже говорил в комментарии, когда вы используете Runbook, вы уже находитесь в точной подписке арендатора с учетной записью. Так что просто запустите свой скрипт без подключения учетной записи.

Если вы действительно хотите подключиться к PowerShell, вы можете использовать принцип обслуживания следующим образом:

Disable-AzureRmContextAutosave –Scope Process

$Conn = Get-AutomationConnection -Name AzureRunAsConnection
Connect-AzureRmAccount -ServicePrincipal -Tenant $Conn.TenantID -ApplicationID $Conn.ApplicationID -CertificateThumbprint $Conn.CertificateThumbprint

Но я действительно советую вам просто запустить скрипт PowerShell в вашем Runbook напрямую.

Обновление

Когда вы создаете Runbook, у вас будет соединение для запуска скрипта PowerShell. Или вы можете создать соединение как ваше требование. См. Активы подключения в Azure Automation . Вы можете просто использовать соединение по умолчанию, используя такой код:

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

    "Logging in to Azure..."
    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
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...