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.
Windows Server · Risk: Low · Documentation Verified
Last verified: 2026-10-26
Microsoft Storage reference: 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. The syntax and selected example below are adapted from the pinned Windows Server 2025 reference. Module availability, target configuration and delegated permissions determine whether it can run in your environment. Documentation and parameter text: Microsoft, CC BY 4.0; formatting adapted by Cmdlet World. No execution testing is claimed.
Use an account with the target resource permissions documented for Get-StoragePool. Modifying administrative cmdlets may require elevation or delegated administration. This catalog does not assert that ordinary users can execute the command.
Supported environments
Windows / Storage · Windows Server 2025 documentation; feature/module prerequisites apply
Parameters
-AsJob
Runs the cmdlet as a background job. Use this parameter to run commands that take a long time to complete.
-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.
-FriendlyName
Specifies the friendly name of the storage pool to get.
-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.
-IsPrimordial
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.
-Name
Specifies the name of the storage pool to get.
-OtherUsageDescription
Gets any storage pools that match the specified OtherUsageDescription string.
-PhysicalDisk
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.
-ResiliencySetting
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.
-StorageJob
Specifies an outstanding storage job as a CimInstance object. The cmdlet gets the storage pools associated with the storage job that you specify. To obtain a storage job, use the Get-StorageJob cmdlet.
-StorageNode
Specifies a storage node as a CimInstance object. The cmdlet gets storage pools that have read-write access on the node that you specify. To obtain a storage node object, use the Get-StorageNode cmdlet.
-StorageSubSystem
Accepts a StorageSubsystem object as input. The Storage Subsystem CIM object is exposed by the Get-StorageSubsystem cmdlet.
-StorageTier
Specifies a storage tier as a CimInstance object. The cmdlet gets storage pools that contain the storage tier that you specify. To obtain a storage tier object, use the Get-StorageTier cmdlet.
-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.
-UniqueId
Specifies the UniqueID of the storage pool to get. If the UniqueID includes brackets, enclose the string in quotation marks.
-Usage
Gets any storage pools that match the specified Usage value. Acceptable values: ReservedAsDeltaReplicaContainer, ReservedForComputerSystem, ReservedForLocalReplicationServices, ReservedForMigrationServices, ReservedForRemoteReplicationServices, ReservedForSparing, Unknown, Unrestricted, and Other
-VirtualDisk
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.
-Volume
Specifies a volume. The cmdlet gets the storage nodes that correspond to the volume that you specify. To obtain a Volume object, use the Get-Volume cmdlet.
Prerequisites
Windows with the Storage module and the Windows feature or management tools that provide it. Confirm target connectivity and version compatibility using the linked Microsoft reference.
Security considerations
This is a read-oriented cmdlet; protect any sensitive results and check the documented effects of your selected parameters.
Examples
Example 1: Get all storage pools
Get-StoragePool
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. Source: Microsoft, CC BY 4.0; transcript prompt/output removed. This example was not executed.