New-Volume

New-Volume

Creates a volume with the specified file system.

Syntax

Parameter Set: ByFriendlyName
New-Volume [-StoragePoolFriendlyName] <String[]> -FileSystem <FileSystem> -FriendlyName <String> [-AccessPath <String> ] [-AsJob] [-CimSession <CimSession[]> ] [-NumberOfColumns <UInt16> ] [-PhysicalDiskRedundancy <UInt16> ] [-ProvisioningType <ProvisioningType> ] [-ResiliencySettingName <String> ] [-Size <UInt64> ] [-StorageTiers <CimInstance[]> ] [-StorageTierSizes <UInt64[]> ] [-ThrottleLimit <Int32> ] [ <CommonParameters>]

Parameter Set: ByName
New-Volume -FileSystem <FileSystem> -FriendlyName <String> -StoragePoolName <String[]> [-AccessPath <String> ] [-AsJob] [-CimSession <CimSession[]> ] [-NumberOfColumns <UInt16> ] [-PhysicalDiskRedundancy <UInt16> ] [-ProvisioningType <ProvisioningType> ] [-ResiliencySettingName <String> ] [-Size <UInt64> ] [-StorageTiers <CimInstance[]> ] [-StorageTierSizes <UInt64[]> ] [-ThrottleLimit <Int32> ] [ <CommonParameters>]

Parameter Set: ByUniqueId
New-Volume -FileSystem <FileSystem> -FriendlyName <String> -StoragePoolUniqueId <String[]> [-AccessPath <String> ] [-AsJob] [-CimSession <CimSession[]> ] [-NumberOfColumns <UInt16> ] [-PhysicalDiskRedundancy <UInt16> ] [-ProvisioningType <ProvisioningType> ] [-ResiliencySettingName <String> ] [-Size <UInt64> ] [-StorageTiers <CimInstance[]> ] [-StorageTierSizes <UInt64[]> ] [-ThrottleLimit <Int32> ] [ <CommonParameters>]

Parameter Set: InputObject (cdxml)
New-Volume -FileSystem <FileSystem> -FriendlyName <String> -InputObject <CimInstance[]> [-AccessPath <String> ] [-AsJob] [-CimSession <CimSession[]> ] [-NumberOfColumns <UInt16> ] [-PhysicalDiskRedundancy <UInt16> ] [-ProvisioningType <ProvisioningType> ] [-ResiliencySettingName <String> ] [-Size <UInt64> ] [-StorageTiers <CimInstance[]> ] [-StorageTierSizes <UInt64[]> ] [-ThrottleLimit <Int32> ] [ <CommonParameters>]

Detailed Description

The New-Volume cmdlet creates a volume with the specified file system. The cmdlet manages the creation of the virtual disk with the specified size and resiliency setting, initializes the disk, creates a partition on it and formats the volume with the specified file system, including Cluster Shared Volumes (CSVs).

Parameters

-AccessPath<String>

Specifies a drive letter or a mount point to assign to the volume.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-AsJob

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

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

Aliases

Session

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-FileSystem<FileSystem>

Specifies the file system to use for the volume. The cmdlet formats the volume with the file system you specify. The acceptable values for this parameter are:

-- NTFS
-- ReFS
-- CSVFS_NTFS
-- CSVFS_ReFS

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-FriendlyName<String>

Specifies a friendly name. The cmdlet creates the volume with this name.

Aliases

VolumeFriendlyName

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-InputObject<CimInstance[]>

Specifies the input to this cmdlet. You can use this parameter, or you can pipe the input to this cmdlet.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-NumberOfColumns<UInt16>

Specifies the number of columns to create on the virtual disk.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-PhysicalDiskRedundancy<UInt16>

Specifies the physical disk redundancy value to use during the creation of the virtual disk. This value represents how many failed physical disks the virtual disk can tolerate without data loss for two-way mirror spaces (1), three-way mirror spaces (2), single-parity spaces (1), and dual parity spaces (2)..

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ProvisioningType<ProvisioningType>

Specifies the type of provisioning. The acceptable values for this parameter are: Fixed, or Thin. Storage spaces that use storage tiers or dual parity must use Fixed provisioning.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ResiliencySettingName<String>

Specifies the name of the desired resiliency setting, for example, Simple, Mirror, or Parity.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Size<UInt64>

Specifies the size of the volume to create.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-StoragePoolFriendlyName<String[]>

Specifies an array of storage pool friendly names. The cmdlet creates the volume in the storage pools you specify.

Aliases

none

Required?

true

Position?

1

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-StoragePoolName<String[]>

Specifies an array of storage pool names. The cmdlet creates the volume in the storage pools you specify.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-StoragePoolUniqueId<String[]>

Specifies an array of unique IDs, as strings. The cmdlet creates the volume in the storage pools you specify.

Aliases

StoragePoolId

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-StorageTiers<CimInstance[]>

Specifies an array of storage tiers. The cmdlet creates the virtual disk for the volume with the storage tiers you specify. To obtain a storage tier object, use the New-StorageTier cmdlet.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-StorageTierSizes<UInt64[]>

Specifies an array of storage tier sizes. The cmdlet creates the virtual disk for the volume with the storage tier sizes you specify.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

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

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

<CommonParameters>

This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, and -OutVariable. For more information, see    about_CommonParameters (https://go.microsoft.com/fwlink/p/?LinkID=113216).

Inputs

The input type is the type of the objects that you can pipe to the cmdlet.

Outputs

The output type is the type of the objects that the cmdlet emits.

Notes

  • To create a volume on a new storage space with enclosure-awareness enabled (providing resiliency for an entire JBOD enclosure failure), use the Set-StoragePool cmdlet with the –EnclosureAwareDefault $true parameter to set the storage pool to create storage spaces with enclosure awareness enabled by default.

Examples

Example 1: Create a volume on a mirror space

This command creates a new storage space in the CompanyData pool using the Mirror resiliency setting and fixed provisioning, and then formats the volume with the NTFS file system and assigns drive letter M.

PS C:\> New-Volume -StoragePoolName "CompanyData" -FriendlyName "TestVolume" -Size 10GB -ResiliencySettingName "Mirror" -FileSystem NTFS -AccessPath "M: "-ProvisioningType Fixed

Example 2: Create a volume on a new tiered storage space

This command creates new storage space in the CompanyData pool using the Mirror resiliency setting, fixed provisioning, a 20 GB SSD storage tier, and an 80 GB HDD storage tier, and then formats the volume with the NTFS file system and assigns drive letter M.

PS C:\> New-Volume -StoragePoolFriendlyName "CompanyData" -FriendlyName "UserData" -AccessPath "M:" -ResiliencySettingName "Mirror" -ProvisioningType "Fixed" -StorageTiers (Get-StorageTier -FriendlyName "*SSD*"), (Get-StorageTier -FriendlyName "*HDD*") -StorageTierSizes 20GB, 80GB -FileSystem NTFS