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 模块中作业计划 cmdlet 的集合之一,包含在 Windows PowerShell 中。
有关计划作业的详细信息,请参阅 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
此命令启动本地计算机上的具有 ID 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,该 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)上其名称中含有“test”的计划作业。
该命令使用 Invoke-Command cmdlet 在 Srv01 和 Srv10 计算机上运行 Enable-ScheduledJob 命令。 此命令使用 Enable-ScheduledJob 的 Name 参数,以在每台计算机上启用 Inventory 计划作业。
参数
-Confirm
提示你在运行 cmdlet 之前进行确认。
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Id
启用具有指定标识号 (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 |
输入
可以通过管道将计划作业传递给 Enable-ScheduledJob。
输出
None or Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition
如果你使用 Passthru 参数,则 Enable-ScheduledJob 将返回已启用的计划作业。 否则,此 cmdlet 将不生成任何输出。
备注
- 如果使用 Enable-ScheduledJob 启用已启用的计划作业,则不会生成警告或错误。
相关链接
- about_Scheduled_Jobs
- Add-JobTrigger
- Disable-JobTrigger
- Disable-ScheduledJob
- Enable-JobTrigger
- Enable-ScheduledJob
- Get-JobTrigger
- Get-ScheduledJob
- Get-ScheduledJobOption
- New-JobTrigger
- New-ScheduledJobOption
- Register-ScheduledJob
- Remove-JobTrigger
- Set-JobTrigger
- Set-ScheduledJob
- Set-ScheduledJobOption
- Unregister-ScheduledJob