Set-ScheduledJobOption

Zamanlanmış işin iş seçeneklerini değiştirir.

Syntax

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

Description

Cmdlet, Set-ScheduledJobOptions zamanlanmış işlerin iş seçeneklerini değiştirir.

Zamanlanmış işin seçeneklerini değiştirmek için, zamanlanmış işin iş seçeneklerini almak için cmdlet'ini kullanarak Get-ScheduledJobOption başlayın. Ardından, seçenekleri bir değişkene yöneltin Set-ScheduledJobOption veya bir değişkene kaydedin ve seçenekleri tanımlamak için cmdlet'in Set-ScheduledJobOption InputObject parametresini kullanın. İş seçeneklerini değiştirmek için öğesinin kalan parametrelerini Set-ScheduledJobOption kullanın.

bir iş seçeneğini açmak için bu seçeneği ayarlayan parametresini kullanın. Bir seçeneği kapatmak için parametre adını, iki nokta üst üste (): ve $falseyazın. Örneğin, RunElevated seçeneğini kapatmak için yazın-RunElevated:$false.

Her iş seçenekleri nesnesi, zamanlanmış işi içeren bir JobDefinition özelliği içerir, bu nedenle iş seçenekleri değiştirildiğinde zamanlanmış işle ilişkilendirme korunur.

Zamanlanan iş seçenekleri, Görevin Görev Zamanlayıcı tarafından başlatıldığında nasıl çalıştırıldığını belirler. Zamanlanmış bir işi başlatmak için cmdlet'ini Start-Job kullandığınızda bu seçenekler uygulanmaz.

Set-ScheduledJobOption , Windows PowerShell'de bulunan PSScheduledJob modülündeki iş zamanlama cmdlet'leri koleksiyonundan biridir.

Zamanlanmış İşler hakkında daha fazla bilgi için PSScheduledJob modülündeki Hakkında konu başlıklarına bakın. PSScheduledJob modülünü içeri aktarın ve şunu yazın: Get-Help about_Scheduled* veya about_Scheduled_Jobs bakın.

Bu cmdlet, Windows PowerShell 3.0'da kullanıma sunulmuştur.

Örnekler

Örnek 1: İş seçeneklerini değiştirme

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          :

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          :

Bu örnekte, yerel bilgisayarda zamanlanmış bir işin seçeneklerinin nasıl değiştireceği gösterilmektedir.

İlk komut, DeployPackage zamanlanmış işinin iş seçeneklerini almak için cmdlet'ini kullanır Get-ScheduledJobOption . Çıkış, WakeToRun ve RunElevated özelliklerinin olarak $falseayarlandığını gösterir.

İkinci komut, iş seçeneklerini değiştirmek için cmdlet'ini kullanarak Set-ScheduledJobOpton WakeToRun ve RunWithoutNetwork özelliklerinin değerlerinin $True. Komut, değişiklikten sonra tetikleyiciyi döndürmek için Passthru parametresini kullanır.

Bu komut gerekli değildir; yalnızca seçenek değişikliğinin etkisini göstermek için eklenir.

Örnek 2: Tüm uzak zamanlanmış işlerde bir seçeneği değiştirme

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

Bu komut, Server01 bilgisayardaki tüm zamanlanmış işlerde IdleTimeout değerini bir saat (varsayılan değer) ile iki saat arasında değiştirir.

komutu, Server01 bilgisayarında bir komut çalıştırmak için cmdlet'ini kullanır Invoke-Command .

Uzak komut, bilgisayardaki tüm zamanlanmış işleri alan bir Get-ScheduledJob komutla başlar. Zamanlanan işler, zamanlanmış işlerin iş seçeneklerini alan cmdlet'ine iletilir Get-ScheduledJobOption . Her iş seçenekleri nesnesi, zamanlanmış işi içeren bir JobDefinition özelliği içerir, bu nedenle seçenekler nesnesi değiştirildiğinde bile zamanlanmış işle ilişkili kalır.

İş tetikleyicileri cmdlet'ine Set-ScheduledJobOption geçirilir ve bu da IdleTimeout seçeneğinin değerini iki saat (2:00:00) olarak değiştirir.

Parametreler

-ContinueIfGoingOnBattery

İş çalışırken bilgisayar pil gücüne geçerse (AC güç bağlantısı kesilirse) zamanlanan işi durdurmayın. Varsayılan olarak, bilgisayar AC güç bağlantısını kestiğinde zamanlanmış işler durur.

