Get-StorageSubsystem

Get-StorageSubsystem

Gets one or more StorageSubsystem objects.

Syntax

Parameter Set: ByFriendlyName
Get-StorageSubsystem [[-FriendlyName] <String[]> ] [-AsJob] [-CimSession <CimSession[]> ] [-HealthStatus <HealthStatus[]> ] [-Manufacturer <String[]> ] [-Model <String[]> ] [-ThrottleLimit <Int32> ] [ <CommonParameters>]

Parameter Set: ByInitiatorId
Get-StorageSubsystem [-AsJob] [-CimSession <CimSession[]> ] [-HealthStatus <HealthStatus[]> ] [-InitiatorId <CimInstance> ] [-Manufacturer <String[]> ] [-Model <String[]> ] [-ThrottleLimit <Int32> ] [ <CommonParameters>]

Parameter Set: ByMaskingSet
Get-StorageSubsystem [-AsJob] [-CimSession <CimSession[]> ] [-HealthStatus <HealthStatus[]> ] [-Manufacturer <String[]> ] [-MaskingSet <CimInstance> ] [-Model <String[]> ] [-ThrottleLimit <Int32> ] [ <CommonParameters>]

Parameter Set: ByName
Get-StorageSubsystem [-AsJob] [-CimSession <CimSession[]> ] [-HealthStatus <HealthStatus[]> ] [-Manufacturer <String[]> ] [-Model <String[]> ] [-Name <String[]> ] [-ThrottleLimit <Int32> ] [ <CommonParameters>]

Parameter Set: ByOffloadDataTransferSetting
Get-StorageSubsystem [-AsJob] [-CimSession <CimSession[]> ] [-HealthStatus <HealthStatus[]> ] [-Manufacturer <String[]> ] [-Model <String[]> ] [-OffloadDataTransferSetting <CimInstance> ] [-ThrottleLimit <Int32> ] [ <CommonParameters>]

Parameter Set: ByPhysicalDisk
Get-StorageSubsystem [-AsJob] [-CimSession <CimSession[]> ] [-HealthStatus <HealthStatus[]> ] [-Manufacturer <String[]> ] [-Model <String[]> ] [-PhysicalDisk <CimInstance> ] [-ThrottleLimit <Int32> ] [ <CommonParameters>]

Parameter Set: ByStoragePool
Get-StorageSubsystem [-AsJob] [-CimSession <CimSession[]> ] [-HealthStatus <HealthStatus[]> ] [-Manufacturer <String[]> ] [-Model <String[]> ] [-StoragePool <CimInstance> ] [-ThrottleLimit <Int32> ] [ <CommonParameters>]

Parameter Set: ByStorageProvider
Get-StorageSubsystem [-AsJob] [-CimSession <CimSession[]> ] [-HealthStatus <HealthStatus[]> ] [-Manufacturer <String[]> ] [-Model <String[]> ] [-StorageProvider <CimInstance> ] [-ThrottleLimit <Int32> ] [ <CommonParameters>]

Parameter Set: ByTargetPort
Get-StorageSubsystem [-AsJob] [-CimSession <CimSession[]> ] [-HealthStatus <HealthStatus[]> ] [-Manufacturer <String[]> ] [-Model <String[]> ] [-TargetPort <CimInstance> ] [-ThrottleLimit <Int32> ] [ <CommonParameters>]

Parameter Set: ByTargetPortal
Get-StorageSubsystem [-AsJob] [-CimSession <CimSession[]> ] [-HealthStatus <HealthStatus[]> ] [-Manufacturer <String[]> ] [-Model <String[]> ] [-TargetPortal <CimInstance> ] [-ThrottleLimit <Int32> ] [ <CommonParameters>]

Parameter Set: ByUniqueId
Get-StorageSubsystem [-AsJob] [-CimSession <CimSession[]> ] [-HealthStatus <HealthStatus[]> ] [-Manufacturer <String[]> ] [-Model <String[]> ] [-ThrottleLimit <Int32> ] [-UniqueId <String[]> ] [ <CommonParameters>]

Parameter Set: ByVirtualDisk
Get-StorageSubsystem [-AsJob] [-CimSession <CimSession[]> ] [-HealthStatus <HealthStatus[]> ] [-Manufacturer <String[]> ] [-Model <String[]> ] [-ThrottleLimit <Int32> ] [-VirtualDisk <CimInstance> ] [ <CommonParameters>]

