Essa funcionalidade permite o diagnóstico dos módulos ADM, necessários para a operação do agente; inclui testes de comunicação para o local do ADM, locais e portas de comunicação locais, verificação de permissões e status dos serviços necessários no equipamento para a operação dos módulos. Para realizar o processo de autodiagnóstico, execute os seguintes passos:
1. Baixe e salve o pacote Aranda.Diagnostics.ADM.Agent.9.x.x.x.zip Em uma rota específica, abra o zíper. Você poderá visualizar os arquivos: appsettings.json e Aranda.Diagnostics.ADM.Agent.9.x.x.x.exe.


2. Modificar o arquivo appsettings.json na linha dois URI pela URL do nó, onde o agente aponta ou irá apontar.

3. Execute o arquivo como administrador Aranda.Diagnostics.ADM.Agent.Cli.exe; Uma vez executado, o veículo utilitário realiza os testes de arquitetura, serviços, acessos, permissões e portas de comunicação.

4. Após o processo de diagnóstico, feche a janela pressionando qualquer tecla ou fechando manualmente a janela. O resultado do teste é armazenado no caminho da utilidade, no Relatórios, o arquivo é salvo diagnostics.json E você poderá visualizá-lo em um editor de texto disponível.
Arquivo resultante

Explicação de cada teste realizado pelo agente autodiagnóstico e possíveis erros
Abaixo está o contexto e a explicação de cada teste realizado pela ferramenta de autodiagnóstico. Além disso, os possíveis erros que podem ocorrer em cada teste devido a alguma restrição local em firewall, antivírus ou problemas de rede, ou a falta de qualquer configuração no console, são explicados:
1. Verificação da arquitetura de equipamentos
Verificação da arquitetura do sistema operacional e das pastas Arquivos de Programa
{
"TestId": "ENV",
"Group": "Environment",
"Name": "Environment / Architecture / Admin",
"Status": "Ok",
"Findings": [],
"Evidence": {
"OSArchitecture": "X64",
"ProcessArchitecture": "X64",
"ProgramFiles": "C:\\Program Files",
"ProgramFilesX86": "C:\\Program Files (x86)",
"IsElevated": "True"
}
}
2. Verificando permissões de administrador
Realiza uma verificação no usuário que está executando a ferramenta para verificar se o usuário pertence ao grupo de administradores.
{
"TestId": "ENV.ADMIN",
"Group": "Environment",
"Name": "Admin permissions (current user)",
"Status": "Ok",
"Findings": [],
"Evidence": {
"User": "DOMAIN\\USER",
"IsInAdministratorsGroup": "True",
"IsElevated": "True"
}
}
3. Verificação de Serviço WMI
É feita uma consulta ao serviço Instrumentação de Gerenciamento do Windows (Winmgmt) Verificando se está ativado e rodando.
{
"TestId": "WMI_WINMGMT",
"Group": "Environment",
"Name": "WMI Winmgmt service status",
"Status": "Ok",
"Findings": [],
"Evidence": {
"ServiceName": "Winmgmt",
"DisplayName": "Instrumental de administración de Windows",
"Status": "Running"
}
}
Exemplo de erro:

Esse erro é causado por uma falha de serviço Instrumentação de Gerenciamento do Windows (Winmgmt); Verifique se o serviço está ativado e iniciado e não está bloqueado por uma política de domínio.
4. Consulta usando o serviço WMI
Uma consulta básica é feita solicitando a edição do sistema operacional, versão e arquitetura.
{
"TestId": "WMI",
"Group": "Environment",
"Name": "WMI availability (Win32_OperatingSystem)",
"Status": "Ok",
"Findings": [],
"Evidence": {
"TimeoutMs": "30000",
"Query": "SELECT Caption, Version, OSArchitecture FROM Win32_OperatingSystem",
"OS.Caption": "Microsoft Windows 11 Enterprise",
"OS.Version": "10.0.26200",
"OS.OSArchitecture": "64 bits"
}
}
Exemplo de erro:

