다음을 통해 공유


Set-ScheduledJobOption

예약된 작업의 작업 옵션을 변경합니다.

구문

Set-ScheduledJobOption
   [-InputObject] <ScheduledJobOptions>
   [-PassThru]
   [-RunElevated]
   [-HideInTaskScheduler]
   [-RestartOnIdleResume]
   [-MultipleInstancePolicy <TaskMultipleInstancePolicy>]
   [-DoNotAllowDemandStart]
   [-RequireNetwork]
   [-StopIfGoingOffIdle]
   [-WakeToRun]
   [-ContinueIfGoingOnBattery]
   [-StartIfOnBattery]
   [-IdleTimeout <TimeSpan>]
   [-IdleDuration <TimeSpan>]
   [-StartIfIdle]
   [<CommonParameters>]

Description

Set-ScheduledJobOptions cmdlet은 예약된 작업의 작업 옵션을 변경합니다.

예약된 작업의 옵션을 변경하려면 먼저 Get-ScheduledJobOption cmdlet을 사용하여 예약된 작업의 작업 옵션을 가져옵니다. 그런 다음 옵션을 파이프하여 Set-ScheduledJobOption 옵션을 변수에 저장하고 Set-ScheduledJobOption cmdlet의 InputObject 매개 변수를 사용하여 옵션을 식별합니다. Set-ScheduledJobOption 나머지 매개 변수를 사용하여 작업 옵션을 변경합니다.

작업 옵션을 켜려면 해당 옵션을 설정하는 매개 변수를 사용합니다. 옵션을 해제하려면 매개 변수 이름, 콜론(:) 및 $False 입력합니다. 예를 들어 RunElevated 옵션을 해제하려면 -RunElevated:$False입력합니다.

각 작업 옵션 개체에는 예약된 작업이 포함된 JobDefinition 속성이 포함되어 있으므로 작업 옵션이 변경될 때 예약된 작업과의 연결이 유지됩니다.

예약된 작업 옵션은 작업 스케줄러에서 작업을 시작할 때 작업이 실행되는 방식을 결정합니다. 이러한 옵션은 Start-Job cmdlet을 사용하여 예약된 작업을 시작할 때 적용되지 않습니다.

Set-ScheduledJobOption Windows PowerShell에 포함된 PSScheduledJob 모듈의 작업 예약 cmdlet 컬렉션 중 하나입니다.

예약된 작업에 대한 자세한 내용은 PSScheduledJob 모듈의 정보 항목을 참조하세요. PSScheduledJob 모듈을 가져온 다음 Get-Help about_Scheduled* 입력하거나 about_Scheduled_Jobs 확인합니다.

이 cmdlet은 Windows PowerShell 3.0에서 도입되었습니다.

예제

예제 1: 작업 옵션 변경

PS C:\> Get-ScheduledJobOption -Name "DeployPackage"
StartIfOnBatteries     : False
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 : IgnoreNew
JobDefinition          :

The second command uses the **Set-ScheduledJobOpton** cmdlet to change the job options so the values of the WakeToRun and RunWithoutNetwork properties are $True. The command uses the *Passthru* parameter to return the trigger after the change.
PS C:\> Get-ScheduledJobOption -Name "DeployPackage" | Set-ScheduledJobOption -WakeToRun -RequireNetwork:$False -Passthru
StartIfOnBatteries     : False
StopIfGoingOnBatteries : True
WakeToRun              : True
StartIfNotIdle         : True
StopIfGoingOffIdle     : False
RestartOnIdleResume    : False
IdleDuration           : 00:10:00
IdleTimeout            : 01:00:00
ShowInTaskScheduler    : True
RunElevated            : False
RunWithoutNetwork      : True
DoNotAllowDemandStart  : False
MultipleInstancePolicy : IgnoreNewJobDefinition          :

이 예제에서는 로컬 컴퓨터에서 예약된 작업의 옵션을 변경하는 방법을 보여줍니다.

첫 번째 명령은 Get-ScheduledJobOption cmdlet을 사용하여 DeployPackage 예약 작업의 작업 옵션을 가져옵니다. 출력은 WakeToRun 및 RunElevated 속성이 $False 설정되었음을 보여줍니다.

이 명령은 필요하지 않습니다. 옵션 변경의 효과를 표시하기 위해서만 포함됩니다.

예제 2: 모든 원격 예약된 작업에 대한 옵션 변경

PS C:\> Invoke-Command -Computer "Server01" -ScriptBlock {Get-ScheduledJob | Get-ScheduledJobOption | Set-ScheduledJobOption -IdleTimeout 2:00:00}

이 명령은 Server01 컴퓨터의 모든 예약된 작업에서 IdleTimeout 값을 1시간(기본값)에서 2시간으로 변경합니다.

이 명령은 Invoke-Command cmdlet을 사용하여 Server01 컴퓨터에서 명령을 실행합니다.

