This is the built-in help made by Microsoft for the command 'New-StoragePool', in PowerShell version 3 - as retrieved from
Windows version 'Microsoft Windows Server 2012 Standard' PowerShell help files on 2016-06-23.
For PowerShell version 3 and up, where you have Update-Help, this command was run just before creating the web pages from the help files.
Creates a new storage pool using a group of physical disks, and a specific storage subsystem exposed by a storage provider.
New-StoragePool [-StorageSubSystemFriendlyName] <String[]> [-AsJob [<SwitchParameter>]] [-CimSession <CimSession[]>] [-EnclosureAwareDefault
<Boolean>] [-LogicalSectorSizeDefault <UInt64>] [-OtherUsageDescription <String>] [-ProvisioningTypeDefault <ProvisioningType>]
[-ResiliencySettingNameDefault <String>] [-ThrottleLimit <Int32>] [-Usage <Usage>] -FriendlyName <String> -PhysicalDisks <CimInstance[]>
[<CommonParameters>]
New-StoragePool [-AsJob [<SwitchParameter>]] [-CimSession <CimSession[]>] [-EnclosureAwareDefault <Boolean>] [-LogicalSectorSizeDefault
<UInt64>] [-OtherUsageDescription <String>] [-ProvisioningTypeDefault <ProvisioningType>] [-ResiliencySettingNameDefault <String>]
[-ThrottleLimit <Int32>] [-Usage <Usage>] -FriendlyName <String> -PhysicalDisks <CimInstance[]> -StorageSubSystemUniqueId <String[]>
[<CommonParameters>]
New-StoragePool [-AsJob [<SwitchParameter>]] [-CimSession <CimSession[]>] [-EnclosureAwareDefault <Boolean>] [-LogicalSectorSizeDefault
<UInt64>] [-OtherUsageDescription <String>] [-ProvisioningTypeDefault <ProvisioningType>] [-ResiliencySettingNameDefault <String>]
[-ThrottleLimit <Int32>] [-Usage <Usage>] -FriendlyName <String> -InputObject <CimInstance[]> -PhysicalDisks <CimInstance[]>
[<CommonParameters>]
New-StoragePool [-AsJob [<SwitchParameter>]] [-CimSession <CimSession[]>] [-EnclosureAwareDefault <Boolean>] [-LogicalSectorSizeDefault
<UInt64>] [-OtherUsageDescription <String>] [-ProvisioningTypeDefault <ProvisioningType>] [-ResiliencySettingNameDefault <String>]
[-ThrottleLimit <Int32>] [-Usage <Usage>] -FriendlyName <String> -PhysicalDisks <CimInstance[]> -StorageSubSystemName <String[]>
[<CommonParameters>]
The New-StoragePool cmdlet creates a new storage pool using a group of physical disks, and a specific storage subsystem exposed by a storage
provider.
<
Get-PhysicalDisk
Get-StoragePool
Get-StorageSubsystem
Remove-StoragePool
Set-StoragePool
<
Example 1: Create a new storage pool using Storage Spaces
This line uses the Get-PhysicalDisk cmdlet to get all PhysicalDisk objects than are not yet in a (concrete) storage pool, and assigns the
array of objects to the $PhysicalDisks variable.
PS C:\> $PhysicalDisks = (Get-PhysicalDisk -CanPool $True)
This line creates a new storage pool using the $PhysicalDisks variable to specify the disks to include from the Storage Spaces subsystem
(specified with a wildcard * to remove the need to modify the friendly name for different computers).
PS C:\> New-StoragePool -FriendlyName CompanyData -StorageSubsystemFriendlyName "Storage Spaces*" -PhysicalDisks $PhysicalDisks
This example creates a new storage pool named CompanyData using the Storage Spaces subsytem, using the minimum parameters, and assuming that
there are no other storage subsystems attached to the computer that have available disks.
Example 2: Create a new pool and set defaults for virtual disks
PS C:\> $PhysicalDisks = (Get-PhysicalDisk -CanPool $True)
PS C:\> New-StoragePool -FriendlyName CompanyData -StorageSubsystemFriendlyName "Storage Spaces*" -PhysicalDisks $PhysicalDisks
-ResiliencySettingNameDefault Mirror -ProvisioningTypeDefault Thin –Verbose
This example creates a new storage pool named CompanyData using the Storage Spaces subsystem and sets default values for virtual disk creation.
Example 3: Create a new storage pool, virtual disk, partition, and volume
This line gets the storage subsystem object for the Storage Spaces subsystem, passes it to the Get-PhysicalDisk cmdlet, which then gets the
physical disks in the specified subsystem that are available to add to a storage pool, and assigns these disks to the $PhysicalDisks variable.
PS C:\> $PhysicalDisks = Get-StorageSubSystem -FriendlyName "Storage Spaces*" | Get-PhysicalDisk -CanPool $True
This line creates a new storage pool using the physical disks in the $PhysicalDisks variable, and then passes the new storage pool down the
pipeline.
PS C:\> New-StoragePool -FriendlyName CompanyData -StorageSubsystemFriendlyName "Storage Spaces*" -PhysicalDisks $PhysicalDisks |
This line creates a new virtual disk on the passed in storage pool, and then passes the new virtual disk down the pipeline.
PS C:\> New-VirtualDisk -FriendlyName UserData -Size 100GB -ProvisioningType Thin |
This line initializes the disk that was passed in, and then passes the disk down the pipeline.
PS C:\> Initialize-Disk -PassThru |
This line creates a new partition on the disk that was passed in, assigns it the next available drive letter, and then passes the partition
down the pipeline.
PS C:\> New-Partition -AssignDriveLetter -UseMaximumSize |
This line formats the partition that was passed in.
PS C:\> Format-Volume
This example creates a new storage pool, and then makes use of the pipeline to create a new virtual disk in the pool, initialize the disk,
create a new partition on the disk, and then format the new partition (volume).