As causas mais comuns para esse erro podem ser:
- O serviço Instrumentação de Gerenciamento do Windows (Winmgmt) está ativado, mas você não tem permissões no Controle WMI, entre em contato com seu administrador para atribuir permissões ao usuário.
- Bloqueio em nível de firewall para a porta usada pelo WMI.
- Namespace corrompido ou inexistente a partir do Controle WMI
- DCOM desativado para o computador a partir do Serviços Componentes
5. Verifique a participação ADMIN$
Ele é validado em uma consulta, se nos compartilhamentos houver o recurso ADMIN$ que tenha acesso ao caminho do C:Windows ou se houver uma política de domínio que bloqueie o acesso a esse recurso.
{
"TestId": "Admin$",
"Group": "Environment",
"Name": "Share access",
"Status": "Ok",
"Findings": [],
"Evidence": {
"TargetHost": "DEVICENAME",
"AdminSharePath": "\\\\DEVICENAME\\Admin$",
"FileCount": "40"
}
}
Exemplo de erro:

As causas mais comuns para esse erro podem ser:
- O recurso é restringido ao acesso usando a seguinte chave de registro AutoShareWks=0:
- Computador\HKEY_LOCAL_MACHINE\SISTEMA\CurrentControlSet\Services\LanmanServer\Parameters
- O recurso não é compartilhado a partir do Gerenciador de Equipe > Pastas > Compartilhamentos
6. Verificação do Serviço de Geolocalização e Permissões de Localização
Uma consulta é feita ao Serviço de Geolocalização (LFSVC) verificar se está ativado e executar; Também verifica se há uma política de domínio bloqueando serviços de localização.
{
"TestId": "ENV.LocationPermissions",
"Group": "Environment",
"Name": "Permisos de ubicación (Windows)",
"Status": "Ok",
"Findings": [],
"Evidence": {
"Location.Service": "Running",
"Location.PolicyBlocked": "False",
"Consent.Result": "Allow",
"Consent.Source": "None",
"Location.BlockReason": "None"
}
}
Exemplo de erro:


As causas mais comuns para esse erro podem ser:
- O Serviço de Geolocalização (LFSVC) Ela não está habilitada nem possui restrições de acesso por política de domínio.
- Você tem políticas de domínio configuradas com restrição de acesso à localização. Se alguma dessas chaves de registro for criada com DWORD = 1, elas devem ser excluídas:
- Chave do Registro: Software\Políticas\Microsoft\Windows\LocalizaçãoeSensores\DesabilitarLocalização
- Chave do Registro: Software\Políticas\Microsoft\Windows\LocalizaçãoESensores\DisableSensors
- Chave do Registro: Software\Políticas\Microsoft\Windows\LocalizaçãoeSensores\DisableWindowsFornecedorLocalização
7. Verificação DNS/TCP
Um teste de conectividade TCP é realizado no host e a porta configurada no arquivo appsettings.json verificando se ela realiza uma resolução DNS e capturando os tempos de resposta.
{
"TestId": "DNS/TCP",
"Group": "Prerequisites",
"Name": "DNS/TCP connectivity",
"Status": "Ok",
"Findings": [],
"Evidence": {
"Url": "https://DNS-NAME/Repserver",
"Scheme": "https",
"Host": "DNS-NAME",
"Port": "443",
"ResolvedIPs": "IP-DETECTED",
"TimeoutMs": "30000",
"ConnectedIP": "IP-DETECTED"
}
}
8. Verificação HTTP para a URL base fornecida
A verificação de resposta HTTP é realizada na URL base fornecida para confirmar se responde corretamente, capturando os tempos de resposta.
{
"TestId": "HTTP Repserver",
"Group": "Prerequisites",
"Name": "URI HTTP Response",
"Status": "Ok",
"Findings": [],
"Evidence": {
"Url": "https://DNS-NAME/Repserver",
"Method": "HEAD",
"StatusCode": "200",
"ElapsedMs": "380"
}
}
Exemplo de erro:

