public virtual Dictionary <string, ulong> FreeSpaceOnDrives() { var freeSpace = new Dictionary <string, ulong>(); var rootDirs = GetAll(); foreach (var rootDir in rootDirs) { var pathRoot = _diskProvider.GetPathRoot(rootDir.Path); if (!freeSpace.ContainsKey(pathRoot)) { try { freeSpace.Add(pathRoot, _diskProvider.FreeDiskSpace(new DirectoryInfo(rootDir.Path))); } catch (Exception ex) { Logger.WarnException("Error getting fromm space for: " + pathRoot, ex); } } } return(freeSpace); }