Вступление 

Мощь PowerShell для управления дисковым пространством

Утилита diskpart долгое время была стандартным инструментом для управления дисками в Windows. Однако современные задачи требуют современных решений. PowerShell предоставляет гораздо более мощный, гибкий и главное — автоматизируемый подход к работе с дисками и разделами. В этой статье мы подробно разберем, как с помощью командлетов PowerShell выполнять все основные операции с дисковым пространством: от инициализации новых дисков до создания разделов и их форматирования.


Подготовка и первые шаги

Перед началом работы убедитесь, что вы запускаете PowerShell от имени администратора. Это необходимо для получения всех требуемых прав на управление системными ресурсами.

Основным модулем для работы является Storage, который по умолчанию доступен в Windows 10 и Windows Server 2012/2016/2019 и выше. Все операции мы будем выполнять с помощью cmdlet из этого модуля.

Первым делом получим список всех дисков, подключенных к системе:

powershell
Get-Disk

Эта команда выведет таблицу с номером диска (Number), его размером, статусом операционной системы (OperationalStatus) и стилем разделов (PartitionStyle — MBR или GPT).


Основные операции: от диска к разделу

Процесс подготовки диска к работе состоит из нескольких ключевых этапов.

1. Инициализация нового диска

Часто только что подключенный диск имеет статус «Не инициализирован» (Unknown). Прежде чем использовать его, необходимо инициализировать, выбрав стиль разделов: устаревший MBR или современный GPT.

powershell
Initialize-Disk -Number 1 -PartitionStyle GPT
  • -Number 1 — номер диска, который вы увидели в выводе Get-Disk.

  • -PartitionStyle GPT (рекомендуется) или -PartitionStyle MBR.

2. Создание разделов (Partition)

После инициализации на диске нужно создать раздел. Можно создать один большой раздел или несколько.

powershell
New-Partition -DiskNumber 1 -UseMaximumSize -AssignDriveLetter
  • -DiskNumber 1 — указываем, на каком диске создавать раздел.

  • -UseMaximumSize — использовать все доступное пространство диска.

  • -AssignDriveLetter — автоматически назначить букву диска (например, E:).

Если нужно создать раздел определенного размера (например, 50 ГБ), используйте параметр -Size:

powershell
New-Partition -DiskNumber 1 -Size 50GB -AssignDriveLetter

3. Форматирование раздела в файловую систему

Созданный раздел необходимо отформатировать. Чаще всего используются файловые системы NTFS или ReFS.

powershell
Get-Partition -DiskNumber 1 -PartitionNumber 1 | Format-Volume -FileSystem NTFS -NewFileSystemLabel "DataDisk"
  • Get-Partition -DiskNumber 1 -PartitionNumber 1 — находим нужный раздел.

  • Format-Volume — cmdlet для форматирования.

  • -FileSystem NTFS — указываем файловую систему.

  • -NewFileSystemLabel "DataDisk" — задаем понятную метку тома.

4. Монтирование тома в папку (без буквы диска)

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

powershell
New-Partition -DiskNumber 1 -UseMaximumSize -DriveLetter W
Add-PartitionAccessPath -DiskNumber 1 -PartitionNumber 1 -AccessPath "C:\Data"
Set-Partition -DiskNumber 1 -PartitionNumber 1 -NoDefaultDriveLetter $true

В этом примере мы сначала создаем раздел с временной буквой W, монтируем его в папку C:\Data, а затем убираем букву диска, оставляя только точку монтирования.


Продвинутые сценарии и автоматизация

Истинная сила PowerShell раскрывается в возможности объединять команды в сценарии для автоматизации рутинных задач.

Создание загрузочного USB-накопителя

Следующий скрипт отчистит флешку (DiskNumber 1), создаст на ней раздел и отформатирует его в FAT32:

powershell
Get-Disk -Number 1 | Clear-Disk -RemoveData -RemoveOEM -Confirm:$false
Initialize-Disk -Number 1 -PartitionStyle MBR
$Partition = New-Partition -DiskNumber 1 -UseMaximumSize -IsActive -AssignDriveLetter
Format-Volume -DriveLetter $Partition.DriveLetter -FileSystem FAT32 -NewFileSystemLabel "WinPE"

Полная подготовка диска одной командой

Комбинируя cmdlet через конвейер (|), можно выполнить всю подготовку диска одной строкой:

powershell
Get-Disk -Number 1 | Initialize-Disk -PartitionStyle GPT -PassThru | New-Partition -UseMaximumSize -AssignDriveLetter | Format-Volume -FileSystem NTFS -NewFileSystemLabel "NewVolume" -Confirm:$false
  • -PassThru — передает результат работы предыдущего cmdlet следующему по конвейеру.


Полезные команды для диагностики и мониторинга

  • Просмотр разделов на конкретном диске:

    powershell
    Get-Partition -DiskNumber 1
  • Получение информации о всех томах:

    powershell
    Get-Volume
  • Проверка свободного места:

    powershell
    Get-Volume | Where-Object {$_.DriveType -eq 'Fixed'} | Select-Object DriveLetter, SizeRemaining, Size
  • Удаление раздела (Осторожно! Данные будут утеряны):

    powershell
    Get-Partition -DiskNumber 1 -PartitionNumber 2 | Remove-Partition -Confirm:$false

Заключение

PowerShell предлагает целостный, мощный и скриптуемый подход к управлению дисками в Windows. Освоив базовые cmdlet, такие как Get-DiskInitialize-DiskNew-Partition и Format-Volume, вы сможете не только легко готовить новые накопители, но и создавать сложные сценарии для развертывания в корпоративной среде, автоматизируя рутинные задачи по обслуживанию серверов и рабочих станций.

Переход от консольной diskpart к скриптовому PowerShell — это шаг от ручного управления к эффективной и масштабируемой IT-инфраструктуре.

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

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