Debug-Volume

Finds problems with a volume and recommends solutions.

Syntax

Debug-Volume
     [-DriveLetter] <Char[]>
     [-CimSession <CimSession>]
     [-ThrottleLimit <Int32>]
     [-AsJob]
     [<CommonParameters>]
Debug-Volume
     -ObjectId <String[]>
     [-CimSession <CimSession>]
     [-ThrottleLimit <Int32>]
     [-AsJob]
     [<CommonParameters>]
Debug-Volume
     -Path <String[]>
     [-CimSession <CimSession>]
     [-ThrottleLimit <Int32>]
     [-AsJob]
     [<CommonParameters>]
Debug-Volume
     -FileSystemLabel <String[]>
     [-CimSession <CimSession>]
     [-ThrottleLimit <Int32>]
     [-AsJob]
     [<CommonParameters>]
Debug-Volume
     -InputObject <CimInstance>
     [-CimSession <CimSession>]
     [-ThrottleLimit <Int32>]
     [-AsJob]
     [<CommonParameters>]

Description

The Debug-Volume cmdlet finds problems with a volume and recommends solutions.

Examples

Example 1: Debug a volume

PS C:\>Get-Volume | ? {?_.HealthStatus -ne "Healthy"} | Debug-Volume

This cmdlet gets the status of volumes where the HealthStatus property does not equal Healthy, and uses the pipeline operator to pass those volumes to the Debug-Volume cmdlet.

Required Parameters

-DriveLetter

Specifies an array of letters that identify one or more drives or volumes in the system.

Type: Char[]
Position: 0
Default value: None
Accept pipeline input: True (ByValue)
Accept wildcard characters: False
-FileSystemLabel

Specifies an array of file system labels.

Type: String[]
Position: Named
Default value: None
Accept pipeline input: True (ByValue)
Accept wildcard characters: False
-InputObject

Specifies the input object that is used in a pipeline command.

Type: CimInstance
Position: Named
Default value: None
Accept pipeline input: True (ByValue)
Accept wildcard characters: False
-ObjectId

Specifies an array of object IDs, as strings.

Type: String[]
Position: Named
Default value: None
Accept pipeline input: True (ByValue)
Accept wildcard characters: False
-Path

Specifies an array of valid paths.

Type: String[]
Position: Named
Default value: None
Accept pipeline input: True (ByValue)
Accept wildcard characters: False

Optional 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
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
Position: Named
Default value: None
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
Accept pipeline input: False
Accept wildcard characters: False

Outputs

Microsoft.Management.Infrastructure.CimInstance#MSFT_StorageDiagnoseResult