Condividi tramite


Risolvere i problemi relativi all'agente di macchine virtuali di Windows Azure non funzionante

Si applica a: ✔️ macchine virtuali di Windows

Nota

Questo articolo è stato utile? Diamo importanza al contributo degli utenti. Usare il pulsante Feedback in questa pagina per comunicare se questo articolo è stato utile o come possiamo migliorarlo.

Agente di macchine virtuali di Azure è un agente di macchine virtuali (VM). Consente alla macchina virtuale di comunicare con controller di infrastruttura (il server fisico sottostante su cui è ospitata la macchina virtuale) all'indirizzo IP 168.63.129.16. Questo indirizzo è un indirizzo IP pubblico virtuale che facilita la comunicazione. Per ulteriori informazioni, vedere Che cos'è l'indirizzo IP 168.63.129.16?.

La macchina virtuale di cui è stata eseguita la migrazione ad Azure da un ambiente locale o creata usando un'immagine personalizzata non ha installato l'agente di macchine virtuali di Azure. In questi casi, è necessario installare manualmente l'agente di macchine virtuali. Per ulteriori informazioni su come installare l'agente di macchine virtuali, consultare Panoramica dell'agente di macchine virtuali di Azure.

Dopo che l'agente di macchine virtuali di Azure è stato installato correttamente, è possibile visualizzare i seguenti servizi elencati in services.msc sulla macchina virtuale.

Servizio Descrizione
Agente guest di Windows Azure Questo servizio è responsabile della configurazione di varie estensioni e comunicazioni dalla macchina virtuale guest all'agente host. È anche responsabile della raccolta dei log in WaAppAgent.log.
Telemetria Questo servizio è responsabile dell'invio dei dati di telemetria della macchina virtuale al server back-end.
RdAgent Questo servizio è responsabile dell'installazione dell'agente guest. (Transparent Installer è un altro componente di RdAgent che aiuta ad aggiornare altre componenti e servizi di agente guest). RdAgent è anche responsabile dell'invio di heartbeat dalla macchina virtuale guest all'agente host sul server fisico.

Nota

A partire dalla versione 2.7.41491.971 di agente guest, la componente Telemetria è inclusa nel servizio agente guest di Windows Azure. Di conseguenza, il servizio Telemetria potrebbe non essere elencato nelle macchine virtuali appena create.

Elenco di controllo per la risoluzione dei problemi

Per eseguire qualsiasi estensione di macchina virtuale, l'agente di macchine virtuali di Azure deve essere installato e funzionare correttamente. Se si nota che l'agente guest viene segnalato come Non pronto, o se un'estensione non funziona e restituisce un messaggio di errore come VMAgentStatusCommunicationError, seguire questi passaggi per iniziare a risolvere i problemi dell'agente guest.

Passaggio 1: verificare se la macchina virtuale è stata avviata

Per verificare che la macchina virtuale sia avviata, seguire la seguente procedura:

  1. In portale di Azure, cercare e selezionare Macchine virtuali.

  2. Nell'elenco delle macchine virtuali, selezionare il nome della macchina virtuale di Azure.

  3. Nel riquadro di spostamento della macchina virtuale di Azure, selezionare Panoramica.

  4. Se la macchina virtuale non è già in esecuzione, individuare l'elenco delle azioni nella parte superiore della pagina Panoramica e quindi selezionare il collegamento Avvia .

Inoltre, verificare che il sistema operativo (OS) sia avviato e funzionante.

Passaggio 2: verificare se l'agente guest è pronto

Rimanendo nella pagina di panoramica della macchina virtuale del portale Azure, selezionare la scheda Proprietà. Se il campo Stato agente ha un valore di Pronto, verificare che il valore del campo Versione agente soddisfi la versione minima supportata. Lo screenshot seguente visualizza dove è possibile trovare questi campi.

Screenshot del portale Azure che visualizza le proprietà della macchina virtuale (VM). Lo stato dell'agente è Pronto e la versione dell'agente è 2.7.41491.1083.

