none
disk freespace на смонтированном без буквы диске RRS feed

  • Вопрос

  • Есть такая возможность: примонтировать логический диск к папке другого диска, и при этом не назначать ему буквы.

    Все диски и точки монтирования можно получить 

    $volume = ''
    $mount = ''
    $disks = get-wmiobject -class "Win32_MountPoint"
    foreach ($disk in $disks){
       if ($disk.Directory -match "(?<name>\S+)=(?<value>\S+)") {
          $mount = $matches["value"]
          $mount = $mount -replace "\\\\","\"
       }
       if ($disk.Volume -match "(?<name>\S+)=(?<value>\S+)") {
          $volume = $matches["value"] -replace "\\\\","\"
       }
       $volume
       $mount
    }
    
    А вот как можно получить размер такого диска без буквы
    и свободное место на нём, так  и не смог найти 
    get-wmiobject -class "Win32_volume" -filter "DriveType=3" | select DeviceID, DriveLetter, DriveType, Capacity, FreeSpace
    
    
    не возвращает нужных данных для такого диска

    хотя обычная команда "dir c:\mount" возвращает нужную информацию

    P.S.

    тестировать можно на флэшке отформатированной в NTFS

    • Изменено Alex 2 24 декабря 2011 г. 19:40
    24 декабря 2011 г. 19:32

Ответы

  • У меня все прекрасно отрабатывает с классом Win32_Volume.


    PS # get-wmiobject -class "Win32_volume" -filter "DriveType=3" | select DeviceID, DriveLetter, DriveType, Capacity, Free
    Space,Name,Label
    
    
    DeviceID    : \\?\Volume{6e015563-dd44-11df-bbc3-806e6f6e6963}\
    DriveLetter : C:
    DriveType   : 3
    Capacity    : 21459722240
    FreeSpace   : 10038325248
    Name        : C:\
    Label       :
    
    
    DeviceID    : \\?\Volume{3235c2a4-2e67-11e1-8112-08002717ae55}\
    DriveLetter :
    DriveType   : 3
    Capacity    : 1069253632
    FreeSpace   : 1061215232
    Name        : C:\Mount\
    Label       : MountVol

    • Изменено KazunEditor 24 декабря 2011 г. 19:50
    • Помечено в качестве ответа Alex 2 25 декабря 2011 г. 6:42
    24 декабря 2011 г. 19:48
    Отвечающий

Все ответы

  • У меня все прекрасно отрабатывает с классом Win32_Volume.


    PS # get-wmiobject -class "Win32_volume" -filter "DriveType=3" | select DeviceID, DriveLetter, DriveType, Capacity, Free
    Space,Name,Label
    
    
    DeviceID    : \\?\Volume{6e015563-dd44-11df-bbc3-806e6f6e6963}\
    DriveLetter : C:
    DriveType   : 3
    Capacity    : 21459722240
    FreeSpace   : 10038325248
    Name        : C:\
    Label       :
    
    
    DeviceID    : \\?\Volume{3235c2a4-2e67-11e1-8112-08002717ae55}\
    DriveLetter :
    DriveType   : 3
    Capacity    : 1069253632
    FreeSpace   : 1061215232
    Name        : C:\Mount\
    Label       : MountVol

    • Изменено KazunEditor 24 декабря 2011 г. 19:50
    • Помечено в качестве ответа Alex 2 25 декабря 2011 г. 6:42
    24 декабря 2011 г. 19:48
    Отвечающий
  • точно, возвращает.

    видно, вчера "глаз замылился"

     

    25 декабря 2011 г. 6:43