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 Almacenamiento módulo 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 de Windows 10. Para mostrar todos los comandos disponibles relacionados con la administración de discos, ejecute el siguiente comando:
Get-Command -Module Storage
Importante. Tenga mucho cuidado al administrar discos y particiones desde PowerShell para no eliminar o formatear accidentalmente una partición que contenga datos.
PowerShell: enumerar particiones y discos locales
En primer lugar, intente mostrar la lista de discos locales disponibles en su sistema en el 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 | fl
Como puede ver, el comando ha devuelto los siguientes atributos del disco del sistema (también puede usarlos en la selección):
UniqueId : SCSIDISK&VEN_VMWARE&PROD_VIRTUAL_DISK5&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 –AutoSize
Si necesita la información sobre los discos físicos (las características y el estado de los discos físicos en una computadora), utilice Get-PhysicalDisk cmdlet (anteriormente mostramos cómo detectar un disco físico fallido en Storage Spaces Direct usando el cmdlet Get-PhysicalDisk y cómo usarlo y luego configurar un almacenamiento S2D tolerante a fallas).
Puede detectar el tipo de disco conectado: SSD, HDD (normalmente 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 128169757184
Puede mostrar la lista de particiones en todos los discos:
Get-Partition
O particiones solo en los discos especificados:
Get-Partition –DiskNumber 1,2
Para mostrar la lista de todos los volúmenes en Windows, ejecute este comando:
Get-Volume
Tenga en cuenta que la numeración del disco comienza desde 0 y la numeración de partición, desde 1.
Inicialización de disco en PowerShell
En el ejemplo anterior, ha visto que uno de los discos está fuera de línea y tiene una etiqueta RAW en la columna Estilo de partición. Intentemos inicializarlo, creemos una tabla de particiones GPT o MBR y creemos 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 $False
Ahora puede inicializarlo (su índice es 1):
Initialize-Disk -Number 1
De 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 MBR
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-Disk
¿Cómo crear particiones en un disco?
Para crear una nueva partición en un disco, el Nueva partición Se utiliza el cmdlet. 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 disco, utilice el UseMaximumSize atributo. Para asignar una letra automáticamente, el AssignDriveLetter se utiliza el parámetro (a veces Windows no asigna una letra de unidad automáticamente).
New-Partition –DiskNumber 1 -AssignDriveLetter –UseMaximumSize
Puede cambiar la letra asignada usando este comando:
Set-Partition –DriveLetter L -NewDriveLetter U
Si desea expandir la partición existente, primero muestre el espacio no asignado disponible para extender esta partición:
Get-PartitionSupportedSize -DriveLetter L | Format-List
Entonces puedes extender el tamaño de la partición al máximo:
$MaxSize = (Get-PartitionSupportedSize -DriveLetter L).SizeMax
Resize-Partition -DriveLetter L -Size $MaxSize
Si desea activar una partición, se utiliza este comando:
Set-Partition -DriveLetter U -IsActive $true
Formatear una partición con PowerShell
Formateemos la nueva partición en NTFS y establezcamos la etiqueta de volumen DBData:
Format-Volume -DriveLetter L -FileSystem NTFS -NewFileSystemLabel DBData -Confirm:$false
¿Cómo eliminar 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:$false
Para eliminar todas las particiones de los discos y borrar completamente los datos, ejecute el comando
Clear-Disk -Number 1 -RemoveData -Confirm:$false
Si hay particiones OEM en un disco (partición de recuperación OEM, partición EFI, sistema reservado), utilice el Eliminar OEM parámetro para eliminarlos:
Clear-Disk -Number 1 -RemoveData –RemoveOEM
El siguiente resumen de PowerShell 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
Artículos Interesantes
Relacionados:
Contenido