WMI Win32_NetworkConnection возвращает значение Empty при запуске от имени администратора - PullRequest
0 голосов
/ 28 октября 2019

У меня есть приложение AC #, требующее прав администратора. Это приложение должно собрать все подключенные сетевые диски и сохранить их в списке.

Мой ПК имеет 3 подключенных сетевых диска. Но когда я запускаю свое приложение как администратор, список сетевых дисков становится пустым.

Вот мой код:

public IEnumerable<NetworkConnection> GetNetworkConnections()
{
    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;
}

Я также проверил это в Windows 7 и Windows 8, и он работает. Только не в Windows 10.

Может быть, что диски не указаны в списке, потому что диски не были назначены в качестве администратора?

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

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