COMMAND EVERYTHING.
Changes data deduplication settings on one or more volumes.
Microsoft Deduplication reference: Changes data deduplication settings on one or more volumes. The syntax and selected example below are adapted from the pinned Windows Server 2025 reference. Module availability, target configuration and delegated permissions determine whether it can run in your environment. Documentation and parameter text: Microsoft, CC BY 4.0; formatting adapted by Cmdlet World. No execution testing is claimed.
Use an account with the target resource permissions documented for Set-DedupVolume. Modifying administrative cmdlets may require elevation or delegated administration. This catalog does not assert that ordinary users can execute the command.
Windows / Deduplication · Windows Server 2025 documentation; feature/module prerequisites apply
-AsJob- Runs the cmdlet as a background job. Use this parameter to run commands that take a long time to complete. The cmdlet immediately returns an object that represents the job and then displays the command prompt. You can continue to work in the session while the job completes. To manage the job, use the *-Job cmdlets. To get the job results, use the Receive-Job cmdlet. For more information about Windows PowerShell background jobs, see about_Jobs.
-ChunkRedundancyThreshold- Specifies the number of identical chunks of data that the deduplication engine encounters before the server creates a redundant copy of the data chunk. This increases the reliability of the server by adding redundancy to the most referenced chunks of data. Deduplication detects corruptions and the deduplication scrubbing job restores the corrupted chunks from a redundant copy, if it is available. The default value is 100. The minimum value that you can set is 20. A low value for the ChunkRedundancyThreshold parameter reduces the effectiveness of data deduplication by creating more redundant copies of a chunk, and consumes more memory and disk space.
-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.
-ExcludeFileType- Specifies an array of extension types that the deduplication engine excludes from data deduplication and optimization. Specify comma-separated values that are not preceded with a period (.). When you change this setting, you override the existing values.
-ExcludeFileTypeDefault- Specifies an array of extension types, as strings, that the server does not optimize. The Enable-DedupVolume cmdlet modifies this behavior, depending on the value of the UsageType parameter. If you use the current parameter to modify this behavior, and then run Enable-DedupVolume again, that cmdlet overrides your changes.
-ExcludeFolder- Specifies an array of names of root folders under which all files are skipped during data deduplication. Full paths are accepted, however mount points are ignored since the mount point can change after configuration. When you change this setting, you override the existing values.
-InputObject (required)- Specifies the input to this cmdlet. You can use this parameter, or you can pipe the input to this cmdlet.
-InputOutputScale- Specifies the level of input/output parallelization during optimization for this volume. The acceptable values for this parameter are: integers from 0 to 36. The default value of 0 sets the system to automatically select an InputOutputScale value based on the size of the volume to deduplicate.
-MinimumFileAgeDays- Number of days after the file is created before the file is considered to be in-policy for optimization. The Default and HyperV UsageType set this value to 3 to maximize performance on hot or recently created files. You may want to modify this if you want Data Deduplication to be more aggressive or if you do not care about the extra latency associated with deduplication.
-MinimumFileSize- Specifies the minimum size threshold, in bytes, for files that are optimized. The deduplication engine does not optimize files that do not meet the minimum threshold.
-NoCompress- Indicates whether or not the server compresses data after deduplication. Compression uses more processor cycles but provides additional space savings.
-NoCompressionFileType- Specifies an array of file types that the deduplication engine excludes from compression. These file types are deduplicated but not compressed, typically because the file format is already compressed. Specify comma-separated values that are not preceded with a period (.). When you change this setting, you override the existing values.
-OptimizeInUseFiles- Indicates that the server attempts to optimize currently open files. After specifying this parameter, the server may wait up to 15 minutes before it attempts to optimize open files. Enable-DedupVolume modifies this behavior, depending on the value of the UsageType parameter. If you use the current parameter to modify this behavior, and then run Enable-DedupVolume again, that cmdlet overrides your changes.
-OptimizePartialFiles- Indicates that the server optimizes all files, including portions of files that are old enough, according to the value of the MinimumFileAgeDays parameter. Enable-DedupVolume modifies this behavior, depending on the value of the UsageType parameter. If you use the current parameter to modify this behavior, and then run Enable-DedupVolume again, that cmdlet overrides your changes.
-PassThru- Returns an object representing the item with which you are working. By default, this cmdlet does not generate any output.
-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.
-Verify- Indicates whether the deduplication engine performs a byte-for-byte verification for each duplicate chunk that optimization creates, rather than relying on a cryptographically strong hash. We do not recommend that you use this parameter. Setting this parameter to $True can degrade optimization performance.
-VolumeId- Specifies an array of volume IDs.
Windows with the Deduplication module and the Windows feature or management tools that provide it. Confirm target connectivity and version compatibility using the linked Microsoft reference.
This cmdlet changes system state. Review every target and parameter in the official reference, test outside production, and prepare an appropriate backup or rollback. Do not execute the example automatically.