Мое требование - получить подробную информацию об установленном программном обеспечении vm machine of azure и сохранить данные в db.но когда я пытаюсь получить подробности с помощью класса System.Management, я получаю следующую ошибку
System.Runtime.InteropServices.COMException: «Сервер RPC недоступен.(Исключение из HRESULT: 0x800706BA) '
ниже - мой пример кода, который я использую для получения сведений о программном обеспечении
string SoftwareQuery = "SELECT * FROM Win32_Product";
ConnectionOptions connection = new ConnectionOptions();
connection.Username = "bla bla";
connection.Password = "Password";
connection.EnablePrivileges = true;
connection.Impersonation = ImpersonationLevel.Impersonate;
ManagementScope managementScope = new ManagementScope(@"\\xxxx.xxxx.cloudapp.azure.com:3389\root\CIMV2", connection);
managementScope.Path = ManagementPath.DefaultPath;
managementScope.Connect();
ObjectQuery queryObj = new ObjectQuery(SoftwareQuery);
ManagementObjectSearcher searcher = new ManagementObjectSearcher(managementScope, queryObj);
foreach (ManagementBaseObject managementObj in searcher.Get())
{
//get the software list here
}
Примечание: Код выше* правильно работает в интрасети
Пожалуйста, дайте мне знать, у кого-нибудь есть решение по этому вопросу.