 
    У цій статті ми розглянемо процес управління дисками, розділами і томами з командного рядка PowerShell. Всі операції по роботі з локальними дисками і розділами, які ви звикли виконувати за допомогою графічної консолі "Управління дисками" (diskmgmt.msc) або з командного рядка утиліти diskpart.exe, ви можете виконати з PowerShell. Командлети управління дисками включені в модуль Storage, доступний в PowerShell 3.0. Ми подивимося як форматувати диск, створити на ньому таблицю розділів, розділ і відформатувати його. Розглянуті нижче команди будуть працювати в Windows 10 / Server 2016 і Windows 8.1 / Server 2012 R2 (в попередніх версіях Windows доведеться спочатку оновити PowerShell).
зміст:
- Виведення списку дисків і розділів на них
- ініціалізація диска
- Створюємо розділи на диску
- Форматування розділу з PowerShell
- Видалення розділів на диску
У Windows 10 в модулі Storage є 160 команд. Щоб вивести всі доступні команди управління дисками, виконайте:
Get-Command -Module Storage

Виведення списку дисків і розділів на них
Перш за все спробуйте вивести список дисків, доступних на логічному рівні у вашій системі. Для цього виконайте команду:
Get-Disk | ft -AutoSize
Щоб вибрати тільки системний диск, на якому встановлена Windows, виконайте команду:
Get-Disk | Where-Object IsSystem -eq $ True | fl
Як ви бачите, команда повернула наступні атрибути системного диска (їх також можна використовувати в вибірці):
UniqueId: SCSI \ DISK & VEN_VMWARE & PROD_VIRTUAL_DISK \ 5 & 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 | 
Ви можете вивести список розділів на всіх дисках:
Get-Partition
Або розділи тільки на зазначених дисках:
Get-Partition -DiskNumber 1,2
Щоб вивести список всіх логічних розділів в Windows виконайте:
Get-Volume

ініціалізація диска
У попередньому прикладі ви бачили, що один з дисків знаходиться в офлайн стані і має розмітку 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






 
                         
                     
                     
                     
                    