Поделиться через


Устранение неполадок с агентом виртуальной машины Windows в Azure

Область применения: ✔️ Виртуальные машины Windows

Примечание.

Статья была полезной? Ваши входные данные важны для нас. Нажмите кнопку "Отзывы" на этой странице, чтобы сообщить нам, насколько хорошо эта статья работала для вас или как мы можем улучшить ее.

Примечание.

Новое! Попробуйте использовать поддержку виртуальной машины для ускорения диагностики

Рекомендуется запустить Ассистент виртуальных машин для Windows или Ассистент виртуальных машин для Linux. Эти средства диагностики на основе скриптов помогают выявить распространенные проблемы, влияющие на гостевой агент виртуальной машины Azure и общую работоспособность виртуальных машин.

Агент виртуальной машины Azure — это агент виртуальной машины. Она позволяет виртуальной машине взаимодействовать с контроллером Fabric (базовым физическим сервером, на котором размещена виртуальная машина) по IP-адресу 168.63.129.16. Этот адрес — это виртуальный общедоступный IP-адрес, который упрощает обмен данными. Дополнительные сведения см. в разделе "Что такое IP-адрес 168.63.129.16?".

Виртуальная машина, перенесенная в Azure из локальной среды или созданная с помощью настраиваемого образа, не установлена агент виртуальной машины Azure. В этих сценариях необходимо вручную установить агент виртуальной машины. Дополнительные сведения об установке агента виртуальной машины см. в обзоре агента виртуальной машины Azure.

После успешной установки агента виртуальной машины Azure на виртуальной машине вы увидите следующие службы, перечисленные в services.msc .

Служба Description
Гостевой агент Windows Azure Эта служба отвечает за настройку различных расширений и обмен данными с гостевой виртуальной машины на агент узла. Он также отвечает за сбор журналов в WaAppAgent.log.
Телеметрия: Эта служба отвечает за отправку данных телеметрии виртуальной машины на внутренний сервер.
RdAgent Эта служба отвечает за установку гостевого агента. (Прозрачный установщик — это еще один компонент RdAgent, который помогает обновить другие компоненты и службы гостевого агента.) RdAgent также отвечает за отправку пульса с гостевой виртуальной машины на агент узла на физическом сервере.

Примечание.

Начиная с версии 2.7.41491.971 гостевого агента компонент телеметрии включен в службу гостевого агента Windows Azure. Поэтому эта служба телеметрии может не отображаться в только что созданных виртуальных машинах.

Контрольный список по устранению неполадок

Чтобы любое расширение виртуальной машины могло выполняться, гостевой агент виртуальной машины Azure должен быть установлен и успешно работает. Если вы видите, что гостевой агент сообщается как "Не готов", или если расширение завершается сбоем и возвращает сообщение об ошибке, например VMAgentStatusCommunicationError, выполните следующие действия, чтобы начать устранение неполадок с гостевым агентом.

Шаг 1. Проверка запуска виртуальной машины

Чтобы убедиться, что виртуальная машина запущена, выполните следующие действия.

  1. На портале Azure найдите и выберите Виртуальные машины.

  2. В списке виртуальных машин выберите имя виртуальной машины Azure.

  3. В области навигации виртуальной машины Azure выберите "Обзор".

  4. Если виртуальная машина еще не запущена, найдите список действий в верхней части страницы обзора и выберите ссылку "Пуск ".

Кроме того, убедитесь, что операционная система запущена и запущена успешно.

Шаг 2. Проверка готовности гостевого агента

Пока вы еще находитесь на странице Обзор виртуальной машины на портале Azure, перейдите на вкладку Свойства. Если поле состояния агента имеет значение Готов, убедитесь, что значение поля версии агента соответствует минимально поддерживаемой версии. На следующем снимку экрана показано, где можно найти эти поля.

портал Azure снимок экрана, на котором показаны свойства виртуальной машины. Состояние агента готово, а версия агента — 2.7.41491.1083.