원격 명령은 컴퓨터에서 예약된 모든 작업을 가져오는 Get-ScheduledJob 명령으로 시작합니다. 예약된 작업은 예약된 작업의 작업 옵션을 가져오는 Get-ScheduledJobOption cmdlet으로 파이프됩니다. 각 작업 옵션 개체에는 예약된 작업이 포함된 JobDefinition 속성이 포함되어 있으므로 옵션 개체는 변경된 경우에도 예약된 작업과 연결된 상태로 유지됩니다.

작업 트리거는 Set-ScheduledJobOption cmdlet으로 파이프되어 IdleTimeout 옵션의 값을 2시간(2:00:00)으로 변경합니다.

매개 변수

-ContinueIfGoingOnBattery

작업이 실행되는 동안 컴퓨터가 배터리 전원(AC 전원의 연결 끊김)으로 전환되는 경우 예약된 작업을 중지하지 마세요. 기본적으로 예약된 작업은 컴퓨터가 AC 전원에서 끊어지면 중지됩니다.

ContinueIfGoingOnBattery 매개 변수는 예약된 작업의 StopIfGoingOnBatteries 속성 값을 $True 설정합니다.

형식:SwitchParameter
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-DoNotAllowDemandStart

작업이 트리거될 때만 작업을 시작합니다. 사용자는 작업 스케줄러에서 실행 기능을 사용하는 등 작업을 수동으로 시작할 수 없습니다.

이 매개 변수는 작업 스케줄러에만 영향을 줍니다. 사용자가 Start-Job cmdlet을 사용하여 작업을 시작할 수 없습니다.

DoNotAllowDemandStart 매개 변수는 예약된 작업의 DoNotAllowDemandStart 속성 값을 $True 설정합니다.

형식:SwitchParameter
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-HideInTaskScheduler

작업 스케줄러에 작업을 표시하지 마세요. 이 값은 작업이 실행되는 컴퓨터에만 영향을 줍니다. 기본적으로 예약된 작업은 작업 스케줄러에 표시됩니다.

작업이 숨겨져 있더라도 사용자는 작업 스케줄러에서 숨겨진 작업 표시 보기 옵션을 선택하여 작업을 표시할 수 있습니다.

HideInTaskScheduler 매개 변수는 예약된 작업의 ShowInTaskScheduler 속성 값을 $False 설정합니다.

형식:SwitchParameter
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-IdleDuration

작업이 시작되기 전에 컴퓨터가 유휴 상태여야 하는 기간을 지정합니다. 기본값은 10분입니다. IdleTimeout 값이 만료되기 전에 지정된 기간 동안 컴퓨터가 유휴 상태가 아닌 경우 예약된 작업은 다음 예약된 시간(있는 경우)까지 실행되지 않습니다.

New-TimeSpan cmdlet에서 생성된 것과 같은 시간 간격 개체를 입력하거나 TimeSpan 개체로 자동 변환되는 <시간>:<분>:<초> 형식의 값을 입력합니다.

이 값을 사용하려면 StartIfIdle 매개 변수를 사용합니다. 기본적으로 예약된 작업의 StartIfNotIdle 속성은 $True 설정되고 Windows PowerShell은 IdleDuration 무시하며 IdleTimeout 값을 .

형식:TimeSpan
Position:Named
Default value:10 minutes
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-IdleTimeout

작업이 시작되기 전에 컴퓨터가 유휴 상태여야 하는 기간을 지정합니다. 기본값은 10분입니다. IdleTimeout 값이 만료되기 전에 지정된 기간 동안 컴퓨터가 유휴 상태가 아닌 경우 예약된 작업은 다음 예약된 시간(있는 경우)까지 실행되지 않습니다.

New-TimeSpan cmdlet에서 생성된 것과 같은 시간 간격 개체를 입력하거나 TimeSpan 개체로 자동 변환되는 <시간>:<분>:<초> 형식의 값을 입력합니다.

이 값을 사용하려면 StartIfIdle 매개 변수를 사용합니다. 기본적으로 예약된 작업의 StartIfNotIdle 속성은 $True 설정되고 Windows PowerShell은 IdleDuration 무시하며 IdleTimeout 값을 .

형식:TimeSpan
Position:Named
Default value:10 minutes
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-InputObject

작업 옵션을 지정합니다. ScheduledJobOptions 개체를 포함하는 변수를 입력하거나 Get-ScheduledJobOption 명령과 같이 ScheduledJobOptions 개체를 가져오는 명령이나 식을 입력합니다. ScheduledJobOptions 개체를 Set-ScheduledJobOption파이프할 수도 있습니다.

형식:ScheduledJobOptions
Position:0
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-MultipleInstancePolicy

작업의 다른 인스턴스가 실행되는 동안 시스템이 예약된 작업의 인스턴스를 시작하라는 요청에 응답하는 방법을 결정합니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.

  • IgnoreNew. 새 작업 인스턴스는 무시됩니다. 기본값입니다.
  • 평행의. 새 작업 인스턴스가 즉시 시작됩니다.
  • 큐. 새 작업 인스턴스는 현재 인스턴스가 완료되는 즉시 시작됩니다.
  • StopExisting. 작업의 현재 인스턴스가 중지되고 새 인스턴스가 시작됩니다.

