This is the built-in help made by Microsoft for the command 'Optimize-Volume', in PowerShell version 3 - as retrieved from
Windows version 'Microsoft Windows Server 2012 Standard' PowerShell help files on 2016-06-23.
For PowerShell version 3 and up, where you have Update-Help, this command was run just before creating the web pages from the help files.
Optimizes a volume, performing such tasks as defragmentation and trim.
Optimize-Volume [-DriveLetter] <Char[]> [-Analyze [<SwitchParameter>]] [-AsJob [<SwitchParameter>]] [-CimSession <CimSession[]>] [-Defrag
[<SwitchParameter>]] [-ReTrim [<SwitchParameter>]] [-SlabConsolidate [<SwitchParameter>]] [-ThrottleLimit <Int32>] [-Confirm
[<SwitchParameter>]] [-WhatIf [<SwitchParameter>]] [<CommonParameters>]
Optimize-Volume [-Analyze [<SwitchParameter>]] [-AsJob [<SwitchParameter>]] [-CimSession <CimSession[]>] [-Defrag [<SwitchParameter>]]
[-ReTrim [<SwitchParameter>]] [-SlabConsolidate [<SwitchParameter>]] [-ThrottleLimit <Int32>] -ObjectId <String[]> [-Confirm
[<SwitchParameter>]] [-WhatIf [<SwitchParameter>]] [<CommonParameters>]
Optimize-Volume [-Analyze [<SwitchParameter>]] [-AsJob [<SwitchParameter>]] [-CimSession <CimSession[]>] [-Defrag [<SwitchParameter>]]
[-ReTrim [<SwitchParameter>]] [-SlabConsolidate [<SwitchParameter>]] [-ThrottleLimit <Int32>] -InputObject <CimInstance[]> [-Confirm
[<SwitchParameter>]] [-WhatIf [<SwitchParameter>]] [<CommonParameters>]
Optimize-Volume [-Analyze [<SwitchParameter>]] [-AsJob [<SwitchParameter>]] [-CimSession <CimSession[]>] [-Defrag [<SwitchParameter>]]
[-ReTrim [<SwitchParameter>]] [-SlabConsolidate [<SwitchParameter>]] [-ThrottleLimit <Int32>] -Path <String[]> [-Confirm [<SwitchParameter>]]
[-WhatIf [<SwitchParameter>]] [<CommonParameters>]
Optimize-Volume [-Analyze [<SwitchParameter>]] [-AsJob [<SwitchParameter>]] [-CimSession <CimSession[]>] [-Defrag [<SwitchParameter>]]
[-ReTrim [<SwitchParameter>]] [-SlabConsolidate [<SwitchParameter>]] [-ThrottleLimit <Int32>] -FileSystemLabel <String[]> [-Confirm
[<SwitchParameter>]] [-WhatIf [<SwitchParameter>]] [<CommonParameters>]
The Optimize-Volume cmdlet optimizes a volume, performing such tasks as defragmentation and trim.
If no parameter is specified, then the default operation will be performed per the drive type as follows.
Defragment (drive type) : HDD
Slab : YES
Consolidation : NO
TRIM : NO
Defragment (drive type) : SSD
Slab : NO
Consolidation : NO
TRIM : YES
Defragment (drive type): VHD
Slab : YES
Consolidation : NO
TRIM : NO
Defragment (drive type): diff VHD
Slab : NO
Consolidation : NO
TRIM : YES
Defragment (drive type): Thinly Provisioned (Storage Spaces, thinly provisioned SAN Virtual Disk, Dynamic VHD)
Slab : NO
Consolidation : YES
TRIM : YES
<
Format-Volume
Get-Volume
Repair-Volume
Set-Volume
<
Example 1: Perform TRIM optimization
PS C:\> Optimize-Volume -DriveLetter H -ReTrim –Verbose
This example optimizes drive H by re-sending Trim requests. This is useful on SSD media, and thinly provisioned storage.
Example 2: Analyze a volume
PS C:\> Optimize-Volume -DriveLetter H -Analyze –Verbose
This example reports only the current optimization state of drive H.
Example 3: Defragment a volume
PS C:\> Optimize-Volume -DriveLetter H -Defrag –Verbose
This example defragments drive H.
Example 4: Perform slab consolidation
PS C:\> Optimize-Volume -DriveLetter H -SlabConsolidate –Verbose
This example performs slab consolidation on the storage space backing volume H.