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>]

说明

Enable-ScheduledJob cmdlet 重新启用已禁用的计划作业,例如通过使用 Disable-ScheduledJob cmdlet。 触发作业后,它们将自动运行。

若要启用某个计划作业,Enable-ScheduledJob cmdlet 会将该计划作业的 Enabled 属性设置为 $true

Enabled-ScheduledJob 是 PSScheduledJob 模块(包含在 Windows PowerShell 中)中的一系列作业计划 cmdlet 之一。

有关计划作业的详细信息,请参阅 PSScheduledJob 模块中的“关于”主题。 导入 PSScheduledJob 模块,然后键入 Get-Help about_Scheduled*,或参阅 about_Scheduled_Jobs

此 cmdlet 是在 Windows PowerShell 3.0 中引入的。

示例

示例 1:启用计划作业

此示例在本地计算机上启用该计划作业。

Enable-ScheduledJob -ID 2 -PassThru

Enable-ScheduledJob 命令启用本地计算机上 ID 为 2 的计划作业。 PassThru 参数允许输出作业对象。

示例 2:启用所有计划作业

此示例启用本地计算机上的所有计划作业。

Get-ScheduledJob | Enable-ScheduledJob

Get-ScheduledJob cmdlet 获取所有计划作业并通过管道将它们传递给 Enable-ScheduledJob 以启用它们。

Enable-ScheduledJob 在你启用已启用的计划作业时不会生成警告或错误,因此你可以无条件地启用所有计划作业。

示例 3:启用所选的计划作业

此示例启用不需要网络连接的计划作业。

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,此 cmdlet 选择 RunWithoutNetwork 属性值为 $true 的计划作业选项对象。 另一个管道运算符将所选的计划作业选项对象发送到 ForEach-Object cmdlet,此 cmdlet 对每个作业选项对象的 JobDefinition 属性值中的计划作业运行 Enable-ScheduledJob 命令。

示例 4:启用远程计算机上的计划作业

Invoke-Command -ComputerName "Srv01,Srv10" -ScriptBlock {Enable-ScheduledJob -Name "Inventory"}

此命令启用两台远程计算机(Srv01 和 Srv10)上其名称中含有“test”的计划作业。

此命令使用 Invoke-Command cmdlet 在 Srv01 和 Srv10 计算机上运行 Enable-ScheduledJob 命令。 此命令使用 Enable-ScheduledJob 的 Name 参数在每台计算机上启用 Inventory 计划作业。

参数

-Confirm

提示你在运行 cmdlet 之前进行确认。

类型:SwitchParameter
别名:cf
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

-Id

启用具有指定标识号 (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
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-WhatIf

显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。

类型:SwitchParameter
别名:wi
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

输入

ScheduledJobDefinition

你可以通过管道将计划作业传递给 Enable-ScheduledJob

输出

None

默认情况下,此 cmdlet 不返回任何输出。

ScheduledJobDefinition

当使用 PassThru 参数时,此 cmdlet 返回已被启用的计划作业。

备注

  • Enable-ScheduledJob 在你使用它来启用已启用的计划作业时不会生成警告或错误。