Nesse caso, os itens 7 e 8 compartilham o mesmo cenário, devido a uma possível restrição de comunicação para a URL para a qual o teste está sendo realizado. Valide se ele possui uma tomada de Internet, revise as restrições de rede configuradas no nível do firewall e faça a exceção para a URL do nó.
9. Download de verificação do perfil padrão do agente
Uma consulta é feita na URL onde o perfil do agente está armazenado, retornando as informações em formato JSON com as configurações disponíveis para o perfil padrão e capturando os tempos de resposta.
{
"TestId": "Agent Profile Download",
"Group": "Inventory.AgentProfileDownload",
"Name": "CommunicationNodeV2/AgentProfile/1",
"Status": "Ok",
"Findings": [],
"Evidence": {
"Url": "https://DNS-NAME.com/Repserver/CommunicationNodeV2/AgentProfile/1",
"HeadStatusCode": "200",
"HeadElapsedMs": "368",
"HeadContentType": "",
"HeadContentLength": "867",
"Head": "Ok",
"Method": "GET",
"StatusCode": "200",
"ElapsedMs": "245",
"ContentType": "application/octet-stream",
"BodyPreview": "{\"aam\":{\"aamInventory\":{\"period\":86400,\"startTime\":1772799960},\"aamInventoryLogon\":false,\"aflIncremental\":null,\"aflInventory\":null,\"excludedFiles\":[],\"excludedPaths\":[\"C:\\\\Program Files\",\"C:\\\\Program Files (x86)\",\"C:\\\\Windows\"],\"executablesToScan\":[\"EXE\",\"CPL\",\"RUN\",\"BIN\",\"PY\",\"SH\",\"BASH\"],\"extensionToScan\":null,\"synchronization\":{\"period\":600,\"startTime\":1774366188}},\"additionalSurveyFields\":null,\"apm\":{\"apmInventoryLogon\":false,\"inventory\":{\"period\":86400,\"startTime\":1772820000},\"synchronization\":{\"period\":86400,\"startTime\":1774366188}},\"apwm\":null,\"ars\":null,\"asd\":{\"synchronization\":{\"period\":600,\"startTime\":1774366188}},\"asm\":null,\"communication\":{\"fileSharing\":{\"download\":1024,\"port\":0,\"retention\":1,\"type\":4,\"upload\":1024},\"port\":9025,\"registerPeriod\":5,\"serverAddress\":[\"https:\\/\\/DNS-NAME\\/repserver\"]},\"profile\":1,\"showIcon\":true}"
}
}
Exemplo de erro:

Ao apontar para um Conservador, eles são apresentados pela ausência do recurso no caminho de armazenamento de arquivos do Conservador. Você pode rodar o autoteste novamente para que funcione corretamente. Na primeira execução que falha, o Conservador processa a tarefa que solicita o recurso e o armazena.
10. Verificação da versão disponível do agente ADM
Uma consulta é feita para verificar a versão mais recente disponível do agente ADM e exibe o nome do arquivo disponível, identificador, data de download e captura o tempo de resposta.
{
"TestId": "Agent Update Version",
"Group": "Inventory.AgentUpdate",
"Name": "Version (agentupdate/.../version)",
"Status": "Ok",
"Findings": [],
"Evidence": {
"BaseUrl": "https://DNS-NAME/Repserver",
"Url": "https://DNS-NAME/Repserver/api/agentupdate/com.arandasoft.adm.agent.windows/version",
"Method": "GET",
"StatusCode": "200",
"ElapsedMs": "2450",
"ContentLength": "184",
"BodyPreview": "{\"fileName\":\"Aranda.Agent.Windows.x86_x64.9.24.1.4.exe\",\"installerIdentifier\":\"com.arandasoft.adm.agent.windows\",\"modificationDate\":\"2026-03-19T00:00:32.32+00:00\",\"version\":\"9.24.1.4\"}"
}
}
Exemplo de erro:

Não há dados de versão disponíveis porque a tarefa responsável por baixar essas informações não foi executada. Para mais informações, veja Implantação de Agentes.
11. Verificação do Instalador do Agente
Uma consulta é realizada para verificar se o recurso .EXE do agente ADM existe no caminho de armazenamento configurado para o nó a ser consultado.
{
"TestId": "Agent Download",
"Group": "Inventory.AgentUpdate",
"Name": "Agent EXE download (agentupdate/...windows)",
"Status": "Ok",
"Findings": [],
"Evidence": {
"Url": "https://DNS-NAME/Repserver/api/agentupdate/com.arandasoft.adm.agent.windows",
"Method": "GET(Range 0-0)",
"StatusCode": "206",
"ElapsedMs": "244",
"ContentType": "application/octet-stream",
"ContentLength": "1"
}
}
Exemplo de erro:

