共用方式為


Enable-ScheduledJob

啟用排程的工作。

語法

Enable-ScheduledJob
      [-InputObject] <ScheduledJobDefinition>
      [-PassThru]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Enable-ScheduledJob
      [-Id] <Int32>
      [-PassThru]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Enable-ScheduledJob
      [-Name] <String>
      [-PassThru]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Description

Enable-ScheduledJob Cmdlet 會重新啟用已停用的排程工作,例如使用 Disable-ScheduledJob Cmdlet 停用的排程工作。 啟用的作業會在觸發時自動執行。

若要啟用排程工作,Enable-ScheduledJob Cmdlet 會將排程工作的 Enabled 屬性設定為 $True。

Enabled-ScheduledJob 是 Windows PowerShell 中 PSScheduledJob 模組中作業排程 Cmdlet 的其中一個集合。

如需排程工作的詳細資訊,請參閱 PSScheduledJob 模組中的 About 主題。 匯入 PSScheduledJob 模組,然後輸入:Get-Help about_Scheduled* 或查看about_Scheduled_Jobs。

此 Cmdlet 已在 Windows PowerShell 3.0 中引進。

範例

範例 1:啟用排程工作

PS C:\> Enable-ScheduledJob -ID 2 -Passthru
Id         Name            Triggers        Command                                  Enabled
--         ----            --------        -------                                  -------
2          Inventory       {1, 2}          \\Srv01\Scripts\Get-FullInventory.ps1    True

此命令會在本機電腦上啟用標識碼為 2 的排程工作。 輸出會顯示命令的效果。

範例 2:啟用所有排程工作

PS C:\> Get-ScheduledJob | Enable-ScheduledJob -Passthru
Id         Name            Triggers        Command                                  Enabled
--         ----            --------        -------                                  -------
1          ArchiveProje... {}              C:\Scripts\Archive-DxProjects.ps1        True
2          Inventory       {1, 2}          \\Srv01\Scripts\Get-FullInventory.ps1    True
4          Test-HelpFiles  {1}             .\Test-HelpFiles.ps1                     True
5          TestJob         {1, 2}          .\Run-AllTests.ps1                       True

此命令會在本機電腦上啟用所有排程的工作。 它會使用 Get-ScheduledJob Cmdlet 來取得所有排程工作,以及 Enable-ScheduledJob Cmdlet 來啟用它們。

Enable-ScheduledJob 如果您啟用已啟用的排程工作,則不會產生警告或錯誤,因此您可以在沒有條件的情況下啟用所有排程工作。

範例 3:啟用選取的排程工作

PS C:\> Get-ScheduledJob | Get-ScheduledJobOption | Where-Object {$_.RunWithoutNetwork} | ForEach-Object {Enable-ScheduledJob -InputObject $_.JobDefinition}

此命令會啟用不需要網路連線的排程工作。

此命令會使用 Get-ScheduledJob Cmdlet 來取得電腦上所有排程的工作。 管線運算符會將排程的工作傳送至 Get-ScheduledJobOption Cmdlet,此 Cmdlet 會取得每個排程作業的作業選項。 每個作業選項物件都有一個 JobDefinition 屬性,其中包含相關聯的排程工作。 JobDefinition 屬性可用來完成命令。

命令會使用管線運算符 (|) 將作業選項傳送至 Where-Object Cmdlet,它會選取 RunWithoutNetwork 屬性值為 True $true 的排程作業選項 物件。 另一個管線運算符會將選取的排程作業選項對象傳送至 ForEach-Object Cmdlet,該 Cmdlet 會在每個作業選項物件的 JobDefinition 屬性值中,對排程作業執行 Enable-ScheduledJob 命令。

範例 4:在遠端電腦上啟用排程工作

PS C:\> Invoke-Command -ComputerName "Srv01,Srv10" -ScriptBlock {Enable-ScheduledJob -Name "Inventory"}

此命令可在兩部遠端計算機上,Srv01 和 Srv10 上啟用其名稱中有「測試」的排程工作。

此命令會使用 Invoke-Command Cmdlet 在 Srv01 和 Srv10 計算機上執行 Enable-ScheduledJob 命令。 此命令會使用 Enable-ScheduledJobName 參數,在每部電腦上啟用清查排程工作。

參數

-Confirm

在執行 Cmdlet 之前,提示您進行確認。

類型:SwitchParameter
別名:cf
Position:Named
預設值:False
必要:False
接受管線輸入:False
接受萬用字元:False

-Id

啟用具有指定識別碼 (ID) 的排程工作。 輸入排程工作的識別碼。

類型:Int32
Position:0
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-InputObject

指定要啟用的排程工作。 輸入變數,其中包含 ScheduledJobDefinition 物件,或輸入 ScheduledJobDefinition 物件的命令或表達式,例如 Get-ScheduledJob 命令。 您也可以使用管線將 ScheduledJobDefinition 物件傳送至 Enable-ScheduledJob

類型:ScheduledJobDefinition
Position:0
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-Name

啟用具有指定名稱的排程工作。 輸入排程工作的名稱。 支援通配符。

類型:String
Position:0
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-PassThru

會傳回 物件,代表您正在使用的專案。 根據預設,此 Cmdlet 不會產生任何輸出。

類型:SwitchParameter
Position:Named
預設值:False
必要:False
接受管線輸入:False
接受萬用字元:False

-WhatIf

顯示 Cmdlet 執行時會發生什麼事。 Cmdlet 未執行。

類型:SwitchParameter
別名:wi
Position:Named
預設值:False
必要:False
接受管線輸入:False
接受萬用字元:False

輸入

ScheduledJobDefinition

您可以使用管線將排程工作傳送至 Enable-ScheduledJob

輸出

None or Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition

如果您使用 Passthru 參數,Enable-ScheduledJob 會傳回已啟用的排程工作。 否則,此 Cmdlet 不會產生任何輸出。

備註

  • Enable-ScheduledJob 如果您使用它來啟用已啟用的排程工作,則不會產生警告或錯誤。