New-JobTrigger
예약된 작업에 대한 작업 트리거를 만듭니다.
구문
New-JobTrigger
[-RandomDelay <TimeSpan>]
-At <DateTime>
[-Once]
[-RepetitionInterval <TimeSpan>]
[-RepetitionDuration <TimeSpan>]
[-RepeatIndefinitely]
[<CommonParameters>]
New-JobTrigger
[-DaysInterval <Int32>]
[-RandomDelay <TimeSpan>]
-At <DateTime>
[-Daily]
[<CommonParameters>]
New-JobTrigger
[-WeeksInterval <Int32>]
[-RandomDelay <TimeSpan>]
-At <DateTime>
-DaysOfWeek <DayOfWeek[]>
[-Weekly]
[<CommonParameters>]
New-JobTrigger
[-RandomDelay <TimeSpan>]
[-AtStartup]
[<CommonParameters>]
New-JobTrigger
[-RandomDelay <TimeSpan>]
[-User <String>]
[-AtLogOn]
[<CommonParameters>]
Description
New-JobTrigger cmdlet은 일회성 또는 되풀이 일정 또는 이벤트가 발생할 때 예약된 작업을 시작하는 작업 트리거를 만듭니다.
New-JobTrigger 반환할
작업 트리거를 만들 때 New-ScheduledJobOption cmdlet에서 지정한 옵션의 기본값을 검토합니다. 작업 스케줄러해당 옵션과 동일한 유효하고 기본값이 있는 이러한 옵션은 예약된 작업의 예약 및 타이밍에 영향을 미칩니다.
New-JobTrigger Windows PowerShell에 포함된 PSScheduledJob 모듈의 작업 예약 cmdlet 컬렉션 중 하나입니다.
예약된 작업에 대한 자세한 내용은 PSScheduledJob 모듈의 정보 항목을 참조하세요.
PSScheduledJob 모듈을 가져온 다음 Get-Help about_Scheduled*
입력하거나 about_Scheduled_Jobs 확인합니다.
이 cmdlet은 Windows PowerShell 3.0에서 도입되었습니다.
예제
예제 1: 일정 한 번
PS C:\> New-JobTrigger -Once -At "1/20/2012 3:00 AM"
이 명령은 New-JobTrigger cmdlet을 사용하여 예약된 작업을 한 번만 시작하는 작업 트리거를 만듭니다. At 매개 변수의 값은 Windows PowerShell이 DateTime 개체로 변환하는 문자열입니다. At 매개 변수 값에는 시간뿐만 아니라 명시적 날짜가 포함됩니다. 날짜를 생략하면 트리거는 현재 날짜와 오전 3:00 시간으로 만들어지며 이는 과거의 시간을 나타낼 가능성이 높습니다.
예제 2: 일별 일정
PS C:\> New-JobTrigger -Daily -At "4:15 AM" -DaysInterval 3
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
0 Daily 9/21/2012 4:15:00 AM True
이 명령은 오전 4시 15분에 3일마다 예약된 작업을 시작하는 작업 트리거를 만듭니다.
At 매개 변수의 값에는 날짜가 포함되지 않으므로 현재 날짜는 DateTime 개체의 날짜 값으로 사용됩니다. 날짜 및 시간이 과거인 경우 예약된 작업은 다음에 발생할 때 시작됩니다. 이 작업은 At 매개 변수 값에서 3일 후입니다.
예제 3: 매주 일정
PS C:\> New-JobTrigger -Weekly -DaysOfWeek Monday, Wednesday, Friday -At "23:00" -WeeksInterval 4
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
0 Weekly 9/21/2012 11:00:00 PM {Monday, Wednesday, Friday} True
이 명령은 월요일, 수요일 및 금요일 2300시간(오후 11시)에 4주마다 예약된 작업을 시작하는 작업 트리거를 만듭니다.
-DaysOfWeek 1, 5
같은 DaysOfWeek 매개 변수 값을 정수로 입력할 수도 있습니다.
예제 4: 로그온 일정
PS C:\> New-JobTrigger -AtLogOn -User Domain01\Admin01
이 명령은 도메인 관리자가 컴퓨터에 로그온할 때마다 예약된 작업을 시작하는 작업 트리거를 만듭니다.
예제 5: 임의 지연 사용
PS C:\> New-JobTrigger -Daily -At 1:00 -RandomDelay 00:20:00
이 명령은 매일 아침 1:00에 예약된 작업을 시작하는 작업 트리거를 만듭니다. 이 명령은 RandomDelay 매개 변수를 사용하여 최대 지연 시간을 20분으로 설정합니다. 결과적으로 작업은 매일 오전 1:00~오전 1:20 사이에 실행되며 간격은 의사 임의로 다릅니다.
샘플링, 부하 분산 및 기타 관리 작업에 임의 지연을 사용할 수 있습니다. 지연 값을 설정할 때 New-ScheduledJobOption cmdlet의 유효 및 기본값을 검토하고 옵션 설정으로 지연을 조정합니다.
예제 6: 새 예약된 작업에 대한 작업 트리거 만들기
The first command uses the **New-JobTrigger** cmdlet to create a job trigger that starts a job every Monday, Wednesday, and Friday at 12:01 AM. The command saves the job trigger in the $T variable.
PS C:\> $T = New-JobTrigger -Weekly -DaysOfWeek 1,3,5 -At 12:01AM
The second command uses the Register-ScheduledJob cmdlet to create a scheduled job that starts a job every Monday, Wednesday, and Friday at 12:01 AM. The value of the *Trigger* parameter is the trigger that is stored in the $T variable.
PS C:\> Register-ScheduledJob -Name Test-HelpFiles -FilePath C:\Scripts\Test-HelpFiles.ps1 -Trigger $T
이러한 명령은 작업 트리거를 사용하여 예약된 새 작업을 만듭니다.
예제 7: 예약된 작업에 작업 트리거 추가
PS C:\> Add-JobTrigger -Name SynchronizeApps -Trigger (New-JobTrigger -Daily -At 3:10AM)
이 예제에서는 기존 예약된 작업에 작업 트리거를 추가하는 방법을 보여줍니다. 예약된 모든 작업에 여러 작업 트리거를 추가할 수 있습니다.
이 명령은 Add-JobTrigger cmdlet을 사용하여 SynchronizeApps 예약된 작업에 작업 트리거를 추가합니다. 트리거 매개 변수의 값은 매일 오전 3시 10분에 작업을 실행하는 New-JobTrigger 명령입니다.
명령이 완료되면 SynchronizeApps는 작업 트리거에 지정된 시간에 실행되는 예약된 작업입니다.
예제 8: 반복 작업 트리거 만들기
PS C:\> New-JobTrigger -Once -At "09/12/2013 1:00:00" -RepetitionInterval (New-TimeSpan -Hours 1) -RepetitionDuration (New-Timespan -Hours 48)
이 명령은 2013년 9월 12일 오전 1:00부터 48시간 동안 60분마다 작업을 실행하는 작업 트리거를 만듭니다.
예제 9: 반복 작업 트리거 중지
PS C:\> Get-JobTrigger -Name SecurityCheck | Set-JobTrigger -RepetitionInterval 0:00 -RepetitionDuration 0:00
이 명령은 작업 트리거가 만료될 때까지 60분마다 실행되도록 트리거되는 SecurityCheck 작업을 강제로 중지합니다.
작업이 반복되지 않도록 이 명령은 Get-JobTrigger 사용하여 SecurityCheck 작업의 작업 트리거와 Set-JobTrigger cmdlet을 가져와 작업 트리거의 반복 간격 및 반복 기간을 0으로 변경합니다.
예제 10: 시간당 작업 트리거 만들기
PS C:\> New-JobTrigger -Once -At "9/21/2012 0am" -RepetitionInterval (New-TimeSpan -Hour 12) -RepetitionDuration ([TimeSpan]::MaxValue)
다음 명령은 무기한 동안 12시간마다 한 번씩 예약된 작업을 실행하는 작업 트리거를 만듭니다. 일정은 내일(2012년 9월 21일) 자정(오전 0:00)에 시작됩니다.
매개 변수
-At
지정된 날짜 및 시간에 작업을 시작합니다. Get-Date cmdlet이 반환하는 것과 같은 DateTime 개체 또는 날짜 및 시간으로 변환할 수 있는 문자열(예: "2012년 4월 19일 15:00", "12/31" 또는 "오전 3시")을 입력합니다. 연도와 같은 날짜 요소를 지정하지 않으면 트리거의 날짜에 현재 날짜의 해당 요소가 있습니다.
Once 매개 변수를 사용하는 경우 At 매개 변수의 값을 이후 날짜 및 시간으로 설정합니다. DateTime 개체의 기본 날짜는 현재 날짜이므로 명시적 날짜가 없는 현재 시간 이전 시간을 지정하면 작업 트리거가 과거 시간 동안 만들어집니다.
DateTime 개체 및 DateTime 개체로 변환되는 문자열은 제어판의 지역 및 언어에서 로컬 컴퓨터에 대해 선택한 날짜 및 시간 형식과 호환되도록 자동으로 조정됩니다.
형식: | DateTime |
Position: | Named |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-AtLogOn
지정된 사용자가 컴퓨터에 로그온하면 예약된 작업을 시작합니다. 사용자를 지정하려면 User 매개 변수를 사용합니다.
형식: | SwitchParameter |
Position: | 0 |
Default value: | False |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-AtStartup
Windows가 시작될 때 예약된 작업을 시작합니다.
형식: | SwitchParameter |
Position: | 0 |
Default value: | False |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Daily
되풀이되는 일별 작업 일정을 지정합니다. Daily 매개 변수 집합의 다른 매개 변수를 사용하여 일정 세부 정보를 지정합니다.
형식: | SwitchParameter |
Position: | 0 |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-DaysInterval
일별 일정에 따라 발생 사이의 일 수를 지정합니다. 예를 들어 값 3은 1일, 4일, 7일 등에 예약된 작업을 시작합니다. 기본값은 1입니다.
형식: | Int32 |
Position: | Named |
Default value: | 1 |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-DaysOfWeek
매주 예약된 작업이 실행되는 요일을 지정합니다. 일 이름(예: "Monday" 또는 정수 0-6)을 입력합니다. 여기서 0은 일요일을 나타냅니다. 이 매개 변수는 Weekly 매개 변수 집합에 필요합니다.
일 이름은 작업 트리거에서 정수 값으로 변환됩니다. 명령에서 일 이름을 따옴표로 묶으면 각 일 이름을 "Monday", "tuesday"와 같은 별도의 따옴표로 묶습니다. 여러 일 이름을 작은따옴표 쌍으로 묶으면 해당 정수 값의 합계가 계산됩니다. 예를 들어 "Monday, Tuesday"(1, 2)의 값은 "Wednesday"(3)입니다.
형식: | DayOfWeek[] |
허용되는 값: | Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday |
Position: | Named |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Once
되풀이되지 않는(한 번) 또는 사용자 지정 반복 일정을 지정합니다. 반복 일정을 만들려면 RepetitionDuration 및 RepetitionInterval 매개 변수와 함께 Once 매개 변수를 사용합니다.
형식: | SwitchParameter |
Position: | 0 |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-RandomDelay
예약된 시작 시간에 시작되는 임의 지연을 사용하도록 설정하고 최대 지연 값을 설정합니다. 지연의 길이는 각 시작에 대해 의사 임의로 설정되며 지연 시간부터 이 매개 변수 값으로 지정된 시간까지 다양합니다. 기본값인 0(00:00:00)은 임의 지연을 사용하지 않도록 설정합니다.
New-TimeSpan cmdlet에서 반환된 것과 같은 시간 간격 개체를 입력하거나 <시간>값인<분>:<초> 형식을 입력합니다. 이 형식은 자동으로 TimeSpan 개체로 변환됩니다.
형식: | TimeSpan |
Position: | Named |
Default value: | 00:00:00 |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-RepeatIndefinitely
Windows PowerShell 4.0부터 사용할 수 있는 이 매개 변수는 예약된 작업을 무기한으로 반복 실행하기 위해 RepetitionDuration 매개 변수에 TimeSpan.MaxValue 값을 지정할 필요가 없습니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-RepetitionDuration
지정된 시간이 만료될 때까지 작업을 반복합니다. 반복 빈도는 RepetitionInterval 매개 변수의 값에 따라 결정됩니다. 예를 들어 RepetitionInterval 값이 5분이고 RepetitionDuration 값이 2시간인 경우 작업은 2시간 동안 5분마다 트리거됩니다.
New-TimeSpan cmdlet이 반환하는 시간 범위 개체 또는 "1:05:30"과 같이 시간 범위 개체로 변환할 수 있는 문자열을 입력합니다.
작업을 무기한 실행하려면 RepeatIndefinitely 매개 변수를 대신 추가합니다.
작업 트리거 반복 기간이 만료되기 전에 작업을 중지하려면 Set-JobTrigger cmdlet을 사용하여 RepetitionDuration 값을 0으로 설정합니다.
이 매개 변수는 Once, At 및 RepetitionInterval 매개 변수가 명령에 사용되는 경우에만 유효합니다.
형식: | TimeSpan |
Position: | Named |
Default value: | 0 |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-RepetitionInterval
지정된 시간 간격으로 작업을 반복합니다. 예를 들어 이 매개 변수의 값이 2시간이면 작업이 2시간마다 트리거됩니다. 기본값인 0은 작업을 반복하지 않습니다.
New-TimeSpan cmdlet이 반환하는 시간 범위 개체 또는 "1:05:30"과 같이 시간 범위 개체로 변환할 수 있는 문자열을 입력합니다.
이 매개 변수는 Once, At및 RepetitionDuration 매개 변수가 명령에 사용되는 경우에만 유효합니다.
형식: | TimeSpan |
Position: | Named |
Default value: | 0 |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-User
예약된 작업의 시작
형식: | String |
Position: | Named |
Default value: | All users |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Weekly
되풀이 주간 작업 일정을 지정합니다. Weekly 매개 변수 집합의 다른 매개 변수를 사용하여 일정 세부 정보를 지정합니다.
형식: | SwitchParameter |
Position: | 0 |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-WeeksInterval
주별 작업 일정에서 발생 사이의 주 수를 지정합니다. 예를 들어 값이 3이면 1주, 4주, 7주 등에 예약된 작업이 시작됩니다. 기본값은 1입니다.
형식: | Int32 |
Position: | Named |
Default value: | 1 |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
입력
None
이 cmdlet에 입력을 파이프할 수 없습니다.
출력
참고
작업 트리거는 디스크에 저장되지 않습니다. 그러나 예약된 작업은 디스크에 저장되며 Get-JobTrigger 사용하여 예약된 작업의 작업 트리거를 가져올 수 있습니다.
New-JobTrigger 과거 날짜에 대한 일회성 트리거와 같이 예약된 작업을 실행하지 않는 작업 트리거를 만드는 것을 방지하지는 않습니다.
Register-ScheduledJob cmdlet은 New-JobTrigger 반환된 개체 또는 Get-JobTrigger cmdlet 또는 트리거 값이 있는 해시 테이블과 같은 ScheduledJobTrigger 개체를 허용합니다.
해시 테이블을 제출하려면 다음 키를 사용합니다.
@{Frequency="Once" (or Daily, Weekly, AtStartup, AtLogon);At="3am"
(또는 유효한 시간 문자열)DaysOfWeek="Monday", "Wednesday"
(또는 일 이름의 조합)Interval=2
(또는 유효한 빈도 간격)RandomDelay="30minutes"
(또는 유효한 시간 범위 문자열)User="Domain1\User01
(또는 유효한 사용자, AtLogon 빈도 값에만 사용) }
관련 링크
- about_Scheduled_Jobs
- Add-JobTrigger
- Disable-JobTrigger
- Disable-ScheduledJob
- Enable-JobTrigger
- Enable-ScheduledJob
- Get-JobTrigger
- Get-ScheduledJob
- Get-ScheduledJobOption
- New-JobTrigger
- New-ScheduledJobOption
- Register-ScheduledJob
- Remove-JobTrigger
- Set-JobTrigger
- Set-ScheduledJob
- Set-ScheduledJobOption
- Unregister-ScheduledJob