PowerShell Commands

New-Partition

New-Partition [-DiskNumber*] <UInt32[]> [-Alignment <UInt32>] [-AssignDriveLetter] [-CimSession <CimSession[]>][-DriveLetter <Char>] [-GptType <String>] [-IsActive] [-IsHidden] [-MbrType {FAT12 | FAT16 | Extended | Huge | IFS| FAT32}] [-Offset <UInt64>] [-Size <UInt64>] [-ThrottleLimit <Int32>] [-UseMaximumSize] [<CommonParameters>]
New-Partition [-Alignment <UInt32>] [-AssignDriveLetter] [-CimSession <CimSession[]>] [-DriveLetter <Char>][-GptType <String>] [-IsActive] [-IsHidden] [-MbrType {FAT12 | FAT16 | Extended | Huge | IFS | FAT32}] [-Offset<UInt64>] [-Size <UInt64>] [-ThrottleLimit <Int32>] [-UseMaximumSize] -DiskId* <String[]> [<CommonParameters>]
New-Partition [-Alignment <UInt32>] [-AssignDriveLetter] [-CimSession <CimSession[]>] [-DriveLetter <Char>][-GptType <String>] [-IsActive] [-IsHidden] [-MbrType {FAT12 | FAT16 | Extended | Huge | IFS | FAT32}] [-Offset<UInt64>] [-Size <UInt64>] [-ThrottleLimit <Int32>] [-UseMaximumSize] [<CommonParameters>]
New-Partition [-Alignment <UInt32>] [-AssignDriveLetter] [-CimSession <CimSession[]>] [-DriveLetter <Char>][-GptType <String>] [-IsActive] [-IsHidden] [-MbrType {FAT12 | FAT16 | Extended | Huge | IFS | FAT32}] [-Offset<UInt64>] [-Size <UInt64>] [-ThrottleLimit <Int32>] [-UseMaximumSize] -DiskPath* <String[]> [<CommonParameters>]

The New-Partition cmdlet creates a partition on a specified Disk object. Note: This cmdlet does not support creating dynamic volumes.

Parameters

-Alignment [<UInt32>]

Specifies the alignment boundary in bytes.

-AssignDriveLetter [<SwitchParameter>]

Assigns a drive letter to the new partition.

-CimSession [<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.

-DiskId <String[]>

  • This value is required
  • Accepts pipeline input ByPropertyName

Specifies the ID of the disk on which to create the partition.

-DiskNumber <UInt32[]>

  • This value is required
  • Accepts pipeline input ByPropertyName

Specifies an array of disk numbers.

-DiskPath <String[]>

  • This value is required
  • Accepts pipeline input ByPropertyName

Specifies the path of the disk on which to create the partition.

-DriveLetter [<Char>]

Specifies the specific drive letter to assign to the new partition.

-GptType [<String>]

Specifies the type of GPT partition to create (by GUID). By default, the New-Partition cmdlet creates a basic GPT data partition.

The GUIDs of valid types are:

-- System Partition (c12a7328-f81f-11d2-ba4b-00a0c93ec93b)

-- Microsoft Reserved (e3c9e316-0b5c-4db8-817d-f92df00215ae)

-- Basic data (ebd0a0a2-b9e5-4433-87c0-68b6b72699c7)

-- Microsoft Recovery (de94bba4-06d1-4d40-a16a-bfd50179d6ac)

-IsActive [<SwitchParameter>]

Specifies that the object is marked active.

-IsHidden [<SwitchParameter>]

Creates a hidden partition.

-MbrType [<MbrType>]

Specifies the type of MBR partition to create. Valid types are: Extended, FAT12, FAT16, FAT32, Huge, and IFS.

-Offset [<UInt64>]

Specifies the starting offset, in bytes.

-Size [<UInt64>]

Specifies the size of the partition to create. If not specified, then the units will default to Bytes. The acceptable value for this parameter is a positive number followed by the one of the following unit values: Bytes, KB, MB, GB, or TB.

-ThrottleLimit [<Int32>]

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 PowerShellr 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.

-UseMaximumSize [<SwitchParameter>]

Creates the largest possible partition on the specified disk.

<CommonParameters>

This cmdlet supports the common parameters: Verbose, Debug,ErrorAction, ErrorVariable, WarningAction, WarningVariable,OutBuffer, PipelineVariable, and OutVariable.

Inputs
Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/Storage/MSFT_Disk
http://msdn.microsoft.com/library/windows/desktop/hh830493.aspx You can pipe a Disk object to the InputObject parameter.
Outputs
Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/Storage/MSFT_Partition
http://msdn.microsoft.com/library/windows/desktop/hh830524.aspx This cmdlet outputs an object that represents the newly created partition.
Examples
  1. Create a new partition on disk 1:
    PS C:\>  New-Partition -DiskNumber 1 -UseMaximumSize -AssignDriveLetter
    

    This example creates a new partition on disk 1, using the maximum available space, and automatically assigning a drive letter.

  2. Get all RAW disks, initialize the disks, partition, and format them:
    1. This line gets all disk objects and then pipes the objects to the next command.:
      PS C:\> Get-Disk |
      
         This line selects only objects where the PartitionStyle property value equals "RAW", and then pipes the objects to 

      This line gets all disk objects and then pipes the objects to the next command.

    2. the next command:
      PS C:\> Where-Object PartitionStyle -Eq "RAW" |
      
         This line initializes all Disk objects in the pipeline and then pipes the objects to the next cmdlet.
      
      PS C:\> Initialize-Disk -PassThru |
      
         This line creates a maximum sized partition on each initialized Disk object, assigns a drive letter to the 
         partitions, and then pipes the objects to the next cmdlet.
      
      PS C:\> New-Partition -AssignDriveLetter -UseMaximumSize |
      
         This line formats all newly partitioned disks.
      
      PS C:\> Format-Volume
      

      This example uses five cmdlets and the pipeline to get all disks, filter them for only RAW, unpartitioned disks, initialize the disks, partition the disks, and then format them.

This work is licensed under a Creative Commons Attribution 4.0 International. It is attributed to Microsoft Corporation and can be found here.

PowerShell Commands