Если состояние гостевого агента готово, но у вас возникла проблема, связанная с расширением виртуальной машины, ознакомьтесь с расширениями и функциями виртуальных машин Azure для просмотра рекомендаций по устранению неполадок.

Если состояние гостевого агента не готово или пусто, то гостевой агент не установлен или не работает правильно.

Шаг 3. Проверка того, выполняются ли службы гостевого агента

  1. Используйте протокол удаленного рабочего стола (RDP) для подключения к виртуальной машине.

    Примечание.

    Для успешной работы подключения к RDP не требуется установить и запустить гостевой агент. Если возникли проблемы, влияющие на подключение RDP к виртуальной машине, см. статью "Устранение неполадок подключений удаленного рабочего стола к виртуальной машине Azure".

  2. На виртуальной машине выберите "Пуск", найдите services.msc и выберите приложение "Службы ".

  3. В окне "Службы" выберите службу RdAgent.

  4. Выберите меню "Действие" и выберите пункт "Свойства".

  5. На вкладке "Общие" диалогового окна "Свойства" убедитесь, что следующие условия верны, а затем нажмите кнопку "ОК" или "Отмена".

    • Для списка типов запуска задано значение "Автоматически".
    • Поле состояния службы имеет значение "Выполнение".

    Снимок экрана: диалоговое окно

  6. В окне "Службы" выберите службу WindowsAzureGuestAgent.

  7. Повторите шаги 4 и 5.

Если службы не существуют, гостевой агент, вероятно, не установлен. В этом случае можно вручную установить гостевой агент. Перед установкой вручную проверьте предварительные требования для установки.

Шаг 4. Проверка подключения WireServer

Для успешного выполнения гостевого агента требуется подключение к IP-адресу WireServer (IP-адрес 168.63.129.16 узла) через порты 80 и 32526. Инструкции по тестированию подключения к этому IP-адресу см. в разделе "Устранение неполадок с подключением " в разделе "Что такое IP-адрес 168.63.129.16?

Если ни один из тестов в этом разделе не создает подключение, проверьте наличие проблем, которые могут привести к блокировке доступа к IP-адресу 168.63.129.16любого из следующих компонентов:

  • Межсетевой экран
  • Прокси-сервер
  • Приложение

Шаг 5. Просмотр файлов журнала

Проверьте следующие расположения журналов для любых заметных ошибок:

  • C:\WindowsAzure\Logs\WaAppAgent.log
  • C:\WindowsAzure\Logs\TransparentInstaller.log

Распространенные сценарии ошибок

Сравните все ошибки, которые вы найдете в следующих распространенных сценариях, которые могут привести к тому, что агент виртуальной машины Azure отображает состояние "Не готов " или перестанет работать должным образом.

Не удается подключиться к IP-адресу WireServer (168.63.129.16)

Следующие записи ошибок записываются в файл WaAppAgent.log :

