Как узнать размер свободного и занятого пространства диска в PowerShell

Get-Volume для просмотра свойств логических разделов дисков

Просмотреть объём свободного и занятого места каждого логического диска вы можете командлетом

Get-Volume

Значение полей следующее:

  • DriveLetter — буква диска (или тома)
  • FriendlyName — метка диска
  • FileSystemType — тип файловой системы
  • DriveType — тип диска (Fixed это постоянный диск, а Removable это съёмный диск, например, внешний USB диск или флешка)
  • HealthStatus — статус здоровья
  • OperationalStatus — статус работы
  • SizeRemaining — оставшийся размер (свободное место на диске)
  • Size — общий размер диска

Как узнать количество свободного места на определённом диске

Вы можете получить информацию о конкретном диске, для этого укажите его букву с опцией -DriveLetter:

Get-Volume -DriveLetter C

Как вывести только размер свободного места на диске

Если вам нужен только данные о свободном месте на диске, то используйте следующую конструкцию:

(Get-Volume -DriveLetter C).SizeRemaining

Предыдущая команда выведет размер свободной области к байтах, чтобы перевести в гигабайты и терабайты используйте следующие конструкции (не забудьте указать букву интересующего вас диска вместо «C»):

(Get-Volume -DriveLetter C).SizeRemaining/1GB
(Get-Volume -DriveLetter C).SizeRemaining/1TB

Как просмотреть размер неразмеченных дисков

Диски с неразмеченными областями, например, новые диски или диски с неподдерживаемой файловой системой (например диски Linux) не отображаются предыдущими командами.

Смотрите также: Почему Windows не видит новый диск

Для просмотра размера всех дисков, в том числе без буквы, используйте команду:

Get-Disk

Вы увидите общий размер дисков, даже если они ещё не размечены.

Get-PSDrive – универсальный командлет для просмотра свойств всех типов дисков

Командлет Get-PSDrive получает диски в текущем сеансе. Вы можете получить конкретный диск или все диски в сеансе.

Этот командлет получает следующие типы дисков:

  • Логические диски Windows на компьютере, включая диски, подключённые к общим сетевым ресурсам.
  • Диски, предоставляемые поставщиками PowerShell (например, диски Certificate:, Function:, и Alias:), а также диски HKLM: и HKCU:, предоставляемые поставщиком реестра Windows PowerShell.
  • Временные диски, указанные в сеансе, и постоянные подключённые сетевые диски, которые вы создаёте с помощью командлета New-PSDrive.

Начиная с Windows PowerShell 3.0, параметр Persist командлета New-PSDrive может создавать подключённые сетевые диски, которые сохраняются на локальном компьютере и доступны в других сеансах.

Кроме того, начиная с Windows PowerShell 3.0, когда к компьютеру подключается внешний диск, Windows PowerShell автоматически добавляет PSDrive в файловую систему, представляющую новый диск. Вам не нужно перезапускать Windows PowerShell. Точно так же, когда внешний диск отключается от компьютера, Windows PowerShell автоматически удаляет PSDrive, представляющий удалённый диск.

Итак, запустим Get-PSDrive без опций:

Get-PSDrive

Вывод довольно обширный, возможно не вся информация вам требуется.

Для сокращения выводимых данных можно указать интересующий диск:

Get-PSDrive C

Теперь проще разобраться и найти интересующие поля, связанные с количеством занятого и свободного пространства на диске:

  • Used — использовано места на диске
  • Free — свободно места на диске

Чтобы вывести информацию только о дисках файловой системы, используйте команду:

Get-PSDrive -PSProvider FileSystem

Чтобы вывести только информацию об используемом и свободном пространстве определённого диска выполните команду:

Get-PSDrive C | Select-Object Used,Free

Чтобы сделать вывод более читаемым (выведет только количество свободного пространства на диске):

Get-PSDrive C | Select-Object @{Expression={$_.Free/1GB}}

Следующая команда выведет количество свободного и используемого пространства на диске:

Get-PSDrive C | Select-Object @{Expression={$_.Free/1GB}},@{Expression={$_.Used/1GB}}

Для получения информации об используемом и свободном пространстве диска удалённого компьютера используйте следующую команду (необходим Powershell Remoting):

Invoke-Command -ComputerName SRV2 {Get-PSDrive C} | Select-Object PSComputerName,Used,Free

Рекомендуется Вам:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *