New-AzureRMAutomationSchedule

Creates an Automation schedule.

Warning

The AzureRM PowerShell module has been officially deprecated as of February 29, 2024. Users are advised to migrate from AzureRM to the Az PowerShell module to ensure continued support and updates.

Although the AzureRM module may still function, it's no longer maintained or supported, placing any continued use at the user's discretion and risk. Please refer to our migration resources for guidance on transitioning to the Az module.

Syntax

New-AzureRMAutomationSchedule
   [-Name] <String>
   [-StartTime] <DateTimeOffset>
   [-Description <String>]
   [-ExpiryTime <DateTimeOffset>]
   -DayInterval <Byte>
   [-TimeZone <String>]
   [-ForUpdateConfiguration]
   [-ResourceGroupName] <String>
   [-AutomationAccountName] <String>
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzureRMAutomationSchedule
   [-Name] <String>
   [-StartTime] <DateTimeOffset>
   [-Description <String>]
   [-DaysOfWeek <DayOfWeek[]>]
   [-ExpiryTime <DateTimeOffset>]
   -WeekInterval <Byte>
   [-TimeZone <String>]
   [-ForUpdateConfiguration]
   [-ResourceGroupName] <String>
   [-AutomationAccountName] <String>
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzureRMAutomationSchedule
   [-Name] <String>
   [-StartTime] <DateTimeOffset>
   [-Description <String>]
   [-DaysOfMonth <DaysOfMonth[]>]
   [-ExpiryTime <DateTimeOffset>]
   -MonthInterval <Byte>
   [-TimeZone <String>]
   [-ForUpdateConfiguration]
   [-ResourceGroupName] <String>
   [-AutomationAccountName] <String>
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzureRMAutomationSchedule
   [-Name] <String>
   [-StartTime] <DateTimeOffset>
   [-Description <String>]
   [-DayOfWeek <DayOfWeek>]
   [-DayOfWeekOccurrence <DayOfWeekOccurrence>]
   [-ExpiryTime <DateTimeOffset>]
   -MonthInterval <Byte>
   [-TimeZone <String>]
   [-ForUpdateConfiguration]
   [-ResourceGroupName] <String>
   [-AutomationAccountName] <String>
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzureRMAutomationSchedule
   [-Name] <String>
   [-StartTime] <DateTimeOffset>
   [-Description <String>]
   [-OneTime]
   [-TimeZone <String>]
   [-ForUpdateConfiguration]
   [-ResourceGroupName] <String>
   [-AutomationAccountName] <String>
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzureRMAutomationSchedule
   [-Name] <String>
   [-StartTime] <DateTimeOffset>
   [-Description <String>]
   [-ExpiryTime <DateTimeOffset>]
   -HourInterval <Byte>
   [-TimeZone <String>]
   [-ForUpdateConfiguration]
   [-ResourceGroupName] <String>
   [-AutomationAccountName] <String>
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

Description

The New-AzureRmAutomationSchedule cmdlet creates a schedule in Azure Automation.

Examples

Example 1: Create a one-time schedule in local time

PS C:\> $TimeZone = ([System.TimeZoneInfo]::Local).Id
PS C:\> New-AzureRmAutomationSchedule -AutomationAccountName "Contoso17" -Name "Schedule01" -StartTime "23:00" -OneTime -ResourceGroupName "ResourceGroup01" -TimeZone $TimeZone

The first command gets the time zone ID from the system and stores it in the $TimeZone variable. The second command creates a schedule that runs one time on the current date at 11:00 PM in the specified time zone..

Example 2: Create a recurring schedule

PS C:\> $StartTime = Get-Date "13:00:00"
PS C:\> $EndTime = $StartTime.AddYears(1)
PS C:\> New-AzureRmAutomationSchedule -AutomationAccountName "Contoso17" -Name "Schedule02" -StartTime $StartTime -ExpiryTime $EndTime -DayInterval 1 -ResourceGroupName "ResourceGroup01"

