Powershell информация о дисках

Узнать в Powershell свободное место на диске можно несколькими путями. Самый простой – это использовать следующий командлет:

Так мы увидим информацию о свободном месте на разделах в т.ч. на тех, которые смонтированы в виде iSCSI или VHD. Если нужно увидеть свободное место на диске удаленного компьютера, то нужно пользоваться Invoke-Command. Командлеты удаленного администрирования рассматривались тут.

Если мы хотим узнать свободное место на VHD(x) дисках виртуальной машины, то мы можем сделать так:

Проверка через Powershell свободного места на дисках через WMI

Через WMI мы можем получить такую информацию множеством способов. Мы рассмотрим пару из них. Увидеть большинство классов WMI, относящиеся к дискам можно так:

На примере класса Win32_LogicalDisk командлет выглядит так:

Т.к. данные представлены в байтах их нужно перевести в Гб для более понятного чтения:

Если мы хотим узнать свободное место на диске удаленного компьютера, то мы можем это сделать и через WMI:

О том как удаленно работать через WMI было описано здесь.

Создание загрузочных дисков и прочие полезные мелочи

Страницы

2018-12-17

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

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

Содержание

Консоль WMI

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

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

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

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

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

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

Читайте также:  Fxn1 e93839 материнская плата

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

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

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

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

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

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

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

Утилита diskpart

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

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

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

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

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

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

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

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

PowerShell

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Wileyfox swift 2 дисплей

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

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

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

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

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

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

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

В этой статье мы рассмотрим процесс управления дисками, разделами и томами из командной строки PowerShell. Все операции по работе с локальными дисками и разделами, которые вы привыкли выполнять с помощью графической консоли «Управление дисками» (diskmgmt.msc) или из командной строки утилиты diskpart.exe, вы можете выполнить из PowerShell. Командлеты управления дисками включены в модуль Storage, доступный в PowerShell 3.0. Мы посмотрим как инициализировать диск, создать на нем таблицу разделов, раздел и отформатировать его. Рассмотренные ниже команды будут работать в Windows 10 / Server 2016 и Windows 8.1/ Server 2012 R2 (в предыдущих версиях Windows придется сначала обновить PowerShell).

В Windows 10 в модуле Storage доступно 160 команд. Чтобы вывести все доступные команды управления дисками, выполните:

Get-Command -Module Storage

Вывод списка дисков и разделов на них

Прежде всего попробуйте вывести список дисков, доступных на логическом уровне в вашей системе. Для этого выполните команду:

Get-Disk | ft -AutoSize

Чтобы выбрать только системный диск, на котором установлена Windows, выполните команду:

Get-Disk | Where-Object IsSystem -eq $True | fl

Как вы видите, команда вернула следующие атрибуты системного диска (их также можно использовать в выборке):

UniqueId : SCSIDISK&VEN_VMWARE&PROD_VIRTUAL_DISK5&1EC51BF7&0&000000:DESKTOP-JOPF9
Number : 0
Path : \?scsi#disk&ven_vmware&prod_virtual_disk#5&1ec51bf7&0&000000#<53f56307-b6bf-11d0-94f2-001efb8b>
Manufacturer : VMware
Model : Virtual disk
SerialNumber :
Size : 80 GB
AllocatedSize : 85898297344
LogicalSectorSize : 512
PhysicalSectorSize : 512
NumberOfPartitions : 2
PartitionStyle : MBR
IsReadOnly : False
IsSystem : True
IsBoot : True

Можно вывести только диски со статусом Offline:

Get-Disk | Where-Object IsOffline –Eq $True| ft –AutoSize

Если вам нужна информация о физических дисках (характеристики и состояние физических дисков на компьютере), используйте командлет Get-PhysicalDisk (ранее мы показывали как с помощью командлета Get-PhysicalDisk можно определить неисправный диск в Storage Spaces Direct и его использование при настройке отказоустойчивого хранилища S2D).

С помощью PowerShell вы можете определить тип подключенного накопителя SSD или HDD (обычно подключен через шину SATA) или USB флешка (тип UnSpecified).

DeviceId Model MediaType BusType Size

0 TOSHIBA MK3775VSXP HDD SATA 500156374016

1 Samsung SSD 840 PRO Series SSD SATA 128060514304

2 Transcend UnSpecified USB 128169757184

Читайте также:  Delta gps 550ab a

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

Либо разделы только на указанных дисках:

Get-Partition –DiskNumber 1,2

Чтобы вывести список всех логических разделов в Windows выполните:

Инициализация диска

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

Прежде всего нужно перевести такой диск в онлайн:

Get-Disk | Where-Object IsOffline –Eq $True | Set-Disk –IsOffline $False

Теперь можно инициализировать этот диск (его индекс 1):

Initialize-Disk -Number 1

По умолчанию на диске создается таблица разделов GPT (GUID), если вам нужна именно MBR, выполните команду:

Initialize-Disk 1 –PartitionStyle MBR

Чтобы не указывать номер диска, можно инициализировать все диски с таблицей разделов RAW:

Get-Disk | Where-Object PartitionStyle –Eq ‘RAW’ | Initialize-Disk

Создаем разделы на диске

Чтобы создать новый раздел на диске используется командлет New-Partition. Создадим раздел размером 10 Гб и назначим ему букву диска L:

New-Partition –DiskNumber 1 -Size 10gb -DriveLetter L

Если раздел должен занимать все доступное место на диске, используйте атрибут UseMaximumSize. Для автоматического назначения буквы диска используется параметр AssignDriveLetter (иногда буква диска может автоматически на назначаться).

New-Partition –DiskNumber 1 -AssignDriveLetter –UseMaximumSize

Вы можете изменить назначенную букву диска так:

Set-Partition –DriveLetter L -NewDriveLetter U

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

Get-PartitionSupportedSize -DriveLetter L | Format-List

Потом можно увеличить размер раздела до максимального:

$MaxSize = (Get-PartitionSupportedSize -DriveLetter L).SizeMax
Resize-Partition -DriveLetter L -Size $MaxSize

Если нужно сделать конкретный раздел активным используется команда:

Set-Partition -DriveLetter T -IsActive $true

Форматирование раздела из PowerShell

Отформатируем полученный раздел в файловой системе NTFS и зададим метку тома DBData:

Format-Volume -DriveLetter L -FileSystem NTFS -NewFileSystemLabel DBData -Confirm:$false

Удаление разделов на диске

Чтобы удалить все разделы на дисках 1 и 2 без подтверждения, выполните команду:

Get-Partition –DiskNumber 1,2 | Remove-Partition -Confirm:$false

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

Clear-Disk -Number 1 -RemoveData -Confirm:$false

Если на диски имеются OEM разделы (OEM раздел восстановления, EFI раздел , System Reserved) для их удаления нужно исползовать параметр RemoveOEM:

Clear-Disk -Number 1 -RemoveData –RemoveOEM

Следующая однострочная PowerShell команда инициализирует все новые подключенные диски типа RAW, создаст на них таблицу разделов и создаст раздел с файловой системой NTFS максимального размера. Ее удобно использовать при подключении нового диска:

Get-Disk |Where-Object PartitionStyle -eq ‘RAW’ |Initialize-Disk -PartitionStyle MBR -PassThru |New-Partition -AssignDriveLetter -UseMaximumSize |Format-Volume -FileSystem NTFS -Confirm:$false

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

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

Adblock detector