ContinueIfGoingOnBattery parametresi, zamanlanmış işlerin StopIfGoingOnBatteries özelliğinin değerini olarak $trueayarlar.

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

-DoNotAllowDemandStart

İşi yalnızca tetiklendiğinde başlatın. Kullanıcılar, Görev Zamanlayıcı'daki Çalıştır özelliğini kullanarak işi el ile başlatamaz.

Bu parametre yalnızca Görev Zamanlayıcı'yı etkiler. Kullanıcıların işi başlatmak için cmdlet'ini Start-Job kullanmasını engellemez.

DoNotAllowDemandStart parametresi, zamanlanmış işlerin DoNotAllowDemandStart özelliğinin değerini olarak $trueayarlar.

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

-HideInTaskScheduler

İşi Görev Zamanlayıcı'da görüntülemeyin. Bu değer yalnızca işin çalıştığı bilgisayarı etkiler. Varsayılan olarak, zamanlanmış görevler Görev Zamanlayıcı'da görünür.

Bir görev gizli olsa bile, kullanıcılar Görev Zamanlayıcı'da Gizli görevleri göster görünümü seçeneğini belirleyerek görevi görüntüleyebilir.

HideInTaskScheduler parametresi, zamanlanmış işlerin ShowInTaskScheduler özelliğinin değerini olarak $falseayarlar.

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

-IdleDuration

İş başlamadan önce bilgisayarın ne kadar süreyle boşta olması gerektiğini belirtir. Varsayılan değer 10 dakikadır. Bilgisayar IdleTimeout değerinin süresi dolmadan önce belirtilen süre boyunca boşta değilse, zamanlanan iş varsa, bir sonraki zamanlanan saate kadar çalışmaz.

Cmdlet tarafından New-TimeSpan oluşturulan nesne gibi bir zaman aralığı nesnesi girin veya otomatik olarak bir TimeSpan nesnesine dönüştürülen biçimde bir değer <hours>:<minutes>:<seconds> girin.

Bu değeri etkinleştirmek için StartIfIdle parametresini kullanın. Varsayılan olarak, zamanlanmış işlerin StartIfNotIdle özelliği olarak $true ayarlanır ve Windows PowerShell IdleDuration ve IdleTimeout değerlerini yoksayar.

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

-IdleTimeout

İş başlamadan önce bilgisayarın ne kadar süreyle boşta olması gerektiğini belirtir. Varsayılan değer 10 dakikadır. Bilgisayar IdleTimeout değerinin süresi dolmadan önce belirtilen süre boyunca boşta değilse, zamanlanan iş varsa, bir sonraki zamanlanan saate kadar çalışmaz.

Cmdlet tarafından New-TimeSpan oluşturulan nesne gibi bir zaman aralığı nesnesi girin veya otomatik olarak bir TimeSpan nesnesine dönüştürülen biçimde bir değer <hours>:<minutes>:<seconds> girin.

Bu değeri etkinleştirmek için StartIfIdle parametresini kullanın. Varsayılan olarak, zamanlanmış işlerin StartIfNotIdle özelliği $True olarak ayarlanır ve Windows PowerShell IdleDuration ve IdleTimeout değerlerini yoksayar.

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

-InputObject

İş seçeneklerini belirtir. ScheduledJobOptions nesnelerini içeren bir değişken girin veya bir komut gibi ScheduledJobOptions nesnelerini alan bir Get-ScheduledJobOption komut veya ifade yazın. ScheduledJobOptions nesnesini öğesine Set-ScheduledJobOptionde yöneltebilirsiniz.

Type:Microsoft.PowerShell.ScheduledJob.ScheduledJobOptions
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-MultipleInstancePolicy

Sistemin, işin başka bir örneği çalışırken zamanlanmış bir işin örneğini başlatma isteğine nasıl yanıt vereceğini belirler. Bu parametrenin kabul edilebilir değerleri şunlardır:

  • IgnoreNew - Yeni iş örneği yoksayılır. Bu varsayılan değerdir.
  • Parallel - Yeni iş örneği hemen başlar.
  • Queue - Yeni iş örneği, geçerli örnek tamamlandıktan hemen sonra başlar.
  • StopExisting - İşin geçerli örneği durduruluyor ve yeni örnek başlıyor.

İşi çalıştırmak için, iş zamanlaması için tüm koşulların karşılanması gerekir. Örneğin RequireNetwork, IdleDuration ve IdleTimeout parametreleri tarafından ayarlanan koşullar karşılanmazsa, bu parametrenin değerinden bağımsız olarak iş örneği başlatılmaz.