Detailed Description

The Get-StorageSubsystem cmdlet gets one or more StorageSubsystem objects. If no parameters are specified, then all subsystems on the system will be returned. If two parameters are specified that conflict with unique values, then no subsystem will be returned; since none match that criteria.

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 subsystem to get.

Aliases

none

Required?

false

Position?

1

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-HealthStatus<HealthStatus[]>

Gets all storage subsystems that have the specified health status. Acceptable values are Healthy, Warning, and Unhealthy.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-InitiatorId<CimInstance>

Gets the storage subsystem associated with the specified InitiatorId object. Enter an InitiatorID CIM object. The InitiatorID object is exposed by the Get-InitiatorId cmdlet.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-Manufacturer<String[]>

Gets StorageSubsystem objects with the specified manufacturer name.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

true

-MaskingSet<CimInstance>

Gets the StorageSubsystem for the specified MaskingSet object. Enter a MaskingSet CIM object. The MaskingSet object is exposed by the Get-MaskingSet cmdlet.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-Model<String[]>

Gets the StorageSubsystem with the specified model string.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Name<String[]>

Gets the StorageSubsystem with the specified name.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-OffloadDataTransferSetting<CimInstance>

Gets the StorageSubsystem associated with the specified OffloadDataTransferSetting object. The Offload Data Transfer Setting CIM object is exposed by the Get-OffloadDataTransferSetting cmdlet.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-PhysicalDisk<CimInstance>

Gets the StorageSubsystem associated with the specified PhysicalDisk 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

-StoragePool<CimInstance>

Gets the StorageSubsystem associated with the specified StoragePool object. The Storage Pool CIM object is exposed by the Get-StoragePool cmdlet.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-StorageProvider<CimInstance>

Gets the StorageSubsystem associated with the specified StorageProvider object. The Storage Provider CIM object is exposed by the Get-StorageProvider cmdlet.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-TargetPort<CimInstance>

Gets the StorageSubsystem associated with the specified TargetPort object. object as input. The TargetPort CIM object is exposed by the Get-TargetPort cmdlet.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-TargetPortal<CimInstance>

Gets the StorageSubsystem associated with the specified TargetPortal object. object as input. The TargetPortal CIM object is exposed by the Get-TargetPortal 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[]>

Gets the StorageSubsystem with the specified UniqueID value.

Aliases

Id

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-VirtualDisk<CimInstance>

Gets the StorageSubsystem associated with the specified VirtualDisk object. object as input. 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_InitiatorId

    You can pipe an InitiatorID object to the InitiatorID parameter to get the storage subsystem associated with the object.

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

    You can pipe a MaskingSet object to the MaskingSet parameter to get the storage subsystem associated with the object.

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

    You can pipe an OffloadDataTransferSetting object to the OffloadDataTransferSetting parameter to get the storage subsystem associated with the object.

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

    You can pipe a PhysicalDisk object to the PhysicalDisk parameter to get the storage subsystem associated with the object.

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

    You can pipe a StoragePool object to the StoragePool parameter to get the storage subsystem associated with the object.

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

    You can pipe a StorageProvider object to the StorageProvider parameter to get the storage subsystem associated with the object.

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

    You can pipe a TargetPort object to the TargetPort parameter to get the storage subsystem associated with the object.

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

    You can pipe a VirtualDisk object to the VirtualDisk parameter to get the storage subsystem associated with the object.

Outputs

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

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

    This cmdlet outputs an object representing a storage subsystem.

Notes

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

This example returns a list of all visible StorageSubsystem objects across all accessible StorageProvider objects.

PS C:\> Get-StorageSubsystem

Example 2: Get the Storage Spaces subsystem

This example returns only the StorageSubsystem object for the Storage Spaces provider.

PS C:\> Get-StorageSubSystem -Model "Storage Spaces"

Example 3: Get all unhealthy storage subsystems

This example gets all storage subsystems in an unhealthy state.

PS C:\> Get-StorageSubSystem -HealthStatus Unhealthy

Example 4: Get storage subsystems that have SMPs that support ODX

This example displays all storage subsystems on storage management providers that support Windows Offloaded Data Transfers (ODX). Storage arrays that support ODX using the SMI-S protocol are not shown.

PS C:\> Get-OffloadDataTransferSetting | Get-StorageSubSystem

Get-StorageProvider

Set-StorageSubsystem