Set-SCOMMaintenanceMode

Updates active maintenance mode entries.

Syntax

Set-SCOMMaintenanceMode [-MaintenanceModeEntry] <MaintenanceWindow[]> [-EndTime] <DateTime>
 [[-Comment] <String>] [[-Reason] <MaintenanceModeReason>] [-PassThru] [-Confirm] [-WhatIf]
 [<CommonParameters>]

Description

The Set-SCOMMaintenanceMode cmdlet updates active maintenance mode entries.
You can use this cmdlet to update only active entries.

When a resource is in maintenance mode, System Center 2016 - Operations Manager suppresses alerts, notifications, rules, monitors, automatic responses, state changes, and new alerts.

You can change the comment or reason for the maintenance mode.
Use the Get-SCOMMaintenanceMode cmdlet to get a maintenance mode entry to update.
Specify an end for the maintenance window.

Examples

Example 1: Update active maintenance mode entries for resources in a domain

PS C:\>$NewEndTime = (Get-Date).addDays(1)
PS C:\> Get-SCOMClassInstance -Name "*.Contoso.com" | Get-SCOMMaintenanceMode | Set-SCOMMaintenanceMode -EndTime $NewEndTime -Comment "Updating end time."
This example updates all active maintenance mode entries for a specified domain. The first command creates a DateTime object for one day in the future and then stores it in the $NewEndTime variable. The second command gets all class instances in the Contoso.com domain and uses the pipeline operator (|) to pass the class instance objects to the Get-SCOMMaintenanceMode cmdlet, which gets maintenance mode entry objects. The command uses the pipeline operator to pass these objects to the Set-SCOMMaintenanceMode cmdlet. This cmdlet updates the end time for each object to the DateTime object stored in the $NewEndTime variable. The command also includes a comment for each updated maintenance mode entry.

Example 2: Update maintenance mode entry for a specified resource

PS C:\>$Instance = Get-SCOMClassInstance -Name "Server01.Contoso.com"
PS C:\> $MMEntry = Get-SCOMMaintenanceMode -Instance $Instance
PS C:\> $NewEndTime = (Get-Date).addMinutes(30)
PS C:\> Set-SCOMMaintenanceMode -MaintenanceModeEntry $MMEntry -EndTime $NewEndTime -Comment "Adding 30 minutes to the end time."
This example extends maintenance mode for a specified server. The first command gets the class instance named Server01.Contoso.com and then stores it in the $Instance variable. The second command gets the maintenance mode entry for the class instance stored in the $Instance variable and stores the entry in the $MMEntry variable. The third command creates a DateTime object for 30 minutes in the future and then stores it in the $NewEndTime variable. The fourth command updates the maintenance mode session for the maintenance mode entry stored in the $MMEntry variable to the DateTime object stored in the $NewEndTime variable and adds a comment.

Parameters

-Comment

Specifies a comment for the maintenance mode entry.

Type:String
Required:False
Position:3
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-EndTime

Specifies when maintenance mode ends as a DateTime object.
A resource cannot be in maintenance mode for fewer than five minutes.
To obtain a DateTime object, use the Get-Date cmdlet.
For more information, type Get-Help Get-Date.

Type:DateTime
Required:True
Position:2
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-MaintenanceModeEntry

Specifies an array of MaintenanceWindow objects.
To obtain a MaintenanceWindow object, use the Get-SCOMMaintenanceMode cmdlet.

Type:MaintenanceWindow[]
Required:True
Position:1
Default value:None
Accept pipeline input:True (ByValue)
Accept wildcard characters:False

-Reason

Specifies a reason for maintenance mode.
The acceptable values for this parameter are:

- PlannedOther
- UnplannedOther
- PlannedHardwareMaintenance
- UnplannedHardwareMaintenance
- PlannedHardwareInstallation
- UnplannedHardwareInstallation
- PlannedOperatingSystemReconfiguration
- UnplannedOperatingSystemReconfiguration
- PlannedApplicationMaintenance
- ApplicationInstallation
- ApplicationUnresponsive
- ApplicationUnstable
- SecurityIssue
- LossOfNetworkConnectivity

Type:MaintenanceModeReason
Required:False
Position:4
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

Indicates that the cmdlet creates or modifies an object that a command can use in the pipeline.
By default, this cmdlet does not generate any output.

Type:SwitchParameter
Required:False
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Required:False
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Shows what would happen if the cmdlet runs.
The cmdlet is not run.

Type:SwitchParameter
Aliases:wi
Required:False
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False