Get-StoragePool

Get-StoragePool

Gets a specific storage pool, or a set of StoragePool objects either from all storage subsystems across all storage providers, or optionally a filtered subset based on specific parameters.

Syntax

Parameter Set: ByFriendlyName
Get-StoragePool [[-FriendlyName] <String[]> ] [-AsJob] [-CimSession <CimSession[]> ] [-HealthStatus <HealthStatus[]> ] [-IsPrimordial <Boolean[]> ] [-ThrottleLimit <Int32> ] [-Usage <Usage[]> ] [ <CommonParameters>]

Parameter Set: ByName
Get-StoragePool [-AsJob] [-CimSession <CimSession[]> ] [-HealthStatus <HealthStatus[]> ] [-IsPrimordial <Boolean[]> ] [-Name <String[]> ] [-ThrottleLimit <Int32> ] [ <CommonParameters>]

Parameter Set: ByPhysicalDisk
Get-StoragePool [-AsJob] [-CimSession <CimSession[]> ] [-HealthStatus <HealthStatus[]> ] [-IsPrimordial <Boolean[]> ] [-PhysicalDisk <CimInstance> ] [-ThrottleLimit <Int32> ] [ <CommonParameters>]

Parameter Set: ByResiliencySetting
Get-StoragePool [-AsJob] [-CimSession <CimSession[]> ] [-HealthStatus <HealthStatus[]> ] [-IsPrimordial <Boolean[]> ] [-ResiliencySetting <CimInstance> ] [-ThrottleLimit <Int32> ] [ <CommonParameters>]

Parameter Set: ByStorageSubSystem
Get-StoragePool [-AsJob] [-CimSession <CimSession[]> ] [-HealthStatus <HealthStatus[]> ] [-IsPrimordial <Boolean[]> ] [-StorageSubSystem <CimInstance> ] [-ThrottleLimit <Int32> ] [ <CommonParameters>]

Parameter Set: ByUniqueId
Get-StoragePool [-AsJob] [-CimSession <CimSession[]> ] [-HealthStatus <HealthStatus[]> ] [-IsPrimordial <Boolean[]> ] [-ThrottleLimit <Int32> ] [-UniqueId <String[]> ] [ <CommonParameters>]

Parameter Set: ByUsage
Get-StoragePool [-AsJob] [-CimSession <CimSession[]> ] [-HealthStatus <HealthStatus[]> ] [-IsPrimordial <Boolean[]> ] [-OtherUsageDescription <String[]> ] [-ThrottleLimit <Int32> ] [-Usage <Usage[]> ] [ <CommonParameters>]

Parameter Set: ByVirtualDisk
Get-StoragePool [-AsJob] [-CimSession <CimSession[]> ] [-HealthStatus <HealthStatus[]> ] [-IsPrimordial <Boolean[]> ] [-ThrottleLimit <Int32> ] [-VirtualDisk <CimInstance> ] [ <CommonParameters>]

Detailed Description

The Get-StoragePool cmdlet returns either a specific storage pool, or a set of StoragePool objects either from all storage subsystems across all storage providers, or optionally a filtered subset based on specific parameters.

Parameters

-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

-FriendlyName<String[]>

Specifies the friendly name of the storage pool to get.

Aliases

none

Required?

false

Position?

1

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-HealthStatus<HealthStatus[]>

Specifies the health status(es) of the storage pool to get. Specify one or more of the following values: Healthy, Warning, Unhealthy, or Unknown.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-IsPrimordial<Boolean[]>

Specifies whether to get (concrete) storage pools or primordial storage pools (which store physical disks that have yet to be added to a concrete storage pool). To get (concrete) storage pools, specify the $False Boolean value. To get primordial pools, specify the $True Boolean value.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Name<String[]>

Specifies the name of the storage pool to get.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-OtherUsageDescription<String[]>

Gets any storage pools that match the specified OtherUsageDescription string.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-PhysicalDisk<CimInstance>

Gets the storage pool that contains the specified PhysicalDisk object. Enter a PhysicalDisk CIM object. The Physical Disk CIM object is exposed by the Get-PhysicalDisk cmdlet.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-ResiliencySetting<CimInstance>

Gets the storage pool associated with the specified ResiliencySetting object. Enter a single ResiliencySetting CIM object as input, or pipe multiple ResiliencySetting objects to the Get-StoragePool cmdlet to view all pools that support the specified resiliency setting. Resiliency Setting CIM objects are exposed by the Get-ResiliencySetting cmdlet.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-StorageSubSystem<CimInstance>

Accepts a StorageSubsystem object as input. The Storage Subsystem CIM object is exposed by the Get-StorageSubsystem cmdlet.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByValue)

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

-UniqueId<String[]>

Specifies the UniqueID of the storage pool to get. If the UniqueID includes brackets, enclose the string in quotation marks.

Aliases

Id

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-Usage<Usage[]>

Gets any storage pools that match the specified Usage value. Acceptable values: ReservedAsDeltaReplicaContainer, ReservedForComputerSystem, ReservedForLocalReplicationServices, ReservedForMigrationServices, ReservedForRemoteReplicationServices, ReservedForSparing, Unknown, Unrestricted, and Other

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-VirtualDisk<CimInstance>

Gets the storage pool associated with the specified virtual disk object. Enter a VirtualDisk CIM object. The Virtual Disk CIM object is exposed by the Get-VirtualDisk cmdlet.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByValue)

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.

  • Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/Storage/MSFT_PhysicalDisk

    You can pipe an MSFT_PhysicalDisk object to the PhysicalDisk parameter to get the storage pool associated with the PhysicalDisk object.

  • Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/Storage/MSFT_StorageSubsystem

    You can pipe an MSFT_StorageSubsystem object to the StorageSubsystem parameter to get the storage pool associated with the StorageSubsystem object.

  • Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/Storage/MSFT_VirtualDisk

    You can pipe an MSFT_VirtualDisk object to the VirtualDisk parameter to get the storage pool associated with the VirtualDisk object.

Outputs

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

  • Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/Storage/MSFT_StoragePool

    The Get-StoragePool cmdlet returns objects representing storage pools.

Notes

  • To reduce load times, storage providers other than the Storage Spaces provider might not perform a full discovery of objects on initial load. As a result, this cmdlet might show an empty or incomplete listing of objects from a particular storage provider. To update the storage provider cache so that storage objects are available from a storage provider, use the Update-StorageProviderCache cmdlet.

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

Examples

Example 1: Get all storage pools

This example lists all storage pools, (when run without parameter) from all Storage Management Providers, from all storage subsystems. This list may optionally be filtered using one or more parameters.

PS C:\> Get-StoragePool

Example 2: Get all storage pools (not including primordial pools)

This example lists all (concrete) storage pools, excluding primordial pools (which store physical disks that have yet to be added to a concrete storage pool).

PS C:\> Get-StoragePool -IsPrimordial $False

Example 3: Get all storage pools that support the Mirror resiliency setting

This example uses the Get-ResiliencySetting cmdlet to retrieve ResiliencySetting objects that represent each storage pool that supports the specified resiliency setting (also known as storage layout), in this case Mirror, and then pipes the array of objects to the Get-StoragePool cmdlet.

PS C:\> Get-ResiliencySetting -Name Mirror | Get-StoragePool

New-StoragePool

Remove-StoragePool

Set-StoragePool