Список подключенных сетевых дисков с WMI - PullRequest
0 голосов
/ 28 октября 2019

У меня есть приложение, написанное на c #, которое создает список всех подключенных сетевых дисков.

Я использовал WMI для достижения этой цели, вот как я это сделал:

List < NetworkConnection > networkConnections = new List < NetworkConnection > ();

try {
 var path = new ManagementPath();
 path.NamespacePath = "\\ROOT\\CIMV2";
 path.ClassName = "Win32_NetworkConnection"; //https://msdn.microsoft.com/en-us/library/aa394220(v=vs.85).aspx

 var management = new ManagementClass(path);

 foreach(ManagementObject obj in management.GetInstances()) {
  NetworkConnection networkConnection = new NetworkConnection() {
   LocalName = (string) obj.Properties["LocalName"].Value,
    Name = (string) obj.Properties["Name"].Value,
    RemotePath = (string) obj.Properties["RemotePath"].Value,
    UserName = (string) obj.Properties["UserName"].Value,
    IsPersistent = (bool) obj.Properties["Persistent"].Value,
    ConnectionState = (string) obj.Properties["ConnectionState"].Value
  };

  networkConnections.Add(networkConnection);
 }
} catch (Exception ex) {
 log.Error($ "Failed to get network connections.", ex);
}

return networkConnections;

Пока это работает на моих тестовых клиентах W7 и W8 64 и 32 бит. Это не будет работать на моих клиентах W10. На W10 я просто получаю список emtpy.

Похоже, что management.GetInstances () ничего не возвращает. Но почему?

Любая помощь очень ценится! Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...