Resize-Partition

Resizes a partition and the underlying file system.

Syntax

Resize-Partition
      -DiskId <String[]>
      -Offset <UInt64[]>
      [-Size] <UInt64>
      [-CimSession <CimSession[]>]
      [-ThrottleLimit <Int32>]
      [-AsJob]
      [-PassThru]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Resize-Partition
      [-DiskNumber] <UInt32[]>
      [-PartitionNumber] <UInt32[]>
      [-Size] <UInt64>
      [-CimSession <CimSession[]>]
      [-ThrottleLimit <Int32>]
      [-AsJob]
      [-PassThru]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Resize-Partition
      -DriveLetter <Char[]>
      [-Size] <UInt64>
      [-CimSession <CimSession[]>]
      [-ThrottleLimit <Int32>]
      [-AsJob]
      [-PassThru]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Resize-Partition
      -InputObject <CimInstance[]>
      [-Size] <UInt64>
      [-CimSession <CimSession[]>]
      [-ThrottleLimit <Int32>]
      [-AsJob]
      [-PassThru]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Description

The Resize-Partition cmdlet resizes a partition and the underlying file system.

Examples

EXAMPLE 1

PS C:\>Get-Partition -DiskNumber 3 -PartitionNumber 2
Disk Number: 3 
 
PartitionNumber  DriveLetter Offset                                        Size Type 
---------------  ----------- ------                                        ---- ---- 
2                D           135266304                                931.39 GB Basic 

Resize the partition to 900GB.
PS C:\>Resize-Partition -DiskNumber 3 -PartitionNumber 2 -Size (900GB)


The partition is now 900GB.
PS C:\>Get-Partition -DiskNumber 3 -PartitionNumber 2
Disk Number: 3 
 
PartitionNumber  DriveLetter Offset                                        Size Type 
---------------  ----------- ------                                        ---- ---- 
2                D           135266304                                   900 GB Basic 

Get the partition sizes.
PS C:\>$size = (Get-PartitionSupportedSize -DiskNumber 3 -PartitionNumber 2)


Resize to the maximum size.
PS C:\>Resize-Partition -DiskNumber 3 -PartitionNumber 2 -Size $size.SizeMax

This example starts with a 931.39 GB partition.

Required Parameters

-DiskId

Specifies an ID used to identify a disk in the system.

Type:String[]
Position:Named
Default value:None
Accept pipeline input:True (ByPropertyName)
Accept wildcard characters:False
-DiskNumber

Specifies an array of disk numbers.

Type:UInt32[]
Position:0
Default value:None
Accept pipeline input:True (ByPropertyName)
Accept wildcard characters:False
-DriveLetter

Specifies a letter used to identify a drive or volume in the system.

Type:Char[]
Position:Named
Default value:None
Accept pipeline input:True (ByPropertyName)
Accept wildcard characters:False
-InputObject

Specifies the input object that is used in a pipeline command.

Type:CimInstance[]
Position:Named
Default value:None
Accept pipeline input:True (ByValue)
Accept wildcard characters:False
-Offset

Specifies the starting offset, in bytes.

Type:UInt64[]
Position:Named
Default value:None
Accept pipeline input:True (ByPropertyName)
Accept wildcard characters:False
-PartitionNumber

Specifies the number of the partition. The number of the partition to be resized.

Type:UInt32[]
Aliases:Number
Position:1
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Size

Specifies the size of the partition to create. If not specified, then the number will default to Bytes. The acceptable values for this parameter are: Bytes, KB, MB, GB, or TB. The size may be defined by a user.

Type:UInt64
Position:2
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

Optional Parameters

-AsJob

Runs the cmdlet as a background job. Use this parameter to run commands that take a long time to complete.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-CimSession

Runs the cmdlet in a remote session or on a remote computer. Enter a computer name or a session object, such as the output of a New-CimSession or Get-CimSession cmdlet. The default is the current session on the local computer.

Type:CimSession[]
Aliases:Session
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Confirm

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False
-PassThru

Sends items from the interactive window down the pipeline as input to other cmdlets. By default, this cmdlet does not generate any output.

To send items from the interactive window down the pipeline, click to select the items and then click OK. Shift-click and Ctrl-click are supported.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-ThrottleLimit

Specifies the maximum number of concurrent operations that can be established to run the cmdlet. If this parameter is omitted or a value of 0 is entered, then Windows PowerShell® calculates an optimum throttle limit for the cmdlet based on the number of CIM cmdlets that are running on the computer. The throttle limit applies only to the current cmdlet, not to the session or to the computer.

Type:Int32
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

Inputs

Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/Storage/MSFT_Partition

The Microsoft.Management.Infrastructure.CimInstance object is a wrapper class that displays Windows Management Instrumentation (WMI) objects. The path after the pound sign (#) provides the namespace and class name for the underlying WMI object.

Outputs

Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/Storage/MSFT_Partition

The Microsoft.Management.Infrastructure.CimInstance object is a wrapper class that displays Windows Management Instrumentation (WMI) objects. The path after the pound sign (#) provides the namespace and class name for the underlying WMI object.