COMMAND EVERYTHING.
Modifies the properties of the specified storage pool.
Microsoft Storage reference: Modifies the properties of the specified storage pool. 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 Set-StoragePool. Modifying administrative cmdlets may require elevation or delegated administration. This catalog does not assert that ordinary users can execute the command.
Windows / Storage · Windows Server 2025 documentation; feature/module prerequisites apply
-AsJob- Runs the cmdlet as a background job. Use this parameter to run commands that take a long time to complete.
-AutoWriteCacheSize- Indicates whether to set the size of the write-back cache to 1 GB for all types of storage spaces, which include simple, mirror, and parity, to create from the pool. If the number or size of the solid-state drives (SSDs) or journal disks in the storage pool is not sufficient and you specify a value of $True for this parameter, the cmdlet sets the write-back cache size to 0 for simple and mirror spaces, and to 32 MB for parity spaces.
-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.
-ClearOnDeallocate- Clears all blocks on the physical disks in the storage pool upon deallocation. Clearing all blocks is more secure, but is much slower to deallocate.
-EnclosureAwareDefault- Specifies that the storage pool should use enclosure awareness by default when creating storage spaces. To support deployments that require an added level of fault tolerance, Storage Spaces can associate each copy of data with a particular just-a-bunch-of-disk (JBOD) enclosure. This capability is known as enclosure awareness. With enclosure awareness, if one enclosure fails or goes offline, the data remains available in one or more alternate enclosures. To use enclosure awareness, you must use JBODs that are certified for use with Storage Spaces and you must have a sufficient number of JBODs and disks to support the resiliency types of the storage spaces you create (generally you'll need three or four JBODs). For a list of certified JBODs, see the Windows Server Catalog. For more information about enclosure awareness, see Software-Defined Storage Design Considerations Guidehttps://technet.microsoft.com/en-us/library/mt243829(v=ws.11).aspx.
-FaultDomainAwarenessDefault- Specifies the default fault domain for new virtual disks created in this storage pool. The acceptable values for this parameter are: - PhysicalDisk - StorageScaleUnit - StorageChassis - StorageEnclosure - StorageRack The fault domain specifies at what level you want to be fault tolerant. For example, specify StorageScaleUnit to store data copies on separate nodes of a Storage Spaces Direct cluster. This cmdlet refers to nodes of a Storage Spaces Direct cluster as storage scale units because you can expand the scale of the cluster by adding more nodes.
-FriendlyName (required)- Specifies the friendly name of the storage pool on which you want to set attributes.
-InputObject (required)- Specifies the input object that is used in a pipeline command.
-IsPowerProtected- Indicates whether the physical disks that belong to the storage pool have backup power systems, such as battery backup. If you specify a value of $True for this parameter, the storage pool does not perform flush operations, and the pool removes write-through attributes from commands.
-IsReadOnly- Sets the object to be read-only (IsReadOnly $true$true) or read-write (IsReadOnly $false$false). Note: If the object is set to read-only (IsReadOnly $true$true), the object must be set to read-write (IsReadOnly $false$false) before using this cmdlet to set the PartitionStyle parameter.
-MediaTypeDefault- Specifies the default media type to use during virtual disk creation. The acceptable values for this parameter are: HDD, SSD, and Unspecified.
-Name (required)- Specifies the name of the storage pool on which you want to set attributes.
-NewFriendlyName- Specifies the new friendly name for the storage pool.
-OtherUsageDescription- Specifies the OtherUsageDescription for the storage pool.
-ProvisioningTypeDefault- Specifies the default type of provisioning to use for virtual disks created in the specified storage pool. The acceptable values for this parameter are: Fixed or Thin.
-RepairPolicy- Specifies how the operating system proceeds with repairing virtual disks in the specified storage pool. The acceptable values for this parameter are: --Sequential Repair processes one allocation slab at a time. Specifying this value results in longer repair times, but smaller impact on I/O load. --Parallel Repair processes as many allocation slabs as it can in parallel. Specifying this value results in the shortest repair time, but significantly impacts I/O load.
-ResiliencySettingNameDefault- Specifies the default resiliency setting (also known as storage layout) to use for virtual disks the created in the specified storage pool. The supported resiliency settings vary by storage subsystem. Acceptable values for the Windows Storage subsystem are Mirror, Parity, and Simple.
-RetireMissingPhysicalDisks- Specifies when Windows should set the Usage property of physical disks missing from a storage pool to Retired. The acceptable values for this parameter are: -Auto This is the default setting for storage pools. When set to Auto, Windows retires missing disks, but doesn't automatically rebuild affected virtual disks unless there are physical disks whose Usage value is set to HotSpare, in which case Windows rebuilds the virtual disks five minutes after the failed write operation. -Always This is the recommended setting when using free pool space to rebuild storage spaces instead of using hot-spare disks. When set to Always, Windows retires missing physical disks and automatically rebuilds affected virtual disks five minutes after the failed write operation. -Never When set to Never, Windows never retires missing physical disks.
-ThinProvisioningAlertThresholds- Specifies how full a storage pool must get (in percent) before an alert is generated to add physical disks to the storage pool to support thinly provisioned virtual disks.
-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 (required)- Specifies the UniqueID of the storage pool for which you want to set attributes.
-Usage- Specifies the usage setting for the storage pool. The acceptable values for this parameter are:Other, ReservedAsDeltaReplicaContainer, ReservedForComputerSystem, ReservedForLocalReplicationServices, ReservedForMigrationServices, ReservedForRemoteReplicationServices, ReservedForSparing, and Unrestricted.
-WriteCacheSizeDefault- Specifies the default write-back cache size for virtual disks in the storage pool.
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.
This cmdlet changes system state. Review every target and parameter in the official reference, test outside production, and prepare an appropriate backup or rollback. Do not execute the example automatically.