共用方式為


Enable-ScheduledJob

啟用排程工作。

Syntax

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 模組中的「關於」主題。 匯入 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,它會使用每個工作選項物件的 JobDefinition 屬性值,在排程工作上執行 Enable-ScheduledJob 命令。

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

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

此命令會啟用兩部遠端電腦 (Srv01 與 Srv10) 上名稱中包含 "test" 的排程工作。

此命令會使用 Invoke-Command Cmdlet 在 Srv01 與 Srv10 電腦上執行 Enable-ScheduledJob 命令。 此命令使用 Enable-ScheduledJobName 參數來啟用每部電腦上的 Inventory 排程工作。

參數

-Confirm

在執行 Cmdlet 前提示您確認。

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

-Id

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

Type:Int32
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

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

Type:ScheduledJobDefinition
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

啟用具有所指定名稱的排程工作。 輸入排程工作的名稱。 支援萬用字元。

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

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

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

-WhatIf

顯示執行 Cmdlet 後會發生的情況。 Cmdlet 並不會執行。

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

輸入

ScheduledJobDefinition

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

輸出

None or Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition

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

備註

  • Enable-ScheduledJob 不會產生警告或錯誤 (若使用它來啟用已啟用的排程工作)。