The Set-DedupSchedule cmdlet changes configuration settings for one or more data deduplication
schedules.
Examples
Example 1: Change settings of a data deduplication schedule for a garbage collection job
$params = @{
Days = 'Sunday'
DurationHours = 5
Name = 'OffHoursGC'
Priority = 'Normal'
Start = '08:00'
Type = 'GarbageCollection'
}
Set-DedupSchedule @params
This command changes the settings of a data deduplication schedule for a garbage collection job
named OffHoursGC. The job is scheduled to run every Sunday at 08:00 with NormalPriority. The command specifies that the server cancels the job after 5 hours if the process
has not ended.
Example 2: Change settings of a data deduplication schedule for a scrubbing job
$params = @{
Days = Monday,Tuesday,Wednesday,Thursday,Friday
DurationHours = 6
Name = "OffHoursScrub"
Priority = Normal
Start = 23:00
StopWhenSystemBusy = $true
Type = Scrubbing
}
Set-DedupSchedule @params
This command changes the settings of a data deduplication schedule for a ScrubbingType job
with a Name of OffHoursScrub. The command starts the scrubbing job at 23:00 every day Monday
through Friday at normal priority. The StopWhenSystemBusy parameter specifies that the server
stops the job when the system is busy and retries later. The DurationHours parameter specifies
that the server cancels the job after 6 hours if the process has not ended.
Example 3: Change settings of a data deduplication schedule for an optimization job
$params = @{
Days = @(
'Monday'
'Tuesday'
'Wednesday'
'Thursday'
'Friday'
)
DurationHours = 9
Name = 'MyWeekendOptimization'
Start = '08:00'
Type = 'Optimization'
}
Set-DedupSchedule @params
This command changes the settings of a data deduplication schedule for an optimization job named
MyWeekdayOptimization. The optimization job runs at a NormalPriority every weekday evening
at 08:00. DurationHours specifies that the server cancels the job after 9 hours if the
process has not ended.
Parameters
-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.
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.
Specifies the number of hours that the server runs the task before canceling it. The value 0
indicates that the server runs the job to completion. This cmdlet safely stops a data deduplication
job and does not affect the files that the server is processing when it cancels the job.
Indicates that garbage collection jobs free up all deleted or unreferenced data on the volume, if
you specify the value GarbageCollection for the Type parameter. If you do not specify this
parameter, garbage collection jobs free up space after a system threshold of delete data is
exceeded. We recommend that you run garbage collection regularly without specifying this parameter,
and then once a month specify this parameter and run garbage collection again.
If you specify the value Scrubbing for the Type parameter, this parameter indicates that
scrubbing jobs validate the integrity of all data on the volume. If you do not specify this
parameter, the scrubbing job validates only critical metadata and data integrity issues that data
deduplication previously encountered. We recommend that you run scrubbing regularly without
specifying this parameter, and then once a month specify this parameter and run scrubbing again.
Specifies the amount of input/output throttling applied to the deduplication job. Throttling ensures
that deduplication does not interfere with other I/O intensive processes. The acceptable values for
this parameter are: integers from 0 to 100. If you specify this parameter and the
InputOutputThrottleLevel parameter, InputOutputThrottle takes precedence.
Specifies the amount of I/O throttling that the job provides to ensure that the job does not
interfere with other I/O intensive processes. The acceptable values for this parameter are:
None
Low
Medium
High
Parameter properties
Type:
InputOutputThrottleLevel
Default value:
None
Accepted values:
None, Low, Medium, High, Maximum
Supports wildcards:
False
DontShow:
False
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
False
Value from remaining arguments:
False
-Memory
Specifies the maximum percentage of physical computer memory that the data deduplication job can
use.
For optimization jobs, we recommend that you set a range from 15 to 50, and a higher memory
consumption for jobs that you schedule to run when you specify the StopWhenSystemBusy parameter.
For garbage collection and scrubbing jobs, which you typically schedule to run in off hours, you can
set higher memory consumption, such as 50.
Sets the CPU and I/O priority for the optimization job that you run by using this cmdlet. For jobs
that you run when you specify the StopWhenSystemBusy parameter, we recommend that you set this
parameter to Low. For typical optimization jobs, we recommend that you set this parameter to
Normal.
Parameter properties
Type:
Priority
Default value:
None
Accepted values:
Low, Normal, High
Supports wildcards:
False
DontShow:
False
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
False
Value from remaining arguments:
False
-ReadOnly
Indicates whether the scrubbing job processes and reports on corruptions that it finds but does not
run any repair actions.
Indicates whether the server stops the job when the system is busy and retries later. We recommend
that you specify this parameter when you set a low priority for the job.
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.
Parameter properties
Type:
Int32
Default value:
None
Supports wildcards:
False
DontShow:
False
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
False
Value from remaining arguments:
False
-Type
Specifies an array of types of data deduplication jobs. The acceptable values for this parameter
are:
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable,
-InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable,
-ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see
about_CommonParameters.
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.
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.