WMI Class Win32_perfrawdata_termservice_terminalservicessessessessessess не существует после обновления до KB2267602C#

Место общения программистов C#
Ответить
Anonymous
 WMI Class Win32_perfrawdata_termservice_terminalservicessessessessessess не существует после обновления до KB2267602

Сообщение Anonymous »

После установки «Обновление интеллекта безопасности для антивируса Microsoft Defender - KB2267602 (версия 1.431.159.0) - текущий канал (широкий)». Следующий запрос перестает работать: < /p>
Именование: root \ cimv2 < /p>
Query: select * Win32_perfrawdata_termservice_terminalservicessessessession
Это код, который делает запрос с использованием system.management:

Код: Выделить всё

internal static List QueryInternal(string scopeNamespace, string query, bool ignoreErrors = false) {
try {
ManagementScope ws = GetManagementScope(scopeNamespace);
if (!ws.IsConnected)
throw new Exception("ManagementScope not connected");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(ws, new ObjectQuery(query));
List results = searcher.Get().Cast().OfType().ToList();
return results;
} catch (Exception e) {
lock (ManagementScopePoolLock) {
logger.Info($"Error - removing all cached scope namespaces - {e.Message}");
ManagementScopePool.Clear();
}

if (!ignoreErrors) {
logger.Error($"WMI QUERY FAILURE: namespace: \"{scopeNamespace}\" query: \"{query}\"");
throw;
} else {
logger.Warn($"WMI QUERY FAILURE: namespace: \"{scopeNamespace}\" query: \"{query}\"");
return new List();
}
}
}

< /code>
Я проверил это также с использованием wmiexplorer.
Какие альтернативы есть для этого класса? Я использую его, чтобы обнаружить, если пользователь полностью вошел или находится на экране блокировки. https://i.sstatic.net/pbvhi1vf.png
Так что кажется, что следующий код ничего не возвращает, даже не ошибка на обновленных машинах:
PerformanceCounterCategory pcc = new PerformanceCounterCategory("Terminal Services Session");
InstanceDataCollectionCollection idColCol = pcc.ReadCategory();
foreach (var idCol in idColCol)
logger.Info($"Instance: {idCol.ToString()}");
Console.WriteLine("FINISHED");
Код выше только что напечатает законченные, что очень странно .. на моем собственном компьюте>

Подробнее здесь: https://stackoverflow.com/questions/796 ... ot-exist-a
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»