Se lo stato dell'agente guest è Pronto ma il problema riguarda un'estensione della macchina virtuale, consultare Estensioni e funzionalità delle macchine virtuali di Azure per esaminare i suggerimenti per la risoluzione dei problemi.

Se lo stato dell'agente guest è Non pronto o vuoto, l'agente guest non è installato o non funziona correttamente.

Passaggio 3: verificare se i servizi dell'agente guest sono in esecuzione

  1. Utilizzare Remote Desktop Protocol (RDP) per connettersi alla macchina virtuale.

    Nota

    Non è necessario che l'agente guest sia installato e in esecuzione per consentire il corretto funzionamento della connettività RDP. Se si verificano problemi che influiscono sulla connettività RDP alla macchina virtuale, consultare Risolvere i problemi di connessione di Desktop remoto a una macchina virtuale di Azure.

  2. Nella macchina virtuale, selezionare Avvia, cercare services.msc, quindi selezionare l'app Servizi.

  3. Nella finestra Servizi, selezionare il servizio RdAgent.

  4. Selezionare il menu Azione, quindi scegliere Proprietà.

  5. Nella scheda Generali della finestra di dialogo Proprietà, assicurarsi che le seguenti condizioni siano vere, quindi selezionare il pulsante OK o Annulla:

    • L'elenco Tipo di avvio è impostato su Automatico.
    • Il valore del campo Stato servizio è In esecuzione.

    Screenshot della finestra di dialogo Proprietà RdAgent. Nella finestra di dialogo lo stato del servizio RdAgent è impostato su In esecuzione e il tipo di avvio è Automatico.

  6. Nella finestra Servizi, selezionare il servizio WindowsAzureGuestAgent.

  7. Ripetere i passaggi 4 e 5.

Se i servizi non esistono, l'agente guest probabilmente non è installato. In questo caso, è possibile installare manualmente l'agente guest. Prima di eseguire un'installazione manuale, verificare i prerequisiti di installazione.

Passaggio 4: testare la connessione WireServer

Per un'esecuzione corretta, l'agente guest richiede la connettività all'indirizzo IP (IP host) di WireServer 168.63.129.16 sulle porte 80 e 32526. Per istruzioni su come testare la connettività a questo indirizzo IP, vedere la sezione Risolvere i problemi di connettività di Che cos'è l'indirizzo IP 168.63.129.16?

Se uno dei test in tale sezione non crea una connessione, verificare la presenza di problemi che potrebbero causare il blocco dell'accesso all'indirizzo 168.63.129.16IP da parte di uno dei componenti seguenti:

  • Un firewall
  • Un proxy
  • Un'applicazione

Passaggio 5: esaminare i file di log

Controllare le seguenti posizioni di log per verificare la presenza di eventuali errori rilevanti:

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

Scenari di errore comuni

Confrontare eventuali errori che si trovano negli scenari comuni seguenti che possono causare la visualizzazione di uno stato Non pronto o interrompere il funzionamento come previsto dell'agente di macchine virtuali di Azure.

Non è possibile connettersi a WireServer IP (168.63.129.16)

Fare clic qui per informazioni dettagliate sulla risoluzione dei problemi

Nel file di WaAppAgent.log vengono registrate le voci di errore seguenti:

[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()`

Queste voci di errore indicano che la macchina virtuale non riesce a raggiungere l'indirizzo IP WireServer, 168.63.129.16.

Soluzione: abilitare DHCP e assicurarsi che il server non sia bloccato da firewall, proxy o altre origini

  1. Connettersi alla macchina virtuale usando Desktop remoto e quindi testare la connettività alla versione 168.63.129.16. Vedere la sezione Risolvere i problemi di connettivitàdell'indirizzo IP di Azure 168.63.129.16 panoramica.
  2. Se nella scheda di rete della macchina virtuale è presente un solo indirizzo IP privato, è consigliabile abilitare DHCP nella macchina virtuale guest. Se è necessario un indirizzo IP privato statico, è necessario configurarlo tramite il portale di Azure o PowerShell e assicurarsi che l'opzione DHCP all'interno della macchina virtuale sia abilitata. Per assicurarsi che la configurazione IP corrisponda sempre alla configurazione nella macchina virtuale in Azure, vedere come configurare un indirizzo IP statico usando PowerShell.
  3. Se sono stati assegnati più indirizzi IP privati alla scheda di rete della macchina virtuale, assicurarsi di seguire attentamente la procedura per assegnare correttamente le configurazioni IP. Dopo aver completato i passaggi, se l'agente guest non riesce a comunicare con 168.63.129.16, verificare che l'indirizzo IP primario in Windows corrisponda all'indirizzo IP primario nella scheda di rete della macchina virtuale in Azure.
  4. Verificare la presenza di eventuali problemi che potrebbero causare un firewall, un proxy o un'altra origine che potrebbe bloccare l'accesso all'indirizzo 168.63.129.16IP .
  5. Verificare se Windows Firewall o un firewall di terze parti stia bloccando l'accesso alle porte 80 e 32526. Per ulteriori informazioni sul perché questo indirizzo non dovrebbe essere bloccato, consultare Che cos'è l'indirizzo IP 168.63.129.16?

L'agente guest è bloccato nel processo di "arresto"

Fare clic qui per informazioni dettagliate sulla risoluzione dei problemi

Nel file di WaAppAgent.log vengono registrate le voci di errore seguenti:

[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()

Queste voci di errore indicano che l'agente di macchine virtuali di Azure è bloccato nel processo di "arresto".

Soluzione A: Avviare WaAppAgent.exe e arrestare WindowsAzureGuest.exe

Assicurarsi che WaAppAgent.exe sia in esecuzione sulla macchina virtuale. Se non è in esecuzione, riavviare il servizio RdAgent e attendere cinque minuti. Dopo la partenza di WaAppAgent.exe, terminare il processo WindowsAzureGuest.exe.

Soluzione B: Aggiornare l'agente di macchine virtuali di Azure

Se la soluzione A non risolve il problema, rimuovere la versione attualmente installata e quindi installare manualmente la versione più recente dell'agente.

L'adattatore loopback Npcap è installato

Fare clic qui per informazioni dettagliate sulla risoluzione dei problemi

Nel file di WaAppAgent.log vengono registrate le voci di errore seguenti:

[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

Queste voci di errore indicano che Wireshark ha installato l'adattatore di loopback per la raccolta dei pacchetti (Npcap) del progetto Network Mapper (Nmap) sulla macchina virtuale. Wireshark è uno strumento open source per la profilatura del traffico di rete e l'analisi dei pacchetti. Tale strumento viene spesso definito analizzatore di rete, analizzatore di protocolli di rete o sniffer.

Soluzione: disabilitare l'adattatore loopback Npcap

Provare a disabilitare l'adattatore di loopback Npcap e verificare se il problema è stato risolto.

Problemi di remote procedure call (RPC) - Inizializzazione rdCrypt non riuscita

Fare clic qui per informazioni dettagliate sulla risoluzione dei problemi

Nel file di WaAppAgent.log vengono registrate le voci di errore seguenti:

[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

Questi errori probabilmente si verificano a causa di problemi di chiamata di procedura remota (RPC). Ad esempio, l'endpoint RPC potrebbe non essere in ascolto o il processo RPC potrebbe essere assente dall'altro lato.

Soluzione: avviare il servizio di isolamento della chiave CNG

Controllare se il servizio Windows Cryptography Next Generation (CNG) Key Isolation (CNGKEYISO) è incluso nell'elenco degli endpoint RPC. A tale scopo, eseguire il comando portqry seguente:

portqry -n <VMName> -e 135

Se non viene visualizzato il processo CNGKEYISO, avviarlo dalla console Servizi di Windows (Isolamento chiavi CNG = KeyIso), quindi riavviare WaAppAgent.exe o WindowsAzureGuestAgent.exe.

PInvoke PFXImportCertStore non riuscito e viene restituito un handle Null. Codice di errore: 86

Fare clic qui per informazioni dettagliate sulla risoluzione dei problemi

L'agente guest di Windows è in esecuzione, ma le estensioni non funzionano. Nel file di WaAppAgent.log vengono registrate le voci di errore seguenti:

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.

Questi errori probabilmente si verificano a causa di una mancanza di autorizzazioni per le cartelle crypto per l'account SYSTEM. Se si recupera una traccia di Process Monitor (ProcMon) mentre si riavviano i servizi dell'agente guest (RdAgent o WindowsAzureGuestAgent), è possibile che vengano visualizzati alcuni errori di "Accesso negato".

Soluzione: aggiungere il controllo completo delle cartelle crypto all'account SYSTEM

Assicurarsi che l'account SYSTEM abbia le autorizzazioni di Controllo completo sulle seguenti cartelle:

  • C:\ProgramData\Microsoft\Crypto\Keys

  • C:\ProgramData\Microsoft\Crypto\RSA

  • C:\ProgramData\Microsoft\Crypto\SystemKeys

System.BadImageFormatException: tentativo di caricare un programma con un formato non corretto. (Eccezione da HRESULT: 0x8007000B)

Fare clic qui per informazioni dettagliate sulla risoluzione dei problemi

Nel file di WaAppAgent.log vengono registrate le voci di errore seguenti per indicare che l'agente guest non risponde:

[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)

Molto probabilmente, questi errori si verificano perché è stata installata un'applicazione di terze parti nella macchina virtuale e ha modificato il comportamento delle applicazioni .NET a 32 bit o a 64 bit.

Si verifica un errore BadImageFormatException quando un'applicazione a 64 bit carica una DLL a 32 bit.

Soluzione: impostare la voce del Registro di sistema Enable64Bit per .NET Framework e riavviare la macchina virtuale

Importante

In questa sezione, metodo o attività viene illustrata la procedura per modificare il Registro di sistema. Poiché l'errata modifica del Registro di sistema può causare seri problemi, Di conseguenza, attenersi scrupolosamente alla procedura indicata. Al fine di protezione, eseguire il backup del registro di sistema prima di modificarlo, in modo da poterlo ripristinare in caso di problemi. Per ulteriori informazioni su come eseguire backup e ripristino del Registro di sistema, vedere Backup e ripristino del Registro di sistema in Windows.

Aprire Registro di sistema, individuare la sottochiave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework e visualizzare la voce Enable64Bit del Registro di sistema.

Se la voce del Registro di sistema Enable64Bit è impostata su 0, le applicazioni .NET a 64 bit vengono considerate applicazioni a 32 bit. Di conseguenza, l'agente di macchine virtuali di Azure non funziona.

La soluzione è impostare la chiave Enable64Bit su 1, quindi riavviare la macchina virtuale.

L'agente guest di Windows non viene avviato a causa di un errore ConfigurationErrorsException o TypeInitializationException

Fare clic qui per informazioni dettagliate sulla risoluzione dei problemi

L'agente guest di Windows smette di rispondere all'avvio e vengono registrate le voci del log applicazioni seguenti:

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()

Questo problema potrebbe verificarsi se il file C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config è mancante o danneggiato.

Soluzione: copiare un file Machine.config funzionante nella macchina virtuale e quindi riavviare i servizi dell'agente guest

Per risolvere il problema, attenersi alla seguente procedura:

  1. Copiare il file Machine.config da una macchina virtuale funzionante e quindi incollare il file nella cartella C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config nella macchina virtuale problematica.

  2. Riavviare i servizi dell'agente guest eseguendo i comandi net stop e net start:

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

L'installazione dell'agente guest non riesce

Fare clic qui per informazioni dettagliate sulla risoluzione dei problemi

Se il tentativo di installazione dell'agente guest non riesce, assicurarsi che tutti i prerequisiti per l'agente guest siano soddisfatti.

Disinstallare e reinstallare l'agente guest di Windows

  1. Selezionare Installazione applicazioni se è installato l'agente guest.

Nota: Se l'agente guest è stato installato manualmente tramite il programma di installazione di .msi, l'agente viene visualizzato in Installazione applicazioni. Se l'agente guest è stato installato durante il provisioning delle immagini, l'agente non viene visualizzato in Installazione applicazioni.

  1. Se l'agente guest esiste in Installazione applicazioni, disinstallarlo da questa posizione. È quindi possibile installarlo tramite il file .msi usando gli argomenti della riga di comando in questo passaggio.

  2. Se l'agente è installato ma non viene visualizzato in Installazione applicazioni, seguire questa procedura:

    1. Aprire una finestra del prompt dei comandi con privilegi elevati.
    2. Arrestare i servizi agente guest. Se i servizi non vengono interrotti, è necessario impostare i servizi sull'avvio manuale e quindi riavviare la macchina virtuale:
    net stop rdagent
    net stop WindowsAzureGuestAgent
    
    1. Eliminare i servizi agente guest
    sc delete rdagent
    sc delete WindowsAzureGuestAgent
    
    1. In C:\WindowsAzure creare una cartella e denominarla OLD.
    2. Spostare tutte le cartelle denominate Packages o GuestAgent nella cartella OLD.
    3. Creare una nuova cartella per il percorso di installazione .msi (C:\VMAgentMSI).
  3. Scaricare il file di.msi più recente dalle versioni di GitHub per l'agente guest di Windows.

  4. Installare l'agente guest usando la riga di comando msiexec e gli argomenti:

    msiexec.exe /i c:\VMAgentMSI\WindowsAzureVmAgent.2.7.<version>.fre.msi /L*v C:\Windows\Panther\msiexec.log
    
  5. Se l'installazione non riesce, raccogliere i file seguenti per verificare il motivo per cui non è riuscito:

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

L'installazione dell'agente guest non riesce a causa di WMI non riuscito

Fare clic qui per informazioni dettagliate sulla risoluzione dei problemi
  1. Scaricare il file di.msi più recente dalle versioni di GitHub per l'agente guest di Windows.

  2. Installare l'agente guest usando la riga di comando msiexec e gli argomenti

    msiexec.exe /i c:\VMAgentMSI\WindowsAzureVmAgent.2.7.<version>.fre.msi /L*v C:\Windows\Panther\msiexec.log
    
  3. Se l'installazione non riesce, raccogliere i file seguenti per verificare il motivo per cui non è riuscito:

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

È possibile trovare i messaggi di errore seguenti in MSIEXEC.log e VmAgentInstaller.xml quando si tenta di installare l'agente guest.

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:

L'agente di macchine virtuali .msi file usa WMI StdRegProv per accedere al Registro di sistema. Se WMI non funziona correttamente, il file .msi non può impostare il percorso del servizio RdAgent dal Registro di sistema. Pertanto, l'installazione del file di .msi non riesce.

Soluzione

  1. Aprire una finestra del prompt dei comandi con privilegi elevati.
  2. Per verificare se WMI StdRegProv funziona, eseguire il comando WMIC seguente e copiare l'output in un file di testo:
wmic /namespace:\\root\default Class StdRegProv Call GetDWORDValue hDefKey="&H80000002" sSubKeyName="SYSTEM\CurrentControlSet\Services\Winmgmt" sValueName=Start

Se si usa Windows Server 2025 o versione successiva e non è stato installato manualmente WMIC, aprire una finestra di PowerShell con privilegi elevati per testare StdRegProv:

Invoke-CimMethod -ClassName StdRegProv -MethodName GetDWORDValue -Arguments @{sSubKeyName = 'SYSTEM\CurrentControlSet\Services\Winmgmt';sValueName = 'Start'}
  1. Eseguire il comando WINMGMT seguente per verificare il repository WMI e copiare l'output in un file di testo:
winmgmt /verifyrepository
  1. Eseguire il backup del repository WMI:
xcopy c:\windows\system32\wbem\repository c:\windows\system32\wbem\repository.bak /e /i
  1. Eseguire il comando seguente per risolvere il problema WMI e copiare l'output in un file di testo:
winmgmt /salvagerepository
  1. Provare di nuovo l'agente di macchine virtuali .msi'installazione. Se termina correttamente, attendere un minuto o due e quindi verificare se il servizio RdAgent è in esecuzione.
wmic service rdagent list brief
  1. Se il comando WMIC indica che RdAgent è in esecuzione, il problema deve essere risolto. Se il comando WMIC ha esito negativo o indica che RdAgent non è in esecuzione, andare al passaggio successivo.

  2. Eseguire i comandi seguenti per reimpostare il repository WMI:

net stop winmgmt /y
winmgmt /resetrepository
net start winmgmt
  1. Provare di nuovo l'agente di macchine virtuali .msi'installazione. Se termina correttamente, attendere un minuto o due e quindi verificare se il servizio RdAgent è in esecuzione:
wmic service rdagent list brief
  1. A questo punto, se il comando WMIC ha esito negativo o non mostra ancora che RdAgent è in esecuzione, inviare il file C:\Windows\Panther\VMAgentInstall.xml al supporto tecnico Microsoft per la revisione.

Il servizio Agente guest di Windows Azure o il servizio RdAgent smette di rispondere all'avvio

Fare clic qui per informazioni dettagliate sulla risoluzione dei problemi

Viene registrato l'errore 7031 o 7034 dell'evento di sistema e C:\WindowsAzure\logs\TransparentInstaller.log mostra la voce seguente:

[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)

Soluzione

Questo problema può verificarsi se la profilatura di Windows Communication Framework (WCF) è abilitata. La profilatura WCF deve essere abilitata solo durante il debug di un problema WCF. Non deve essere lasciata abilitata durante l'esecuzione di un carico di lavoro di produzione.

Per disabilitare la profilatura WCF:

  • Aprire una finestra del prompt dei comandi con privilegi elevati.
  • Per eseguire il backup del file esistente C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config , eseguire i comandi seguenti:
cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config
copy machine.config machine.config.bak
  • Per modificare il file nel Blocco note, eseguire notepad machine.config. Rimuovere il testo seguente (ma prestare attenzione a non rimuovere anche qualsiasi altro testo che potrebbe trovarsi nella stessa riga):
<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"/>

Rimuovere il testo seguente (ma prestare attenzione a non rimuovere anche qualsiasi altro testo che potrebbe trovarsi nella stessa riga):

<commonBehaviors><endpointBehaviors><Microsoft.VisualStudio.Diagnostics.ServiceModelSink.Behavior/></endpointBehaviors><serviceBehaviors><Microsoft.VisualStudio.Diagnostics.ServiceModelSink.Behavior/></serviceBehaviors></commonBehaviors>
  • Salva e chiudi il file.
  • Riavviare i servizi dell'agente guest:
net stop Rdagent
net stop WindowsAzureGuestAgent

net start Rdagent
net start WindowsAzureGuestAgent
  • In alcuni casi, potrebbe essere necessario riavviare la macchina virtuale per rendere effettiva la disabilitazione wcf.

Passaggi successivi

Altri problemi noti associati all'Agente di macchine virtuali di Azure sono elencati nel relativo repository GitHub.

Dichiarazione di non responsabilità sulle informazioni di terze parti

I prodotti di terzi citati in questo articolo sono prodotti da società indipendenti da Microsoft. Microsoft non rilascia alcuna garanzia implicita o esplicita relativa alle prestazioni o all'affidabilità di tali prodotti

Dichiarazione di non responsabilità di contatti di terze parti

Microsoft fornisce informazioni di contatto di terze parti per aiutarti a trovare ulteriori informazioni su questo argomento. Queste informazioni di contatto sono soggette a modifica senza preavviso. Microsoft non garantisce l'accuratezza delle informazioni di contatto di terze parti.

Contattaci per ricevere assistenza

In caso di domande o bisogno di assistenza, creare una richiesta di supporto tecnico oppure formula una domanda nel Supporto della community di Azure. È possibile anche inviare un feedback sul prodotto al feedback della community di Azure.