Set-StoragePool
Modifies the properties of the specified storage pool.
Syntax
Set-StoragePool
[-NewFriendlyName <String>]
[-ClearOnDeallocate <Boolean>]
[-IsPowerProtected <Boolean>]
[-RepairPolicy <RepairPolicy>]
[-RetireMissingPhysicalDisks <RetireMissingPhysicalDisks>]
[-Usage <Usage>]
[-OtherUsageDescription <String>]
[-ThinProvisioningAlertThresholds <UInt16[]>]
-UniqueId <String>
[-CimSession <CimSession[]>]
[-ThrottleLimit <Int32>]
[-AsJob]
[<CommonParameters>]
Set-StoragePool
[-InputObject] <CimInstance[]>
[-IsReadOnly <Boolean>]
[-CimSession <CimSession[]>]
[-ThrottleLimit <Int32>]
[-AsJob]
[<CommonParameters>]
Set-StoragePool
[-InputObject] <CimInstance[]>
[-ProvisioningTypeDefault <ProvisioningType>]
[-MediaTypeDefault <MediaType>]
[-ResiliencySettingNameDefault <String>]
[-EnclosureAwareDefault <Boolean>]
[-FaultDomainAwarenessDefault <FaultDomainType>]
[-WriteCacheSizeDefault <UInt64>]
[-AutoWriteCacheSize <Boolean>]
[-CimSession <CimSession[]>]
[-ThrottleLimit <Int32>]
[-AsJob]
[<CommonParameters>]
Set-StoragePool
[-InputObject] <CimInstance[]>
[-NewFriendlyName <String>]
[-ClearOnDeallocate <Boolean>]
[-IsPowerProtected <Boolean>]
[-RepairPolicy <RepairPolicy>]
[-RetireMissingPhysicalDisks <RetireMissingPhysicalDisks>]
[-Usage <Usage>]
[-OtherUsageDescription <String>]
[-ThinProvisioningAlertThresholds <UInt16[]>]
[-CimSession <CimSession[]>]
[-ThrottleLimit <Int32>]
[-AsJob]
[<CommonParameters>]
Set-StoragePool
[-NewFriendlyName <String>]
[-ClearOnDeallocate <Boolean>]
[-IsPowerProtected <Boolean>]
[-RepairPolicy <RepairPolicy>]
[-RetireMissingPhysicalDisks <RetireMissingPhysicalDisks>]
[-Usage <Usage>]
[-OtherUsageDescription <String>]
[-ThinProvisioningAlertThresholds <UInt16[]>]
[-FriendlyName] <String>
[-CimSession <CimSession[]>]
[-ThrottleLimit <Int32>]
[-AsJob]
[<CommonParameters>]
Set-StoragePool
[-NewFriendlyName <String>]
[-ClearOnDeallocate <Boolean>]
[-IsPowerProtected <Boolean>]
[-RepairPolicy <RepairPolicy>]
[-RetireMissingPhysicalDisks <RetireMissingPhysicalDisks>]
[-Usage <Usage>]
[-OtherUsageDescription <String>]
[-ThinProvisioningAlertThresholds <UInt16[]>]
-Name <String>
[-CimSession <CimSession[]>]
[-ThrottleLimit <Int32>]
[-AsJob]
[<CommonParameters>]
Set-StoragePool
-UniqueId <String>
[-IsReadOnly <Boolean>]
[-CimSession <CimSession[]>]
[-ThrottleLimit <Int32>]
[-AsJob]
[<CommonParameters>]
Set-StoragePool
-UniqueId <String>
[-ProvisioningTypeDefault <ProvisioningType>]
[-MediaTypeDefault <MediaType>]
[-ResiliencySettingNameDefault <String>]
[-EnclosureAwareDefault <Boolean>]
[-FaultDomainAwarenessDefault <FaultDomainType>]
[-WriteCacheSizeDefault <UInt64>]
[-AutoWriteCacheSize <Boolean>]
[-CimSession <CimSession[]>]
[-ThrottleLimit <Int32>]
[-AsJob]
[<CommonParameters>]
Set-StoragePool
-Name <String>
[-IsReadOnly <Boolean>]
[-CimSession <CimSession[]>]
[-ThrottleLimit <Int32>]
[-AsJob]
[<CommonParameters>]
Set-StoragePool
-Name <String>
[-ProvisioningTypeDefault <ProvisioningType>]
[-MediaTypeDefault <MediaType>]
[-ResiliencySettingNameDefault <String>]
[-EnclosureAwareDefault <Boolean>]
[-FaultDomainAwarenessDefault <FaultDomainType>]
[-WriteCacheSizeDefault <UInt64>]
[-AutoWriteCacheSize <Boolean>]
[-CimSession <CimSession[]>]
[-ThrottleLimit <Int32>]
[-AsJob]
[<CommonParameters>]
Set-StoragePool
[-FriendlyName] <String>
[-IsReadOnly <Boolean>]
[-CimSession <CimSession[]>]
[-ThrottleLimit <Int32>]
[-AsJob]
[<CommonParameters>]
Set-StoragePool
[-FriendlyName] <String>
[-ProvisioningTypeDefault <ProvisioningType>]
[-MediaTypeDefault <MediaType>]
[-ResiliencySettingNameDefault <String>]
[-EnclosureAwareDefault <Boolean>]
[-FaultDomainAwarenessDefault <FaultDomainType>]
[-WriteCacheSizeDefault <UInt64>]
[-AutoWriteCacheSize <Boolean>]
[-CimSession <CimSession[]>]
[-ThrottleLimit <Int32>]
[-AsJob]
[<CommonParameters>]
Description
The Set-StoragePool cmdlet modifies the properties of the specified storage pool.
Examples
Example 1: Change the friendly name
PS C:\>Set-StoragePool -FriendlyName StoragePool -NewFriendlyName StoragePool2
This example changes the friendly name of StoragePool to StoragePool2.
Example 2: Make a read-only storage pool writeable
PS C:\>Set-StoragePool -FriendlyName "Storage Pool 1" -IsReadOnly $False
This example makes the storage pool named Storage Pool 1 writable when it is in a read-only state.
Example 3: Set the default resiliency and provisioning settings
PS C:\>Set-StoragePool -FriendlyName "Storage Pool 1" -ResiliencySettingsNameDefault Mirror -ProvisioningTypeDefault Thin
This example makes any new virtual disks by default use the Mirror resiliency setting and thin provisioning.
Parameters
-AsJob
Runs the cmdlet as a background job. Use this parameter to run commands that take a long time to complete.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-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.
Type: | Boolean |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-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.
Type: | CimSession[] |
Aliases: | Session |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-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.
Type: | Boolean |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-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.
Type: | Boolean |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-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.
Type: | FaultDomainType |
Accepted values: | PhysicalDisk, StorageEnclosure, StorageScaleUnit, StorageChassis, StorageRack |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FriendlyName
Specifies the friendly name of the storage pool on which you want to set attributes.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-InputObject
Specifies the input object that is used in a pipeline command.
Type: | CimInstance[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-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.
Type: | Boolean |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-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.
Type: | Boolean |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MediaTypeDefault
Specifies the default media type to use during virtual disk creation. The acceptable values for this parameter are: HDD, SSD, and Unspecified.
Type: | MediaType |
Accepted values: | Unspecified, HDD, SSD, SCM |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Specifies the name of the storage pool on which you want to set attributes.
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NewFriendlyName
Specifies the new friendly name for the storage pool.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-OtherUsageDescription
Specifies the OtherUsageDescription for the storage pool.
Type: | String |
Aliases: | NewOtherUsageDescription |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-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.
Type: | ProvisioningType |
Accepted values: | Unknown, Thin, Fixed |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-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.
Type: | RepairPolicy |
Accepted values: | Sequential, Parallel |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-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.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-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.
Type: | RetireMissingPhysicalDisks |
Accepted values: | Auto, Always, Never |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-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.
Type: | UInt16[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-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.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UniqueId
Specifies the UniqueID of the storage pool for which you want to set attributes.
Type: | String |
Aliases: | Id |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-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.
Type: | Usage |
Aliases: | NewUsage |
Accepted values: | Other, Unrestricted, ReservedForComputerSystem, ReservedAsDeltaReplicaContainer, ReservedForMigrationServices, ReservedForLocalReplicationServices, ReservedForRemoteReplicationServices, ReservedForSparing |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WriteCacheSizeDefault
Specifies the default write-back cache size for virtual disks in the storage pool.
Type: | UInt64 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Inputs
You can use the pipeline operator to pass one or more MSFT_StoragePool objects to the InputObject parameter.
Outputs
None
Notes
- When used in Failover Cluster, cmdlets from the Storage module operate on cluster level (all servers in the cluster).