Type:Microsoft.PowerShell.ScheduledJob.TaskMultipleInstancePolicy
Accepted values:None, IgnoreNew, Parallel, Queue, StopExisting
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

Üzerinde çalıştığınız öğeyi temsil eden bir nesne döndürür. Varsayılan olarak, bu cmdlet herhangi bir çıkış oluşturmaz.

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

-RequireNetwork

Zamanlanmış işi yalnızca ağ bağlantıları kullanılabilir olduğunda çalıştırır.

Bu parametreyi belirtirseniz ve ağ zamanlanan başlangıç zamanında kullanılamazsa, iş varsa bir sonraki zamanlanmış başlangıç zamanına kadar çalışmaz.

RequireNetwork parametresi, zamanlanmış işlerin RunWithoutNetwork özelliğinin değerini olarak $falseayarlar.

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

-RestartOnIdleResume

Bilgisayar boşta olduğunda zamanlanmış bir işi yeniden başlatır. Bu parametre, bilgisayar etkin hale gelirse (boşta durumundan çıkar) çalışan bir zamanlanmış işi askıya alan StopIfGoingOffIdle parametresiyle çalışır.

RestartOnIdleResume parametresi, zamanlanmış işlerin RestartOnIdleResume özelliğinin değerini olarak $trueayarlar.

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

-RunElevated

zamanlanmış işi, işin çalıştığı bilgisayardaki Yönetici istrators grubunun bir üyesinin izinleriyle çalıştırır.

Zamanlanmış bir işin Yönetici istrator izinleriyle çalışmasını sağlamak için, kimlik bilgisi parametresini Register-ScheduledJob kullanarak işin açık kimlik bilgilerini sağlayın.

RunElevated parametresi, zamanlanmış işlerin RunElevated özelliğinin değerini olarak $trueayarlar.

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

-StartIfIdle

Bilgisayar IdleTimeout parametresi tarafından belirtilen süre dolmadan önce IdleDuration parametresi tarafından belirtilen süre boyunca boşta kalırsa zamanlanmış işi başlatır.

Varsayılan olarak IdleDuration ve IdleTimeout parametreleri yoksayılır ve bilgisayar meşgul olsa bile iş zamanlanan başlangıç zamanında başlar.

Bu parametreyi belirtirseniz ve bilgisayar zamanlanan başlangıç zamanında meşgulse (boşta değilse), varsa, iş bir sonraki zamanlanmış başlangıç zamanına kadar çalışmaz.

StartIfIdle parametresi, zamanlanmış işlerin StartIfNotIdle özelliğinin değerini olarak $falseayarlar.

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

-StartIfOnBattery

Bilgisayar, zamanlanmış başlangıç zamanında piller üzerinde çalışıyor olsa bile zamanlanmış işi başlatır. Varsayılan değer şudur: $false.

StartIfOnBattery parametresi, zamanlanmış işlerin StartIfOnBatteries özelliğinin değerini olarak $trueayarlar.

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

-StopIfGoingOffIdle

İş çalışırken bilgisayar etkin olursa (boşta değilse) çalışan bir zamanlanmış işi askıya alır.

Varsayılan olarak, bilgisayar etkin olduğunda askıya alınan zamanlanmış bir iş, bilgisayar yeniden boşta kaldığında devam eder. Bu varsayılan davranışı değiştirmek için RestartOnIdleResume parametresini kullanın.

StopIfGoingOffIdle parametresi, zamanlanmış işlerin StopIfGoingOffIdle özelliğinin değerini olarak $trueayarlar.

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

-WakeToRun

İşi çalıştırabilmesi için bilgisayarı zamanlanmış başlangıç zamanında Hazırda Beklet veya Uyku durumundan uyandırır. Varsayılan olarak, bilgisayar zamanlanan başlangıç zamanında Hazırda Beklet veya Uyku durumundaysa, iş çalışmaz.

WakeToRun parametresi, zamanlanmış işlerin WakeToRun özelliğinin değerini olarak $trueayarlar.

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

Girişler

Microsoft.PowerShell.ScheduledJob.ScheduledJobOptions

Zamanlanmış iş seçenekleri nesnesini bu cmdlet'e yöneltebilirsiniz.

Çıkışlar

None

Varsayılan olarak, bu cmdlet çıkış döndürmez.

Microsoft.PowerShell.ScheduledJob.ScheduledJobOptions

PassThru parametresini kullandığınızda, bu cmdlet değiştirilen iş seçeneklerini döndürür.