작업을 실행하려면 작업 일정에 대한 모든 조건을 충족해야 합니다. 예를 들어 RequireNetwork, IdleDurationIdleTimeout 매개 변수에 의해 설정된 조건이 충족되지 않으면 이 매개 변수의 값에 관계없이 작업 인스턴스가 시작되지 않습니다.

형식:TaskMultipleInstancePolicy
허용되는 값:None, IgnoreNew, Parallel, Queue, StopExisting
Position:Named
Default value:IgnoreNew
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-PassThru

작업 중인 항목을 나타내는 개체를 반환합니다. 기본적으로 이 cmdlet은 출력을 생성하지 않습니다.

형식:SwitchParameter
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-RequireNetwork

네트워크 연결을 사용할 수 있는 경우에만 예약된 작업을 실행합니다.

이 매개 변수를 지정하고 예약된 시작 시간에 네트워크를 사용할 수 없는 경우 다음 예약된 시작 시간(있는 경우)까지 작업이 실행되지 않습니다.

RequireNetwork 매개 변수는 예약된 작업의 RunWithoutNetwork 속성 값을 $False 설정합니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-RestartOnIdleResume

컴퓨터가 유휴 상태가 되면 예약된 작업을 다시 시작합니다. 이 매개 변수는 StopIfGoingOffIdle 매개 변수와 함께 작동합니다. 이 매개 변수는 컴퓨터가 활성 상태가 되면 실행 중인 예약된 작업을 일시 중단합니다(유휴 상태를 유지).

RestartOnIdleResume 매개 변수는 예약된 작업의 RestartOnIdleResume 속성 값을 $True 설정합니다.

형식:SwitchParameter
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-RunElevated

작업이 실행되는 컴퓨터에서 Administrators 그룹 구성원의 권한으로 예약된 작업을 실행합니다.

예약된 작업을 관리자 권한으로 실행할 수 있도록 하려면 Register-ScheduledJob 자격 증명 매개 변수를 사용하여 작업에 대한 명시적 자격 증명을 제공합니다.

RunElevated 매개 변수는 예약된 작업의 RunElevated 속성 값을 True로 설정합니다.

형식:SwitchParameter
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-StartIfIdle

IdleTimeout 매개 변수가 지정한 시간이 만료되기 전에 IdleDuration 매개 변수에 지정된 시간 동안 컴퓨터가 유휴 상태이면 예약된 작업을 시작합니다.

기본적으로 IdleDurationIdleTimeout 매개 변수는 무시되며 컴퓨터가 사용 중인 경우에도 예약된 시작 시간에 작업이 시작됩니다.

이 매개 변수를 지정하고 컴퓨터가 예약된 시작 시간에 사용 중(유휴 상태가 아님)이면 다음 예약된 시작 시간(있는 경우)까지 작업이 실행되지 않습니다.

StartIfIdle 매개 변수는 예약된 작업의 StartIfNotIdle 속성 값을 False로 설정합니다.

형식:SwitchParameter
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-StartIfOnBattery

예약된 시작 시간에 컴퓨터가 배터리로 실행되는 경우에도 예약된 작업을 시작합니다. 기본값은 False입니다.

StartIfOnBattery 매개 변수는 예약된 작업의 StartIfOnBatteries 속성 값을 $True 설정합니다.

형식:SwitchParameter
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-StopIfGoingOffIdle

작업이 실행되는 동안 컴퓨터가 활성 상태가 되면(유휴 상태가 아님) 실행 중인 예약된 작업을 일시 중단합니다.

기본적으로 컴퓨터가 활성 상태가 되면 일시 중단되는 예약된 작업은 컴퓨터가 다시 유휴 상태가 되면 다시 시작됩니다. 이 기본 동작을 변경하려면 RestartOnIdleResume 매개 변수를 사용합니다.

StopIfGoingOffIdle 매개 변수는 예약된 작업의 StopIfGoingOffIdle 속성 값을 $True 설정합니다.

형식:SwitchParameter
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-WakeToRun

작업을 실행할 수 있도록 예약된 시작 시간에 최대 절전 모드 또는 절전 모드 상태에서 컴퓨터를 깨웁니다. 기본적으로 컴퓨터가 예약된 시작 시간에 최대 절전 모드 또는 절전 모드 상태이면 작업이 실행되지 않습니다.

WakeToRun 매개 변수는 예약된 작업의 WakeToRun 속성 값을 $True 설정합니다.

형식:SwitchParameter
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

입력

ScheduledJobOptions

예약된 작업 옵션 개체를 Set-ScheduledJobOption파이프할 수 있습니다.

출력

None or Microsoft.PowerShell.ScheduledJob.ScheduledJobOptions

Passthru 매개 변수를 사용하는 경우 set-ScheduledJobOption 변경된 작업 옵션을 반환할 있습니다. 그렇지 않으면 이 cmdlet은 출력을 생성하지 않습니다.