New-ScheduledJobOption
예약된 작업에 대한 고급 옵션이 포함된 개체를 만듭니다.
구문
New-ScheduledJobOption
[-RunElevated]
[-HideInTaskScheduler]
[-RestartOnIdleResume]
[-MultipleInstancePolicy <TaskMultipleInstancePolicy>]
[-DoNotAllowDemandStart]
[-RequireNetwork]
[-StopIfGoingOffIdle]
[-WakeToRun]
[-ContinueIfGoingOnBattery]
[-StartIfOnBattery]
[-IdleTimeout <TimeSpan>]
[-IdleDuration <TimeSpan>]
[-StartIfIdle]
[<CommonParameters>]
Description
cmdlet은 New-ScheduledJobOption
예약된 작업에 대한 고급 옵션을 포함하는 개체를 만듭니다.
반환되는 ScheduledJobOptions 개체 New-ScheduledJobOption
를 사용하여 새 작업 또는 기존 예약된 작업에 대한 작업 옵션을 설정할 수 있습니다. 또는 cmdlet을 사용하여 Get-ScheduledJobOption
기존 예약된 작업의 작업 옵션을 얻거나 해시 테이블 값을 사용하여 작업 옵션을 표시하여 작업 옵션을 설정할 수 있습니다.
매개 변수 New-ScheduledJobOption
가 없으면 모든 옵션에 대한 기본값을 포함하는 개체를 생성합니다. JobDefinition 속성을 제외한 모든 속성을 편집할 수 있으므로 결과 개체를 템플릿으로 사용하고 엔터프라이즈에 대한 표준 옵션 개체를 만들 수 있습니다.
예약된 작업을 만들고 예약된 작업 옵션을 설정할 때 모든 예약된 작업 옵션의 기본값을 검토합니다. 예약된 작업은 실행에 대해 설정된 모든 조건이 충족되는 경우에만 실행됩니다.
New-ScheduledJobOption
는 Windows PowerShell에 포함된 PSScheduledJob 모듈의 작업 예약 cmdlet 컬렉션 중 하나입니다.
예약된 작업에 대한 자세한 내용은 PSScheduledJob 모듈의 정보 항목을 참조하세요. PSScheduledJob 모듈을 가져온 다음 다음을 Get-Help about_Scheduled*
입력하거나 about_Scheduled_Jobs 확인합니다.
이 cmdlet은 Windows PowerShell 3.0에서 도입되었습니다.
예제
예제 1: 기본값을 사용하여 예약된 작업 옵션 개체 만들기
다음은 기본값을 사용하여 예약된 작업 옵션 개체를 만드는 예제입니다.
New-ScheduledJobOption
예제 2: 사용자 지정 값을 사용하여 예약된 작업 옵션 개체 만들기
이 예제에서는 사용자 지정 값을 사용하여 예약된 작업 옵션 개체를 만듭니다.
New-ScheduledJobOption -RequireNetwork -StartIfOnBattery
StartIfOnBatteries : True
StopIfGoingOnBatteries : True
WakeToRun : False
StartIfNotIdle : True
StopIfGoingOffIdle : False
RestartOnIdleResume : False
IdleDuration : 00:10:00
IdleTimeout : 01:00:00
ShowInTaskScheduler : True
RunElevated : False
RunWithoutNetwork : False
DoNotAllowDemandStart : False
MultipleInstancePolicy : Ignore
NewJobDefinition :
다음 명령은 네트워크가 필요한 예약된 작업 개체를 만들고 컴퓨터가 AC 전원에 연결되지 않은 경우에도 예약된 작업을 실행합니다.
출력은 RequireNetwork 매개 변수가 RunWithoutNetwork 속성 $false
의 값을 변경하고 StartIfOnBattery 매개 변수가 StartIfOnBatteries 속성의 값을 변경했음을 $true
보여줍니다.
예제 3: 새 예약된 작업에 대한 옵션 설정
이 예제에서는 새 예약된 작업에 대한 옵션을 설정하기 위해 반환되는 New-ScheduledJobOption
ScheduledJobOptions 개체를 사용하는 방법을 보여 줍니다.
$runAsAdmin = New-ScheduledJobOption -RunElevated
Register-ScheduledJob -Name Backup -FilePath D:\Scripts\Backup.ps1 -Trigger $Mondays -ScheduledJobOption $RunAsAdmin
Get-ScheduledJobOption -Name Backup
StartIfOnBatteries : False
StopIfGoingOnBatteries : True
WakeToRun : False
StartIfNotIdle : True
StopIfGoingOffIdle : False
RestartOnIdleResume : False
IdleDuration : 00:10:00
IdleTimeout : 01:00:00
ShowInTaskScheduler : True
RunElevated : True
RunWithoutNetwork : True
DoNotAllowDemandStart : False
MultipleInstancePolicy : IgnoreNew
JobDefinition : Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition
첫 번째 명령은 RunElevated 매개 변수를 사용하여 ScheduledJobOptions 개체를 만듭니다. 변수에 개체를 $runAsAdmin
저장합니다.
두 번째 명령은 cmdlet을 Register-ScheduledJob
사용하여 예약된 새 작업을 만듭니다. ScheduledJobOption 매개 변수의 값은 변수 값의 $runAsAdmin
옵션 개체입니다.
세 번째 명령은 cmdlet을 Get-ScheduledJobOption
사용하여 예약된 백업 작업의 작업 옵션을 가져옵니다. cmdlet 출력은 RunElevated 속성이 설정 $true
되고 작업 옵션 개체의 JobDefinition 속성이 예약된 백업 작업의 예약된 작업 개체로 채워져 있음을 보여줍니다.
예제 4: 예약된 작업 옵션 개체의 속성 정렬
이 예제에서는 읽기 쉽도록 ScheduledJobOptions 개체의 속성을 사전순으로 정렬하는 방법을 보여 줍니다.
$options = New-ScheduledJobOption -WakeToRun
$options.PSObject.Properties | Sort-Object -Property Name | Format-Table -Property Name, Value -Autosize
Name Value
---- -----
DoNotAllowDemandStart False
IdleDuration 00:10:00
IdleTimeout 01:00:00
JobDefinition
MultipleInstancePolicy IgnoreNew
RestartOnIdleResume False
RunElevated False
RunWithoutNetwork True
ShowInTaskScheduler True
StartIfNotIdle True
StartIfOnBatteries False
StopIfGoingOffIdle False
StopIfGoingOnBatteries True
WakeToRun True
첫 번째 명령은 cmdlet을 New-ScheduledJobOption
사용하여 ScheduledJobOptions 개체를 만듭니다. 이 명령은 WakeToRun 매개 변수를 사용하고 결과 개체를 변수에 $options
저장합니다.
$Options 속성을 개체로 가져오기 위해 두 번째 명령은 모든 Windows PowerShell 개체의 PSObject 속성과 해당 속성 속성을 사용합니다. 그런 다음 이 명령은 속성 개체를 cmdlet으로 Sort-Object
파이프하여 이름을 기준으로 속성을 사전순으로 정렬한 다음 Format-Table
, 표에 있는 속성의 이름과 값을 표시하는 cmdlet으로 파이프합니다.
이 형식을 사용하면 ScheduledJobOptions 개체 $options
의 WakeToRun 속성을 훨씬 쉽게 찾고 해당 값이 변경되었는지 $false
확인할 수 $true
있습니다.
매개 변수
-ContinueIfGoingOnBattery
작업이 실행되는 동안 컴퓨터가 배터리 전원으로 전환되어도(AC 전원에서 연결 끊김) 예약된 작업을 중지하지 않습니다. 기본적으로 예약된 작업은 컴퓨터가 AC 전원에서 끊어지면 중지됩니다.
ContinueIfGoingOnBattery 매개 변수는 예약된 작업의 $true
StopIfGoingOnBatteries 속성 값을 .로 설정합니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-DoNotAllowDemandStart
작업이 트리거될 때만 작업을 시작합니다. 사용자가 작업 Scheduler의 실행 기능 등을 사용하여 수동으로 작업을 시작할 수 없습니다.
이 매개 변수는 작업 Scheduler에만 영향을 줍니다. 사용자가 cmdlet을 Start-Job
사용하여 작업을 시작하는 것을 방지하지는 않습니다.
DoNotAllowDemandStart 매개 변수는 예약된 작업의 $true
DoNotAllowDemandStart 속성 값을 .로 설정합니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-HideInTaskScheduler
작업 Scheduler에서 작업을 표시하지 않습니다. 이 값은 작업이 실행되는 컴퓨터에만 영향을 줍니다. 기본적으로 예약된 작업은 작업 Scheduler에 표시됩니다.
작업이 숨겨져 있더라도 사용자는 작업 스케줄러에서 숨겨진 작업 보기 표시 옵션을 선택하여 작업을 표시할 수 있습니다.
HideInTaskScheduler 매개 변수는 예약된 작업의 $false
ShowInTaskScheduler 속성 값을 .로 설정합니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-IdleDuration
작업이 시작되기 전에 컴퓨터가 유휴 상태여야 하는 기간을 지정합니다. 기본값은 10분입니다. IdleTimeout 값이 만료되기 전에 지정된 기간 동안 컴퓨터가 유휴 상태가 아닌 경우 예약된 작업은 다음 예약된 시간(있는 경우)까지 실행되지 않습니다.
cmdlet에서 생성된 것과 같은 TimeSpan 개체를 New-TimeSpan
입력하거나 TimeSpan 개체로 자동 변환되는 시간>:<분>:<초> 형식의 값을 <입력합니다.
이 값을 사용하려면 StartIfIdle 매개 변수를 사용합니다. 기본적으로 예약된 작업의 StartIfNotIdle 속성은 설정 $true
되고 Windows PowerShell은 IdleDuration 및 IdleTimeout 값을 무시합니다.
형식: | TimeSpan |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-IdleTimeout
예약된 작업이 컴퓨터가 유휴 상태가 될 때까지 대기하는 시간을 지정합니다. IdleDuration 매개 변수로 지정된 기간 동안 컴퓨터가 유휴 상태로 유지되기 전에 이 시간 제한이 만료되면 다음 예약된 시간(있는 경우)까지 작업이 실행되지 않습니다. 기본값은 1시간입니다.
cmdlet에서 생성된 것과 같은 TimeSpan 개체를 New-TimeSpan
입력하거나 TimeSpan 개체로 자동 변환되는 시간>:<분>:<초> 형식의 값을 <입력합니다.
이 값을 사용하려면 StartIfIdle 매개 변수를 사용합니다. 기본적으로 예약된 작업의 StartIfNotIdle 속성은 설정 $true
되고 Windows PowerShell은 IdleDuration 및 IdleTimeout 값을 무시합니다.
형식: | TimeSpan |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-MultipleInstancePolicy
작업의 다른 인스턴스가 실행되는 동안 시스템이 예약된 작업의 인스턴스를 시작하라는 요청에 응답하는 방법을 결정합니다. 기본값은 IgnoreNew
입니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.
IgnoreNew
- 새 작업 인스턴스가 무시됩니다.Parallel
- 새 작업 인스턴스가 즉시 시작됩니다.Queue
- 새 작업 인스턴스는 현재 인스턴스가 완료되는 즉시 시작됩니다.StopExisting
- 작업의 현재 인스턴스가 중지되고 새 인스턴스가 시작됩니다.
작업을 실행하려면 작업 일정에 대한 모든 조건을 충족해야 합니다. 예를 들어 RequireNetwork, IdleDuration 및 IdleTimeout 매개 변수에 의해 설정된 조건이 충족되지 않으면 이 매개 변수의 값에 관계없이 작업 인스턴스가 시작되지 않습니다.
형식: | TaskMultipleInstancePolicy |
허용되는 값: | None, IgnoreNew, Parallel, Queue, StopExisting |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-RequireNetwork
네트워크 연결을 사용할 수 있는 경우에만 예약된 작업을 실행합니다.
이 매개 변수를 지정하고 예약된 시작 시간에 네트워크를 사용할 수 없는 경우 다음 예약된 시작 시간(있는 경우)까지 작업이 실행되지 않습니다.
RequireNetwork 매개 변수는 예약된 작업의 RunWithoutNetwork 속성 값을 .로 $false
설정합니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-RestartOnIdleResume
컴퓨터가 유휴 상태가 되면 예약된 작업을 다시 시작합니다. 이 매개 변수는 StopIfGoingOffIdle 매개 변수와 함께 작동합니다. 이 매개 변수는 컴퓨터가 활성 상태가 되면 실행 중인 예약된 작업을 일시 중단합니다(유휴 상태 유지).
RestartOnIdleResume 매개 변수는 예약된 작업의 $true
RestartOnIdleResume 속성 값을 .로 설정합니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-RunElevated
작업이 실행되는 컴퓨터에서 Administrators 그룹 구성원의 권한으로 예약된 작업을 실행합니다.
관리자 권한으로 예약된 작업을 실행할 수 있도록 하려면 자격 증명 매개 변수 Register-ScheduledJob
를 사용하여 작업에 대한 명시적 자격 증명을 제공합니다.
RunElevated 매개 변수는 예약된 작업의 $true
RunElevated 속성 값을 .로 설정합니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-StartIfIdle
IdleTimeout 매개 변수에 지정된 시간이 만료되기 전에 IdleDuration 매개 변수로 지정된 시간 동안 컴퓨터가 유휴 상태인 경우 예약된 작업을 시작합니다.
기본적으로 IdleDuration 및 IdleTimeout 매개 변수는 무시되며 컴퓨터가 사용 중인 경우에도 예약된 시작 시간에 작업이 시작됩니다.
이 매개 변수를 지정하고 컴퓨터가 예약된 시작 시간에 사용 중(유휴 상태가 아님)이면 다음 예약된 시작 시간(있는 경우)까지 작업이 실행되지 않습니다.
StartIfIdle 매개 변수는 예약된 작업의 StartIfNotIdle 속성 값을 .로 $false
설정합니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-StartIfOnBattery
예약된 시작 시간에 컴퓨터가 배터리 전원으로 실행되고 있어도 예약된 작업을 시작합니다.
기본값은 $false
입니다.
StartIfOnBattery 매개 변수는 예약된 작업의 StartIfOnBatteries 속성 값을 .로 $true
설정합니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-StopIfGoingOffIdle
작업이 실행되는 동안 컴퓨터가 활성 상태가 되면(유휴 상태가 아님) 실행 중인 예약된 작업을 일시 중단합니다.
기본적으로 컴퓨터가 활성 상태일 때 일시 중단되는 예약된 작업은 컴퓨터가 다시 유휴 상태가 되면 다시 시작됩니다. 이 기본 동작을 변경하려면 RestartOnIdleResume 매개 변수를 사용합니다.
StopIfGoingOffIdle 매개 변수는 예약된 작업의 $true
StopIfGoingOffIdle 속성 값을 .로 설정합니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-WakeToRun
작업을 실행할 수 있도록 예약된 시작 시간에 컴퓨터를 최대 절전 또는 절전 모드에서 해제합니다. 기본적으로 컴퓨터가 예약된 시작 시간에 최대 절전 모드 또는 절전 모드 상태이면 작업이 실행되지 않습니다.
WakeToRun 매개 변수는 예약된 작업의 WakeToRun 속성 값을 .로 $true
설정합니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
입력
None
개체를 이 cmdlet으로 파이프할 수 없습니다.
출력
이 cmdlet은 만든 옵션을 나타내는 ScheduledJobOptions 개체를 반환합니다.
참고
cmdlet의 ScheduledJobOption 매개 변수 값으로 만드는 ScheduledJobOptions 개체
New-ScheduledJobOption
를Register-ScheduledJob
사용할 수 있습니다. 그러나 ScheduledJobOption 매개 변수는 ScheduledJobOptions 개체의 속성과 해당 값을 지정하는 해시 테이블 값을 사용할 수도 있습니다. 예를 들면 다음과 같습니다.@{ShowInTaskScheduler=$False; RunElevated=$True; IdleDuration="00:05"}
관련 링크
- 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
PowerShell