The first command creates a date object by using the Get-Date cmdlet, and then stores the object in the $StartDate variable. Specify a time that is at least five minutes in the future. The second command creates a date object by using the Get-Date cmdlet, and then stores the object in the $EndDate variable. The command specifies a future time. The final command creates a daily schedule named Schedule02 to begin at the time stored in $StartDate and expire at the time stored in $EndDate.

Example 3: Create a weekly recurring schedule

PS C:\> $StartTime = (Get-Date "13:00:00").AddDays(1)
PS C:\> [System.DayOfWeek[]]$WeekDays = @([System.DayOfWeek]::Monday..[System.DayOfWeek]::Friday)
PS C:\> New-AzureRmAutomationSchedule -AutomationAccountName "Contoso17" -Name "Schedule03" -StartTime $StartTime - WeekInterval 1 -DaysOfWeek $WeekDays -ResourceGroupName "ResourceGroup01"

The first command creates a date object by using the Get-Date cmdlet, and then stores the object in the $StartDate variable. The second command creates an array of week days that contains Monday, Tuesday, Wednesday, Thursday and Friday. The final command creates a daily schedule named Schedule03 that will run Monday to Friday each week at 13:00. The schedule will never expire.

Parameters

-AutomationAccountName

Specifies the name of an Automation account for which this cmdlet creates a schedule.

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

-DayInterval

Specifies an interval, in days, for the schedule. If you do not specify this parameter, and you do not specify the OneTime parameter, the default value is one (1).

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

-DayOfWeek

Specifies a list of days of the week for the weekly schedule.

Type:Nullable<T>[DayOfWeek]
Accepted values:Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DayOfWeekOccurrence

Specifies the occurrence of the week within the month that the schedule runs. psdx_paramvalues

  • 1
  • 2
  • 3
  • 4
  • -1
  • First
  • Second
  • Third
  • Fourth
  • LastDay
Type:DayOfWeekOccurrence
Accepted values:First, Second, Third, Fourth, Last
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DaysOfMonth

Specifies a list of days of the month for the monthly schedule.

Type:DaysOfMonth[]
Accepted values:One, Two, Three, Four, Five, Six, Seventh, Eighth, Ninth, Tenth, Eleventh, Twelfth, Thirteenth, Fourteenth, Fifteenth, Sixteenth, Seventeenth, Eighteenth, Nineteenth, Twentieth, TwentyFirst, TwentySecond, TwentyThird, TwentyFourth, TwentyFifth, TwentySixth, TwentySeventh, TwentyEighth, TwentyNinth, Thirtieth, ThirtyFirst, LastDay
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DaysOfWeek

Specifies a list of days of the week for the weekly schedule.

Type:DayOfWeek[]
Accepted values:Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

The credentials, account, tenant, and subscription used for communication with azure

Type:IAzureContextContainer
Aliases:AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

Specifies a description for the schedule.

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

-ExpiryTime

Specifies the expiry time of a schedule as a DateTimeOffest object. You can specify a string that can be converted to a valid DateTimeOffset.

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

-ForUpdateConfiguration

Indicates that this schedule object will be used for scheduling a software update configuration

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

-HourInterval

Specifies an interval, in hours, for the schedule.

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

-MonthInterval

Specifies an interval, in Months, for the schedule.

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

-Name

Specifies a name for the schedule.

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

-OneTime

Specifies that the cmdlet creates a one-time schedule.

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

-ResourceGroupName

Specifies the name of a resource group for which this cmdlet creates a schedule.

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

-StartTime

Specifies the start time of a schedule as a DateTimeOffset object. You can specify a string that can be converted to a valid DateTimeOffset. If the TimeZone parameter is specified, the offset will be ignored and the time zone specified is used.

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

-TimeZone

Specifies the time zone for the schedule. This string can be the IANA ID or the Windows Time Zone ID.

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

-WeekInterval

Specifies an interval, in weeks, for the schedule.

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

Inputs

String

DateTimeOffset

Outputs

Schedule