Administración de discos y particiones con Windows PowerShell
En este artículo, veremos la administración de discos, particiones y volúmenes desde la consola de PowerShell. Puede realizar desde PowerShell todas las operaciones de administración de discos y particiones locales, que está acostumbrado a realizar desde la GUI de "Administración de discos" (diskmgmt.msc) o desde la herramienta de línea de comandos diskpart.exe. Los cmdlets de administración de discos se incluyen en el módulo Almacenamiento disponible en PowerShell 3.0. Consideraremos cómo inicializar un disco, crear una tabla de particiones en él, crear un volumen y formatearlo. Los comandos que se proporcionan a continuación funcionarán en Windows 10/Server 2016 y Windows 8.1/Server 2012 R2 (para versiones anteriores de Windows, primero deberá actualizar PowerShell).
Hay 160 cmdlets de PowerShell en el módulo de almacenamiento en Windows 10. Para mostrar todos los comandos disponibles relacionados con la administración de discos, ejecute el siguiente comando:
Get-Command -Module StorageImportante. Tenga mucho cuidado al administrar discos y particiones desde PowerShell para no eliminar o formatear accidentalmente una partición que contenga datos.
PowerShell: lista de discos y particiones locales
En primer lugar, intente mostrar la lista de discos locales disponibles en su sistema a nivel lógico. Para hacerlo, ejecute este comando:
Get-Disk | ft -AutoSize
Para seleccionar solo el disco del sistema en el que está instalado Windows, ingrese el siguiente comando:
Get-Disk | Where-Object IsSystem -eq $True | flComo puede ver, el comando ha devuelto los siguientes atributos del disco del sistema (también puede usarlos en la selección):
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&1ec42ba7&0&000000#{21f23456-a6bf-12d0-94f2-001efb8b}
Manufacturer : VMware
Model : Virtual disk
SerialNumber :
Size : 98 GB
AllocatedSize : 98432321434
LogicalSectorSize : 512
PhysicalSectorSize : 512
NumberOfPartitions : 2
PartitionStyle : MBR
IsReadOnly : False
IsSystem : True
IsBoot : True
Solo puede mostrar discos sin conexión:
Get-Disk | Where-Object IsOffline -Eq $True| ft -AutoSizeSi necesita información sobre los discos físicos (las características y el estado de los discos físicos en una computadora), use el cmdlet Get-PhysicalDisk (anteriormente mostramos cómo detectar un disco físico fallido en Storage Spaces Direct usando Get -PhysicalDisk cmdlet y cómo usarlo, luego configure un almacenamiento S2D tolerante a fallas).
Puede detectar el tipo de disco conectado: SSD, HDD (generalmente conectado a través del bus SATA) o una unidad flash USB (tipo de medio no especificado).
DeviceId Model MediaType BusType Size
——— —— ——— ——- —-
0 TOSHIBA MK3775VSXP HDD SATA 500156374016
1 Samsung SSD 840 PRO Series SSD SATA 128060514304
2 Transcend UnSpecified USB 128169757184Puede mostrar la lista de particiones en todos los discos:
Get-PartitionO particiones solo en los discos especificados:
Get-Partition -DiskNumber 1,2Para mostrar la lista de todos los volúmenes en Windows, ejecute este comando:
Get-Volume
Inicialización de disco en PowerShell
En el ejemplo anterior, ha visto que uno de los discos está sin conexión y tiene una etiqueta RAW en la columna Estilo de partición. Intentemos inicializarlo, crear una tabla de particiones GPT o MBR y crear una nueva partición en ella.
En primer lugar, debe obtener el disco en línea:
Get-Disk | Where-Object IsOffline -Eq $True | Set-Disk -IsOffline $FalseAhora puedes inicializarlo (su índice es 1):
Initialize-Disk -Number 1De forma predeterminada, se crea una tabla de particiones GPT (GUID) en un disco, pero si necesita una MBR, ejecute este comando:
Initialize-Disk 1 -PartitionStyle MBRSi hay algunos datos en el disco, puede cambiar la tabla de particiones de MBR a GPT sin eliminar los datos con la herramienta mbr2gpt.exe.
Para no especificar el número de disco, puede inicializar todos los discos con la tabla de particiones RAW:
Get-Disk | Where-Object PartitionStyle -Eq 'RAW' | Initialize-DiskTenga en cuenta que un disco puede tener el estado RAW cuando la tabla de particiones está dañada. Puede intentar recuperar la tabla de particiones y los datos en su disco RAW usando la herramienta testdisk.
¿Cómo crear particiones en un disco?
Para crear una nueva partición en un disco, se usa el cmdlet New-Partition . Vamos a crear una partición de 10 GB y asignarle la letra L::
New-Partition -DiskNumber 1 -Size 10gb -DriveLetter L
Si desea que la partición ocupe todo el espacio disponible en el disco, use el atributo UseMaximumSize. Para asignar una letra automáticamente, se usa el parámetro AssignDriveLetter (a veces Windows no asigna una letra de unidad automáticamente).
New-Partition -DiskNumber 1 -AssignDriveLetter -UseMaximumSizePuede cambiar la letra asignada usando este comando:
Set-Partition -DriveLetter L -NewDriveLetter USi desea expandir la partición existente, primero muestre el espacio no asignado disponible para extender esta partición:
Get-PartitionSupportedSize -DriveLetter L | Format-ListLuego puede extender el tamaño de la partición al máximo:
$MaxSize = (Get-PartitionSupportedSize -DriveLetter L).SizeMax
Resize-Partition -DriveLetter L -Size $MaxSizeSi desea activar una partición, se utiliza este comando:
Set-Partition -DriveLetter U -IsActive $trueFormateo de una partición con PowerShell
Formateemos una nueva partición en NTFS y configuremos la etiqueta de volumen DBData:
Format-Volume -DriveLetter L -FileSystem NTFS -NewFileSystemLabel DBData -Confirm:$false¿Cómo quitar particiones de un disco?
Para eliminar todas las particiones en los discos 1 y 2 sin confirmación, ejecute este comando:
Get-Partition -DiskNumber 1,2 | Remove-Partition -Confirm:$falsePara eliminar todas las particiones de los discos y borrar completamente los datos, ejecute el comando
Clear-Disk -Number 1 -RemoveData -Confirm:$falseSi hay particiones OEM en un disco (partición de recuperación OEM, partición EFI, sistema reservado), utilice el parámetro RemoveOEM para eliminarlas:
Clear-Disk -Number 1 -RemoveData -RemoveOEMEl próximo PowerShell one-liner inicializará todos los nuevos discos de tipo RAW conectados, creará la tabla de particiones en ellos y creará particiones NTFS con el tamaño máximo disponible. Es conveniente usarlo al conectar un nuevo disco:
Get-Disk |Where-Object PartitionStyle -eq 'RAW' |Initialize-Disk -PartitionStyle MBR -PassThru |New-Partition -AssignDriveLetter -UseMaximumSize |Format-Volume -FileSystem NTFS -Confirm:$false







