2018-12-17

PowerShell: Информация о дисках и разделах

Получить информацию о дисковой подсистеме в консоли достаточно просто. Для этого есть такие инструменты как консоль wmic, и утилита diskpart. Что может предложить PowerShell на этот счёт?



Содержание




Консоль WMI


Как получить информацию о дисках и разделах в консоли WMI? Запустить консоль WMI можно набрав команду wmic в любой из командных оболочек (cmd, powershell).


Или просто запуском исполняемого файла wmic через поиск (Win+Q), или команду выполнить (Win+R).



Далее, для получения информации о дисках системы, нужно ввести команду diskdrive.


Полученный вывод не очень приятен на вид. Выводимая информация представлена в виде таблицы, из-за того, что она не помещается на экран происходит перенос строк, образую такую деструктуризацию. Окно консоли при этом развернуто на весь экран.

Есть один трюк. Можно запустить командную оболочку, развернуть ее на весь экран, и после выполнить команду wmic. По умолчанию, консоль WMI запускается отображением горизонтальной прокрутки, что говорит о том, что ширина экрана намного больше чем вмещает окно консоли. Но при первой же операции изменения размера окна, значение ширины меняется. Это же касается и действия сворачивания и разворачивания окна.


Попробуем снова ввести команду diskdrive.


С первого взгляда все хорошо. Но если выполнить прокрутку консоли в конец выведенной таблицы, то будет заметно расхождение заголовка таблицы со столбцами.


Решить проблему можно путем смены формата вывода информации.

diskdrive list brief


Вывод кратной информации, то есть только самых значимых полей таблицы. Есть еще вариант, вывод подробного списка параметров, но уже не в виде таблицы.

diskdrive list full


Замечу, что полный список полей содержит именно вывод команды diskdrive без каких либо аргументов.

Перейдем к разделам. Команды вывода информации о разделах:

:: Вывод информации о разделах всех дисков
partition

:: Вывод краткой информации
partition list brief

:: Вывод подробной информации
partition list full


Команды вывода информации о томах:

:: Вывод информации о томах разделов
volume

:: Вывод краткой информации
volume list brief

:: Вывод подробной информации
volume list full


Краткий итог по консоли WMI. Минусы - Выводимые таблицы съезжают, полученную информацию невозможно использовать кроме как вывода в файл (txt, xml, html, csv). Из плюсов - не нужны права администратора для получения информации.


Утилита diskpart


Как получить информацию о дисках и разделах с помощью diskpart? Для работы diskpart требует прав администратора. Запустить diskpart можно несколькими способами. С помощью командной оболочки (сmd, powershell) запущенной с правами администратора, просто набрав  команду diskpart.


C помощью поиска (Win+Q).


Или выполнив команду выполнить (Win+R).


Информацию о дисках можно получить выполнив команду list disk.


Вывод информации о разделах осуществим только для выбранного диска. То есть, сначала производится выбор целевого диска, после чего запрашивается список его разделов.

:: Выбор диска 0
select disk 0

:: Вывод информации о разделах диска 0
list partition


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

Информацию о томах можно получить выполнив команду list volumes.


Краткий итог по diskpart. Минусы - Невозможно использовать вывод, кроме как сохранения в файл, для получения информации нужны права администратора. Плюсы - Проще чем WMI.


PowerShell


Как получить информацию о дисках и разделах в PowerShell? PowerShell является командной оболочкой по умолчанию для операционной системы Windows 10 последних редакций.

Выполнить ее запуск можно через меню Win+X.


С помощью поиска (Win+Q).


С помощью команды выполнить (Win+R).


Открыв PowerShell, приступим к вводу команд. Получаем информацию о дисках системы.

Get-Disk


Данный командлет выводит краткую информацию, самую востребованную. Получить полный список параметров можно следующей командой:

Get-Disk | Format-List *


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

# Вывод информации о диске 0
Get-Disk 0

# Вывод информации о диске 1
Get-Disk 1

# Вывод информации о диске 2
Get-Disk 2


И соответствующий подробный вывод.

# Подробный вывод информации о диске 0
Get-Disk 0 | Format-List *


Получаем информацию о всех разделах дисков.

Get-Partition


Получаем информацию о разделах конкретного диска.

# Вывод разделов диска 0
Get-Partition 0


Получаем информацию о конкретном разделе конкретного диска.

# Вывод раздела 4 диска 0
Get-Partition 0 4


Получить полный список параметров для каждой из указанных выше команд, можно передав их по конвейеру командлету Format-List.

# Получение всех параметров раздела 4 диска 0
Get-Partition 0 4 | Format-List *


Перейдем к томам. В чем разница между томами и разделами? Если раздел, это физическая часть диска (часть секторов диска), то том, это логическое представление раздела (доступное пространство раздела с файловой системой).

Понять суть томов может пример расширенного раздела (extended partition). Расширенный раздел может содержать в себе сколько угодно логических разделов.

Выводим список томов.

Get-Volume


Получить информацию о конкретном томе, можно указав в качестве аргумента его букву.

# Вывод информации о томе C:
Get-Volume C

# Вывод информации о томах D: и E:
Get-Volume D,E


Подробный вывод всех параметров конкретного раздела можно реализовать в конвейере с командлетом Format-List.

Get-Volume C | Format-List *


Так как тома это логические устройства, они выводятся обычным списком, без указания принадлежности к конкретному диску или разделу. PowerShell очень гибкая командная оболочка, и позволяет узнать подобную информацию.

Вывод томов принадлежащих к конкретному диску.

# Вывод всех томов для диска 0
Get-Partition 0 | Get-Volume


Вывод томов принадлежащих к конкретному разделу диска.

# Вывод всех томов для раздела 4 диска 0
Get-Partition 0 4 | Get-Volume


Краткий итог по PowerShell - В разы лучше и удобнее предыдущих инструментов.


Итог


В статье было рассмотрено: Как вывести информацию о дисках в PowerShell? Как вывести информацию о разделах в PowerShell? Как вывести информацию о томах в PowerShell? Как вывести информацию о разделах конкретного диска в PowerShell? Как вывести информацию о томах конкретного диска в PowerShell? Как вывести информацию о томах конкретного раздела в PowerShell? Как вывести информацию о дисках и разделах с помощью консоли WMI? Как вывести информацию о дисках и разделах с помощью утилиты diskpart?

Комментариев нет :

Отправить комментарий