Update-StorageProviderCache
Updates the cache of the service for a particular provider and associated child objects.
Syntax
Update-StorageProviderCache
[[-Name] <String[]>]
[-Manufacturer <String[]>]
[-DiscoveryLevel <DiscoveryLevel>]
[-RootObject <PSReference>]
[-CimSession <CimSession[]>]
[-ThrottleLimit <Int32>]
[-AsJob]
[-PassThru]
[<CommonParameters>]
Update-StorageProviderCache
[-UniqueId <String[]>]
[-DiscoveryLevel <DiscoveryLevel>]
[-RootObject <PSReference>]
[-CimSession <CimSession[]>]
[-ThrottleLimit <Int32>]
[-AsJob]
[-PassThru]
[<CommonParameters>]
Update-StorageProviderCache
[-Manufacturer <String[]>]
[-URI <Uri[]>]
[-DiscoveryLevel <DiscoveryLevel>]
[-RootObject <PSReference>]
[-CimSession <CimSession[]>]
[-ThrottleLimit <Int32>]
[-AsJob]
[-PassThru]
[<CommonParameters>]
Update-StorageProviderCache
[-StorageSubSystem <CimInstance>]
[-DiscoveryLevel <DiscoveryLevel>]
[-RootObject <PSReference>]
[-CimSession <CimSession[]>]
[-ThrottleLimit <Int32>]
[-AsJob]
[-PassThru]
[<CommonParameters>]
Update-StorageProviderCache
-InputObject <CimInstance[]>
[-DiscoveryLevel <DiscoveryLevel>]
[-RootObject <PSReference>]
[-CimSession <CimSession[]>]
[-ThrottleLimit <Int32>]
[-AsJob]
[-PassThru]
[<CommonParameters>]
Description
The Update-StorageProviderCache cmdlet updates the cache of the service for a particular provider and associated child objects.
Note: Using the Full value for the DiscoveryLevel parameter without using additional parameters to limit the scope to particular storage providers or storage subsystems causes all accessible storage providers to enumerate and report all state information, which can be extremely time intensive in large environments.
Examples
Example 1: Perform a Full update of all objects
PS C:\>Update-StorageProviderCache -DiscoveryLevel Full
This example performs a Full update of the storage provider cache on all accessible storage providers, rescanning all associated physical disks and reporting the state. This operation can be extremely time intensive in large or enterprise environments; instead use parameters to scope the update.
Example 2: Update PhysicalDisk objects for a particular storage provider
PS C:\>Update-StorageProviderCache -StorageSubSystem (Get-StorageSubSystem -FriendlyName "StorageArray*") -DiscoveryLevel Level3
This example uses the StorageSubsystem parameter in association with the Get-StorageSubSystem cmdlet to get a particular storage subsystem and then perform a Level3 update on its associated storage provider, discovering all associated PhysicalDisk objects.
Example 3: Update all objects for a specific storage pool
PS C:\>Update-StorageProviderCache -Name "StorageArray" -RootObject ([ref](Get-StoragePool "Storage pool"))
This example uses the Name parameter to specify the storage provider to update, and uses the RootObject parameter to specify the specific storage pool for which to update objects.
Because RootObject takes PSReference objects as input, you need to prepend the object call with \[ref\]
to get a reference to the object instead of the object itself.
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 |
-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 |
-DiscoveryLevel
Defines the level (or depth) of discovery that should be performed. Increasing levels are cumulative; the storage providers will discover objects starting from Level0 and continuing to the highest level specified. Acceptable values are:
Full, which discovers all objects on all accessible storage providers. This is the same as a Level3 discovery.
Level0, which discovers storage provider and storage subsystem objects.
Level1, which performs a Level0 discovery and then discovers storage pools, resiliency settings, target ports, target portals, and initiator identifiers.
Level2, which performs a Level1 discovery and then discovers virtual disk and masking set objects.
Level3, which performs a Level2 discovery and then discovers physical disk objects. This is the same as a Full discovery.
All storage providers perform a Level0 or higher level discovery when loaded by Windows.
Type: | DiscoveryLevel |
Accepted values: | Level0, Level1, Level2, Level3, Full |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Specifies the input object that is used in a pipeline command.
Type: | CimInstance[] |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Manufacturer
Specifies the storage provider cache to update by manufacturer name. Enter a manufacturer string, or use wildcard characters to enter a pattern.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Specifies the name of the storage provider cache to update.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PassThru
Specifies that the cmdlet should output an object representing the storage provider it updated. By default, this cmdlet does not generate any output.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RootObject
Specifies a reference to the object from which you want to begin discovering associated objects. When the DiscoveryLevel parameter is not specified, well-defined actions will be taken depending on the type of object reference specified:
StorageSubsystem: All associated objects will be discovered.
StoragePool: The pool, along with any associated resiliency settings, virtual disks, and physical disks will be discovered.
MaskingSet: The masking set, along with any associated target ports, initiator identifiers, and virtual disks will be discovered.
For all other objects, only the specified object will be discovered or refreshed.
Type: | PSReference |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-StorageSubSystem
Updates all storage subsystems managed by the storage provider associated with the StorageSubsystem object you specify. Enter a StorageSubsytem CIM object, which is exposed by the Get-StorageSubSystem cmdlet.
Type: | CimInstance |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
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 ID of the storage provider cache to update. Type one or more IDs, with each ID enclosed in quotes, and multiple IDs separated by commas. The ID persists through restarts.
Type: | String[] |
Aliases: | Id |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-URI
Specifies the URI of the storage provider whose cache should be updated.
Type: | Uri[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Inputs
You can pipe an MSFT_StorageSubsystem object to the StorageSubsystem parameter to perform the update on the storage provider for the specified subsystem.
You can pipe an MSFT_StorageProvider object to the InputObject parameter to perform the update on the specified storage provider.
Outputs
By default the Update-StorageProviderCache cmdlet does not return any objects. If you specify the PassThru parameter, this cmdlet returns an object representing the storage provider it updated.
Notes
- When used in Failover Cluster, cmdlets from the Storage module operate on cluster level (all servers in the cluster).