Isso se deve à ausência do recurso no contêiner de arquivos para o caso Repserver ou no caminho de armazenamento de arquivos para o caso Conserver.
12. Teste de Conectividade de Nós
O teste de conectividade é realizado no nó que foi configurado no arquivo appsettings.json e é verificado que o nó está respondendo adequadamente.
{
"TestId": "Communication Node Test Connection",
"Group": "Inventory.CommunicationNodeCnx",
"Name": "/communicationNodev2/test",
"Status": "Ok",
"Findings": [],
"Evidence": {
"BaseUrl": "https://DNS-NAME/Repserver",
"Url": "https://DNS-NAME/Repserver/communicationNodev2/test",
"Method": "GET",
"StatusCode": "200",
"ElapsedMs": "227"
}
}
Exemplo de erro:

Pode ocorrer devido a uma falha de comunicação com o nó para o qual o teste de diagnóstico está sendo realizado; recomenda-se verificar se o serviço está operacional ou verificar as regras do firewall.
13. Registro de Dispositivos
É feita uma solicitação ao console para realizar um registro de teste com dados aleatórios e verificar se os dispositivos podem ser registrados corretamente no console.
{
"TestId": "RegisterDevice",
"Group": "Inventory.CommunicationNode",
"Name": "CommunicationNodeV2 Register",
"Status": "Ok",
"Findings": [],
"Evidence": {
"PayloadResource": "Aranda.Diagnostics.ADM.Agent.Core.Assets.register-body.json",
"RunGuid": "c164570f229b4858ba240895c092b107",
"DeviceName.Original": "TestArandaDiagnosticsAgent",
"DeviceName.Final": "TestArandaDiagnosticsAgent-c164570f229b4858ba240895c092b107",
"HwHash.Final": "c164570f229b4858ba240895c092b107",
"Url": "https://DNS-NAME/Repserver/communicationNodeV2/register",
"TimeoutMs": "30000",
"StatusCode": "200",
"ElapsedMs": "1322",
"Response.Token": "{E79387D5-CA80-4FA7-A404-3ADD4D4B7D42}",
"Response.Topic": "device/{FF2D3566-1474-4714-9DC3-6BC9F2F87266}",
"Response.BrokerPort": "1884",
"Response.BrokerIp": "IP-DETECTED",
"Response.Guid": "{FF2D3566-1474-4714-9DC3-6BC9F2F87266}",
"IsEnableServerNotification": "False"
}
}
⚐ Nota: Após a conclusão dos testes de autodiagnóstico, recomenda-se excluir o(s) registro(s) de teste criados no console, dependendo do número de execuções da utilidade. Se houver vários registros, você pode excluí-los filtrando por status Sem inventário e agente 9.12.2110.106 e depois ir para Mais opções > todas e então Remover dispositivos.
14. Administração Remota de Verificação de Operações
Neste caso, existem dois caminhos:
-
Gerenciamento Remoto de LAN: Se o EnableServerNotification está ambientado em Verdadeiro, um teste de conectividade é realizado na estação verificando se a porta 9025 está disponível para uso e se outro programa ou serviço não está usando; Se o agente já estiver instalado, verifique se a porta está associada ao processo do agente e se ela está em modo apenas de escuta.
{ "TestId": "LOCAL.9025", "Group": "Inventory.RemoteAdmin", "Name": "Local port 9025 listening", "Status": "Ok", "Findings": [], "Evidence": { "Port": "9025", "Target": "localhost", "AgentService.Name": "ArandaAgent9", "AgentService.Exists": "True", "AgentService.Status": "Running", "AgentService.StartType": "Automatic", "AgentProcessPid": "6552", "AgentProcessName": "Aranda.Agent.ACOREService", "Port.ListenerCount": "2", "Port.Bindings": "0.0.0.0, ::", "Port.Listening": "True", "PortOwnerPid": "6552", "PortOwnerProcessName": "Aranda.Agent.ACOREService", "Port.OwnerMatch": "True (PID 6552)", "ConnectedIP": "127.0.0.1" } }
Exemplo de erro:

Se você tiver o agente instalado, verifique a partir do Monitor de Recursos > Rede > Portas de Escuta que o processo Aranda.Agent.ACOREService.exe está rodando na porta 9025. Valide isso no Firewall Status diga Permitido, não restrito; Caso contrário, verifique as regras do firewall.
-
Conexão de Saída de Gerenciamento Remoto: Se o EnableServerNotification está ambientado em Verdadeiro, uma solicitação é feita usando o protocolo WebSocket para o local identificado no procedimento de registro (Passo 14). A utilitária verifica se o plugin está instalado e que o site está protegido por HTTPS.
{ "TestId": "Notifications WebSocket", "Group": "Inventory.RemoteAdmin", "Name": "Repserver notifications WebSocket(webhub)", "Status": "Ok", "Findings": [], "Evidence": { "BaseUrl": "https://DNS-NAME/repserver/notificationmessage", "Host": "DNS-NAME", "Scheme": "https", "WsUrl": "wss://DNS-NAME/repserver/notificationmessage/webhub", "ElapsedMs": "7903", "State": "Open" } }
Exemplo de erro:

As causas mais comuns para esse erro podem ser:
- A falta de configuração HTTPS no nó que está sendo diagnosticado. Para mais informações, consulte os seguintes links de acordo com sua infraestrutura:
- A ausência do componente WebSocket em funções e recursos.
15. Verificação de Notificação ao Local
Uma verificação é realizada no site Repserver/notificationmessage verificando se está disponível e registrando os tempos de resposta.
{
"TestId": "RemoteAdmin NotificationMessage",
"Group": "Inventory.RemoteAdmin",
"Name": "Notificationmessage HTTP",
"Status": "Ok",
"Findings": [],
"Evidence": {
"BaseUrl": "https://DNS-NAME/repserver/notificationmessage",
"Method": "GET",
"StatusCode": "200",
"ElapsedMs": "684",
"ContentType": "text/html"
}
}
16. Verificação mínima do TLS
É realizada uma verificação do protocolo criptográfico TLS gerenciado pelo site que está sendo direcionado para realizar o teste diagnóstico.
{
"TestId": "TLS Min 1.2",
"Group": "Inventory.RemoteAdmin",
"Name": "TLS >= 1.2 (HTTPS)",
"Status": "Ok",
"Findings": [],
"Evidence": {
"RepserverUrl": "https://DNS-NAME/Repserver",
"Scheme": "https",
"Host": "DNS-NAME",
"Port": "443",
"ElapsedMs": "161",
"NegotiatedProtocol": "Tls13",
"CipherAlgorithm": "Aes256",
"CipherStrength": "256",
"HashAlgorithm": "Sha384",
"HashStrength": "0",
"KeyExchangeAlgorithm": "None",
"KeyExchangeStrength": "255"
}
}
Exemplo de erro:

Verifique se o servidor atende aos requisitos mínimos, como a versão mínima suportada do TLS (1.2). Para mais informações, veja a nota Coisas para ter em mente Requisitos.
17. Verificação de Componentes de Submissão de Ações MQTT/IoT
Primeiro, é realizado um teste de verificação para validar se o parâmetro está configurado DeviceMessageConfiguration, se tal configuração existir, um teste de conectividade com o MQTT é realizado usando o DNS/IP e a porta configurados nesse componente.
{
"TestId": "ENROLLMENT",
"Group": "Inventory.CommunicationNode",
"Name": "Device enrollment (POST /api/device/enrollment)",
"Status": "Ok",
"Findings": [],
"Evidence": {
"Url": "https://DNS-NAME/Repserver/api/device/enrollment",
"RequestBody": "{\"guid\":\"{4BE52D7A-5B13-4B59-8621-C39D92A9FA36}\",\"version\":\"9.24.1.3\",\"sufix\":\"ADM\"}",
"StatusCode": "200",
"ResponseBody": "{\"metaData\":\"{\\\"broker\\\":\\\"IP-DETECTED\\\",\\\"password\\\":\\\"\\\",\\\"port\\\":1884,\\\"secure\\\":false,\\\"sslProtocols\\\":0,\\\"topic\\\":\\\"ADM_4BE52D7A-5B13-4B59-8621-C39D92A9FA36\\\",\\\"username\\\":\\\"\\\"}\",\"type\":1}",
"Response.TypeValue": "1",
"Response.MetaData": "{\"broker\":\"IP-DETECTED\",\"password\":\"\",\"port\":1884,\"secure\":false,\"sslProtocols\":0,\"topic\":\"ADM_4BE52D7A-5B13-4B59-8621-C39D92A9FA36\",\"username\":\"\"}",
"Response.TypeName": "MQTT",
"Source": "Enrollment",
"Enrollment.Broker": "IP-DETECTED",
"Enrollment.Port": "1884",
"Enrollment.Topic": "ADM_4BE52D7A-5B13-4B59-8621-C39D92A9FA36",
"Probe.Broker": "IP-DETECTED",
"Probe.Port": "1884",
"Probe.Topic": "ADM_4BE52D7A-5B13-4B59-8621-C39D92A9FA36",
"Probe.MQTT.TcpConnect": "Ok"
}
}
⚐ Nota: Na versão atual, não é possível realizar um teste de conectividade com o componente IOT configurado para DeviceMessageConfiguration.
Se o parâmetro não existir DeviceMessageConfiguration, valida se o MQTT está configurado no Web.config do nó em fase de teste e realiza um teste de conectividade usando o DNS/IP e a porta configurados nesse componente.
{
"TestId": "ENROLLMENT",
"Group": "Inventory.CommunicationNode",
"Name": "Device enrollment (POST /api/device/enrollment)",
"Status": "Ok",
"Findings": [
{
"Code": "ENROLL.BAD_STATUS",
"Message": "Respuesta no exitosa en enrollment.",
"Severity": "High",
"Details": "\"DeviceMessageConfiguration_NotFound\""
},
{
"Code": "ENROLL.FALLBACK.BAD_STATUS",
"Message": "Enrollment falló. Se intenta MQTT usando la configuración registrada.",
"Severity": "Low",
"Details": null
},
{
"Code": "ENROLL.FALLBACK_MQTT_OK",
"Message": "Falló enrollment, pero la prueba MQTT con la configuración registrada fue exitosa.",
"Severity": "Low",
"Details": null
}
],
"Evidence": {
"Url": "https://DNS-NAME/Repserver/api/device/enrollment",
"RequestBody": "{\"guid\":\"{0DCFB561-7A61-48DF-A7F1-BD5102A16362}\",\"version\":\"9.24.1.3\",\"sufix\":\"ADM\"}",
"StatusCode": "409",
"ResponseBody": "\"DeviceMessageConfiguration_NotFound\"",
"Fallback.Source": "RegisterCommunicationNode",
"Fallback.Broker": "IP-DETECTED",
"Fallback.Port": "1884",
"Fallback.Topic": "device/{0DCFB561-7A61-48DF-A7F1-BD5102A16362}",
"FallbackProbe.Broker": "IP-DETECTED",
"FallbackProbe.Port": "1884",
"FallbackProbe.Topic": "device/{0DCFB561-7A61-48DF-A7F1-BD5102A16362}",
"FallbackProbe.MQTT.TcpConnect": "Ok"
}
}
Exemplo de erro:

Verifique as regras do firewall para quaisquer restrições no IP ou DNS configurado para o componente MQTT pela porta 1884 ou valide que o serviço MQTT no servidor está operacional.
18. Verificação de Envio de Estoque
Um arquivo de teste é carregado no caminho de armazenamento configurado para o nó a ser diagnosticado.
{
"TestId": "UploadFileV2",
"Group": "Inventory.CommunicationNode",
"Name": "CommunicationNodeV2 UploadFileV2",
"Status": "Ok",
"Findings": [],
"Evidence": {
"PayloadFileName": "test_Aranda_diagnostics_agent.txt",
"Url": "https://DNS-NAME/Repserver/communicationNodeV2/uploadfilev2",
"Method": "POST",
"MultipartField": "inputStream",
"FileName": "test_Aranda_diagnostics_agent.txt",
"FileBytes": "75",
"TimeoutMs": "30000",
"StatusCode": "200",
"ElapsedMs": "395",
"ResponseLength": "2"
}
}
⚐ Nota: Após os testes de autodiagnóstico serem concluídos, recomenda-se excluir o(s) arquivo(s) de teste criado(s) no caminho de armazenamento configurado para o nó realizado; esses arquivos são armazenados na pasta Exceção
Exemplo de erro:

As causas mais comuns para esse erro podem ser:
- Você não tem um caminho local válido de armazenamento de arquivos ou armazenamento de blob configurado para o nó que está mirando. Para mais informações, veja Comunicações
- Você não tem permissões de leitura e gravação no caminho local de armazenamento de arquivos ou no armazenamento de blob que configurou para o nó que está alvo.
No link a seguir, você pode encontrar o executável do agente de autodiagnóstico Agente Autodiagnóstico