[ERROR] GetVersions() failed with exception: Microsoft.ServiceModel.Web.WebProtocolException: Server Error: Service Unavailable (ServiceUnavailable) ---> 
System.Net.WebException: The remote server returned an error: (503) Server Unavailable.
[00000011] [12/11/2018 06:27:55.66] [WARN]  (Ignoring) Exception while fetching supported versions from HostGAPlugin: System.Net.WebException: Unable to connect to the remote server 
---> System.Net.Sockets.SocketException: An attempt was made to access a socket in a way forbidden by its access permissions 168.63.129.16:32526
at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState status, IAsyncResult asyncResult, Exception& exception)
--- End of inner exception stack trace ---
at System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
at System.Net.WebClient.DownloadString(Uri address)
at Microsoft.GuestAgentHostPlugin.Client.GuestInformationServiceClient.GetVersions()
at Microsoft.WindowsAzure.GuestAgent.ContainerStateMachine.HostGAPluginUtility.UpdateHostGAPluginAvailability()`

Эти записи об ошибках указывают, что виртуальная машина не может связаться с IP-адресом WireServer, 168.63.129.16.

Решение: включите DHCP и убедитесь, что сервер не заблокирован брандмауэрами, прокси-серверами или другими источниками.

  1. Подключитесь к виртуальной машине с помощью удаленного рабочего стола и проверьте подключение к 168.63.129.16. Общие сведения об устранении неполадок с подключением к IP-адресу Azure 168.63.129.16.
  2. Если на сетевом адаптере виртуальной машины есть только один частный IP-адрес, настоятельно рекомендуется включить DHCP на гостевой виртуальной машине. Если вам нужен статический частный IP-адрес, его следует настроить на портале Azure или PowerShell и убедиться, что параметр DHCP в виртуальной машине включен. Чтобы убедиться, что IP-конфигурация всегда соответствует конфигурации виртуальной машины в Azure, узнайте, как настроить статический IP-адрес с помощью PowerShell.
  3. Если у вас несколько частных IP-адресов, назначенных сетевому адаптеру виртуальной машины, убедитесь, что вы тщательно выполните действия, чтобы правильно назначить ip-конфигурации. После завершения действий, если гостевой агент не может взаимодействовать с 168.63.129.16, убедитесь, что основной IP-адрес в Windows соответствует основному IP-адресу сетевого адаптера виртуальной машины в Azure.
  4. Проверьте наличие проблем, связанных с брандмауэром, прокси-сервером или другим источником, которые могут заблокировать доступ к IP-адресу 168.63.129.16.
  5. Проверьте, блокирует ли брандмауэр Windows или сторонний брандмауэр доступ к портам 80 и 32526. Дополнительные сведения о том, почему этот адрес не должен быть заблокирован, см. в разделе "Что такое IP-адрес 168.63.129.16?

Гостевой агент завис в процессе остановки

Следующие записи ошибок записываются в файл WaAppAgent.log :

[00000007] [07/18/2019 14:46:28.87] [WARN] WindowsAzureGuestAgent stopping.
[00000007] [07/18/2019 14:46:28.89] [INFO] Uninitializing StateExecutor with WaitForTerminalStateReachedOnEnd : True
[00000004] [07/18/2019 14:46:28.89] [WARN] WindowsAzureGuestAgent could not be stopped. Exception: System.NullReferenceException: Object reference not set to an instance of an object.
at Microsoft.WindowsAzure.GuestAgent.ContainerStateMachine.GoalStateExecutorBase.WaitForExtensionWorkflowComplete(Boolean WaitForTerminalStateReachedOnEnd)
at Microsoft.WindowsAzure.GuestAgent.ContainerStateMachine.GoalStateExecutorBase.Uninitialize(Boolean WaitForTerminalStateReachedOnEnd)
at Microsoft.WindowsAzure.GuestAgent.ContainerStateMachine.GoalStateExecutorForCloud.Uninitialize(Boolean WaitForTerminalStateReachedOnEnd)
at Microsoft.WindowsAzure.GuestAgent.AgentCore.AgentCore.Stop(Boolean waitForTerminalState)
at Microsoft.WindowsAzure.GuestAgent.AgentCore.AgentService.DoStopService()
at Microsoft.WindowsAzure.GuestAgent.AgentCore.AgentService.<>c__DisplayClass2.<OnStopProcessing>b__1()

Эти записи об ошибках указывают на то, что агент виртуальной машины Azure завис в процессе остановки.

Решение A. Запуск WaAppAgent.exe и остановка WindowsAzureGuest.exe

Убедитесь, что WaAppAgent.exe запущена на виртуальной машине. Если он не запущен, перезапустите службу RdAgent и подождите пять минут. После запуска WaAppAgent.exe завершите процесс WindowsAzureGuest.exe .

Решение B. Обновление агента виртуальной машины Azure

Если решение A не устраняет проблему, удалите текущую установленную версию и установите последнюю версию агента вручную.

Установлен адаптер обратной связи Npcap

Следующие записи ошибок записываются в файл WaAppAgent.log :

[00000006] [06/20/2019 07:44:28.93] [INFO] Attempting to discover fabric address on interface Npcap Loopback Adapter
[00000024] [06/20/2019 07:44:28.93] [WARN] Empty DHCP option data returned
[00000006] [06/20/2019 07:44:28.93] [ERROR] Did not discover fabric address on interface Npcap Loopback Adapter

Эти записи об ошибках указывают на то, что Wireshark установил адаптер записи пакетов (Npcap) адаптера обратного цикла проекта Сетевого mapper (Nmap) на виртуальной машине. Wireshark — это средство с открытым исходным кодом для профилирования сетевого трафика и анализа пакетов. Такое средство часто называется сетевым анализатором, анализатором сетевого протокола или сниффером.

Решение. Отключение адаптера обратного цикла Npcap

Попробуйте отключить адаптер обратной связи Npcap, а затем проверьте, устранена ли проблема.

Проблемы с удаленным вызовом процедур (RPC) — сбой инициализации RdCrypt

Следующие записи ошибок записываются в файл WaAppAgent.log :

[00000004] [01/12/2019 00:30:47.24] [ERROR] RdCrypt Initialization failed. Error Code: -2147023143.
[00000004] [01/12/2019 00:30:47.24] [ERROR] Failed to get TransportCertificate. Error: System.AccessViolationException
Microsoft.Cis.Fabric.CertificateServices.RdCertificateFactory.Shutdown()
[00000004] [01/12/2019 00:30:47.24] [WARN]  Could not get transport certificate from agent runtime for subject name: 12345678-d7c8-4387-8cf3-d7ecf62544e5. Installing certificates in the LocalMachine store failed.
[00000004] [01/12/2019 00:30:47.24] [WARN] Fetching certificate blob from the cert URI: http://168.63.129.16/machine/12345678-d7c8-4387-8cf3-d7ecf62544e5/12345678-d447-4b10-a5da-1ba1581cd7d7._VMName?comp=certificates&incarnation=2 failed with exception: System.NullReferenceException
-2147023143 = 0x6d9 = EPT_S_NOT_REGISTERED

Эти ошибки, вероятно, возникают из-за проблем с удаленным вызовом процедур (RPC). Например, конечная точка RPC может не прослушивать, или процесс RPC может пропустить в противоположном конце.

Решение. Запуск службы изоляции ключей CNG

Проверьте, находится ли служба Шифрования следующего поколения (CNGKEYISOCNG) в списке конечных точек RPC. Для этого выполните следующую команду portqry :

portqry -n <VMName> -e 135

Если процесс не отображается CNGKEYISO , запустите его из консоли служб Windows (изоляция ключей CNG = KeyIso), а затем перезапустите WaAppAgent.exe или WindowsAzureGuestAgent.exe.

Сбой PInvoke PFXImportCertStore и возвращается маркер NULL. Код ошибки: 86

Гостевой агент Windows работает, но расширения не работают. Следующие записи ошибок записываются в файл WaAppAgent.log :

PInvoke PFXImportCertStore failed and null handle is returned. Error Code: 86

[00000003] [10/21/2020 02:37:45.98] [WARN] Could not get transport certificate from agent runtime for subject name: 12345678-dae3-4c2f-be57-55c0ab7a44e5. Installing certificates in the LocalMachine store failed.
[00000003] [10/21/2020 02:37:45.98] [ERROR] Installing certificates in the LocalMachine store failed with exception: Microsoft.WindowsAzure.GuestAgent.CertificateManager.CryptographyNative+PInvokeException: PInvoke PFXImportCertStore failed and null handle is returned. Error Code: 86.

Эти ошибки, вероятно, возникают из-за отсутствия разрешений на папки Crypto для учетной записи SYSTEM. При сборе трассировки монитора процессов (ProcMon) при перезапуске служб гостевого агента (RdAgent или WindowsAzureGuestAgent) вы сможете увидеть некоторые ошибки "Отказано в доступе".

Решение. Добавление полного контроля папок Crypto в учетную запись SYSTEM

Убедитесь, что у учетной записи SYSTEM есть разрешения полного управления в следующих папках:

  • C:\ProgramData\Microsoft\Crypto\Keys

  • C:\ProgramData\Microsoft\Crypto\RSA

  • C:\ProgramData\Microsoft\Crypto\SystemKeys

System.BadImageFormatException: предпринята попытка загрузить программу с неправильным форматом. (Исключение из HRESULT: 0x8007000B.)

Следующие записи ошибок записываются в файл WaAppAgent.log , чтобы указать, что гостевой агент не отвечает:

[00000018] 2021-01-12T16:35:45Z [INFO]  Test extract the plugin zip file to the temp folder C:\TEMP\12345678-5f85-45dc-9f17-55be1fde7b10
[00000010] 2021-01-12T16:35:45Z [ERROR] InstallPlugins() failed with exception: System.AggregateException: One or more errors occurred. ---> System.BadImageFormatException: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)
   at Microsoft.WindowsAzure.GuestAgent.ExtensionStateMachine.PluginInstaller.PackageExpand(String packageFilePath, String destinationPath)
   at Microsoft.WindowsAzure.GuestAgent.ExtensionStateMachine.PluginInstaller.ValidateExtensionZipFile(String pluginName, String pluginVersion, String& pluginZipFile)

Скорее всего, эти ошибки возникают из-за того, что на виртуальной машине было установлено стороннее приложение, и оно изменило поведение 32-разрядных или 64-разрядных приложений .NET.

BadImageFormatException Ошибка возникает, когда 64-разрядное приложение загружает 32-разрядную библиотеку DLL.

Решение. Задайте запись реестра Enable64Bit для .NET Framework и перезапустите виртуальную машину.

Внимание

В этот раздел, описание метода или задачи включены действия, содержащие указания по изменению параметров реестра. Однако неправильное изменение параметров реестра может привести к возникновению серьезных проблем. Поэтому следует в точности выполнять приведенные инструкции. Для защиты создайте резервную копию реестра перед его изменением, чтобы в случае возникновения проблем можно было восстановить его. Для получения дополнительной информации о том, как создать резервную копию и восстановить реестр, см. статью Сведения о резервном копировании и восстановлении реестра Windows.

Откройте реестр, найдите HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\. Подключ реестра NETFramework и просмотрите запись реестра Enable64Bit .

Если для записи реестра Enable64Bit задано значение 0, то 64-разрядные приложения .NET считаются 32-разрядными приложениями. Поэтому агент виртуальной машины Azure не работает.

Решение — задать для ключа Enable64Bit значение 1, а затем перезапустить виртуальную машину.

Гостевой агент Windows не запускается из-за ошибки ConfigurationErrorsException или TypeInitializationException

Гостевой агент Windows перестает отвечать на запросы при запуске, а следующие записи журнала приложений регистрируются:

Log Name:      Application
Source:        .NET Runtime
Date:          3/07/2023 10:25:59 AM
Event ID:      1026
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      vm372437823
Description:
Application: WindowsAzureGuestAgent.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Configuration.ConfigurationErrorsException
   at System.Configuration.ConfigurationSchemaErrors.ThrowIfErrors(Boolean)
   at System.Configuration.BaseConfigurationRecord.ThrowIfParseErrors(System.Configuration.ConfigurationSchemaErrors)
   at System.Configuration.ClientConfigurationSystem.EnsureInit(System.String)

Exception Info: System.Configuration.ConfigurationErrorsException
   at System.Configuration.ClientConfigurationSystem.EnsureInit(System.String)
   at System.Configuration.ClientConfigurationSystem.PrepareClientConfigSystem(System.String)
   at System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection(System.String)
   at System.Configuration.ConfigurationManager.GetSection(System.String)
   at System.Configuration.PrivilegedConfigurationManager.GetSection(System.String)
   at System.Diagnostics.DiagnosticsConfiguration.GetConfigSection()
   at System.Diagnostics.DiagnosticsConfiguration.Initialize()
   at System.Diagnostics.DiagnosticsConfiguration.get_IndentSize()
   at System.Diagnostics.TraceInternal.InitializeSettings()
   at System.Diagnostics.Trace.set_AutoFlush(Boolean)
   at Microsoft.WindowsAzure.GuestAgent.Prime.TraceManager..cctor()

Exception Info: System.TypeInitializationException
   at Microsoft.WindowsAzure.GuestAgent.Prime.TraceManager.Write(System.String, System.Object[])
   at Microsoft.WindowsAzure.GuestAgent.AgentCore.AgentCore.Start()
   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
   at System.Threading.ThreadHelper.ThreadStart()

Эта проблема может возникнуть, если файл C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config отсутствует или поврежден.

Решение. Скопируйте рабочий файл Machine.config на виртуальную машину, а затем перезапустите службы гостевого агента.

Для устранения этой проблемы выполните следующие действия:

  1. Скопируйте файлMachine.config из рабочей виртуальной машины и вставьте его в папку C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config на проблемной виртуальной машине.

  2. Перезапустите службы гостевого агента, выполнив net stopnet start следующие команды:

    net stop RdAgent
    net stop WindowsAzureGuestAgent
    
    net start RdAgent
    net start WindowsAzureGuestAgent
    

Установка гостевого агента завершается ошибкой

Если при попытке установить гостевой агент завершается ошибкой, убедитесь, что выполнены все предварительные требования для гостевого агента .

Решение. Удаление и переустановка гостевого агента Windows

  1. Установите или удалите программы, устанавливаемые гостевым агентом.

Заметка: Если гостевой агент был установлен вручную с помощью установщика .msi, агент появится в разделе "Добавление и удаление программ". Если гостевой агент был установлен во время подготовки образа, агент не отображается в разделе "Добавление и удаление программ".

  1. Если гостевой агент существует в программах добавления и удаления, удалите его из него. Затем его можно установить с помощью файла .msi с помощью аргументов командной строки на этом шаге.

  2. Если агент установлен, но не отображается в программах добавления и удаления, выполните следующие действия.

    1. Откройте окно командной строки с повышенными привилегиями.
    2. Остановите службы гостевых агентов. Если службы не останавливаются, необходимо настроить службы для запуска вручную, а затем перезапустить виртуальную машину:
    net stop rdagent
    net stop WindowsAzureGuestAgent
    
    1. Удаление служб гостевого агента
    sc delete rdagent
    sc delete WindowsAzureGuestAgent
    
    1. В разделе C:\WindowsAzure создайте папку и присвойте ей имя OLD.
    2. Переместите все папки с именем Packages или GuestAgent в старую папку.
    3. Создайте папку для расположения установки .msi (C:\VMAgentMSI).
  3. Скачайте последний файл.msi из выпусков GitHub для гостевого агента Windows.

  4. Установите гостевой агент с помощью командной строки msiexec + аргументов:

    msiexec.exe /i c:\VMAgentMSI\WindowsAzureVmAgent.2.7.<version>.fre.msi /L*v C:\Windows\Panther\msiexec.log
    
  5. Если установка завершается ошибкой, соберите следующие файлы, чтобы изучить причину сбоя:

    • C:\Windows\Panther\msiexec.log
    • C:\Windows\Panther\VmAgentInstaller.xml

Сбой установки гостевого агента из-за сбоя WMI

  1. Скачайте последний файл.msi из выпусков GitHub для гостевого агента Windows.

  2. Установка гостевого агента с помощью командной строки msiexec + аргументов

    msiexec.exe /i c:\VMAgentMSI\WindowsAzureVmAgent.2.7.<version>.fre.msi /L*v C:\Windows\Panther\msiexec.log
    
  3. Если установка завершается ошибкой, соберите следующие файлы, чтобы изучить причину сбоя:

    • C:\Windows\Panther\msiexec.log
    • C:\Windows\Panther\VmAgentInstaller.xml

При попытке установить гостевой агент можно найти следующие сообщения об ошибках в MSIEXEC.log и VmAgentInstaller.xml.

MSIEXEC.log:

Action start 12:11:03: CA2.
MSI (s) (7C:A8) [12:27:20:328]: Note: 1: 1722 2: CA2 3: wscript.exe 4: "C:\Program Files\Windows Azure VM Agent v2.7.41491.949\\InstallOrUpdateGA.vbs"
MSI (s) (7C:A8) [12:27:20:328]: Note: 1: 2205 2:  3: Error
MSI (s) (7C:A8) [12:27:20:328]: Note: 1: 2228 2:  3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1722
CustomAction CA2 returned actual error code 1 (note this may not be 100% accurate if translation happened inside sandbox)
MSI (s) (7C:A8) [12:27:22:707]: Note: 1: 2205 2:  3: Error
MSI (s) (7C:A8) [12:27:22:707]: Note: 1: 2228 2:  3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1709
MSI (s) (7C:A8) [12:27:22:707]: Product: Windows Azure VM Agent - 2.7.41491.949 -- Error 1722. There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor.  Action CA2, location: wscript.exe, command: "C:\Program Files\Windows Azure VM Agent v2.7.41491.949\\InstallOrUpdateGA.vbs"

C:\Windows\Panther\VmAgentInstaller.xml:

Event time="2019-12-12T12:49:05.123Z" category="INFO" source="GuestAgent"><SetRdAgentServicePathInRegistry ServiceName="RdAgent" ServiceImagePath="C:\WindowsAzure\Packages_20191212_124856\WaAppAgent.exe"/></Event>
<Event time="2019-12-12T12:49:05.163Z" category="ERROR" source="GuestAgent"><UnhandledError><Message>Setting the new RdAgent service path in registry failed.</Message><Number>424</Number><Description>Object required</Description><Source>Microsoft VBScript runtime error</Source></UnhandledError></Event>
<Event time="2019-12-12T12:49:05.203Z" category="ERROR" source="GuestAgent"><ConfigureRdAgentService/></Event>
<Event time="2019-12-12T12:49:05.258Z" category="ERROR" source="GuestAgent"><UnhandledError><Message>Installing the RdAgent service failed.</Message><Number>-2147467259</Number><Description>This name may not contain the ' ' character:

Агент виртуальной машины .msi использует WMI StdRegProv для доступа к реестру. Если WMI не работает правильно, файл .msi не может задать путь к службе RdAgent из реестра. Поэтому установка файла .msi завершается ошибкой.

Solution

  1. Откройте окно командной строки с повышенными привилегиями.
  2. Чтобы проверить, работает ли WMI StdRegProv, выполните следующую команду WMIC и скопируйте выходные данные в текстовый файл:
wmic /namespace:\\root\default Class StdRegProv Call GetDWORDValue hDefKey="&H80000002" sSubKeyName="SYSTEM\CurrentControlSet\Services\Winmgmt" sValueName=Start

Если вы используете Windows Server 2025 или более поздней версии, и вы не установили WMIC вручную, откройте окно PowerShell с повышенными привилегиями для тестирования StdRegProv:

Invoke-CimMethod -ClassName StdRegProv -MethodName GetDWORDValue -Arguments @{sSubKeyName = 'SYSTEM\CurrentControlSet\Services\Winmgmt';sValueName = 'Start'}
  1. Выполните следующую команду WINMGMT, чтобы проверить репозиторий WMI и скопировать выходные данные в текстовый файл:
winmgmt /verifyrepository
  1. Резервное копирование репозитория WMI:
xcopy c:\windows\system32\wbem\repository c:\windows\system32\wbem\repository.bak /e /i
  1. Выполните следующую команду, чтобы устранить проблему WMI и скопировать выходные данные в текстовый файл:
winmgmt /salvagerepository
  1. Повторите установку агента виртуальной машины .msi. Если он завершится успешно, подождите минуту или два, а затем проверьте, запущена ли служба RdAgent .
wmic service rdagent list brief
  1. Если команда WMIC показывает , что RdAgent запущена, необходимо устранить проблему. Если команда WMIC завершается ошибкой или показывает, что RdAgent не выполняется, перейдите к следующему шагу.

  2. Выполните следующие команды, чтобы сбросить репозиторий WMI:

net stop winmgmt /y
winmgmt /resetrepository
net start winmgmt
  1. Повторите установку агента виртуальной машины .msi. Если он завершится успешно, подождите минуту или два, а затем проверьте, запущена ли служба RdAgent :
wmic service rdagent list brief
  1. На этом этапе, если команда WMIC завершается ошибкой или по-прежнему не показывает, что RdAgent запущена, отправьте файл C:\Windows\Panther\VMAgentInstall.xml в службу поддержки Майкрософт для проверки.

Служба гостевого агента Windows Azure или служба RdAgent перестает отвечать на запуск.

Системная ошибка события 7031 или 7034 регистрируется, а В:\WindowsAzure\logs\TransparentInstaller.log показана следующая запись:

[ERROR] System.Configuration.ConfigurationErrorsException: The type 'Microsoft.VisualStudio.Diagnostics.ServiceModelSink.Behavior, Microsoft.VisualStudio.Diagnostics.ServiceModelSink, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' registered for extension 'Microsoft.VisualStudio.Diagnostics.ServiceModelSink.Behavior' could not be loaded.

(C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config line 242)

Solution

Эта проблема может возникнуть, если включена профилирование Windows Communication Framework (WCF). Профилирование WCF должно быть включено только при отладке проблемы WCF. При выполнении рабочей нагрузки он не должен быть включен.

Чтобы отключить профилирование WCF, выполните приведенные действия.

  • Откройте окно командной строки с повышенными привилегиями.
  • Чтобы создать резервную копию существующего C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config файла, выполните следующие команды:
cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config
copy machine.config machine.config.bak
  • Чтобы изменить файл в Блокноте, выполните команду notepad machine.config. Удалите следующий текст (но будьте осторожны, чтобы не удалить любой другой текст, который может находиться в той же строке):
<add name="Microsoft.VisualStudio.Diagnostics.ServiceModelSink.Behavior" type="Microsoft.VisualStudio.Diagnostics.ServiceModelSink.Behavior, Microsoft.VisualStudio.Diagnostics.ServiceModelSink, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>

Удалите следующий текст (но будьте осторожны, чтобы не удалить любой другой текст, который может находиться в той же строке):

<commonBehaviors><endpointBehaviors><Microsoft.VisualStudio.Diagnostics.ServiceModelSink.Behavior/></endpointBehaviors><serviceBehaviors><Microsoft.VisualStudio.Diagnostics.ServiceModelSink.Behavior/></serviceBehaviors></commonBehaviors>
  • Сохраните и закройте файл.
  • Перезапустите службы гостевого агента:
net stop Rdagent
net stop WindowsAzureGuestAgent

net start Rdagent
net start WindowsAzureGuestAgent
  • В некоторых случаях виртуальная машина может быть перезапущена, чтобы отключение WCF вступило в силу.

Следующие шаги

Другие известные проблемы, связанные с агентом виртуальной машины Azure, перечислены в своем репозитории GitHub.

Заявление об отказе от ответственности за сведения о продуктах сторонних производителей

В этой статье упомянуты программные продукты независимых производителей. Корпорация Майкрософт не дает никаких гарантий, подразумеваемых и прочих, относительно производительности и надежности этих продуктов.

Заявление об отказе от ответственности за контактные данные сторонней организации

Корпорация Майкрософт предоставляет контактные данные сторонней организации для оказания помощи пользователям по вопросам, упомянутым в данной статье. Эти данные могут быть изменены без предварительного уведомления. Корпорация Майкрософт не дает гарантий относительно верности приведенных контактных данных сторонних организаций.

Свяжитесь с нами для получения помощи

Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.