Disable-ScheduledJob
禁用计划作业。
语法
Disable-ScheduledJob
[-InputObject] <ScheduledJobDefinition>
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Disable-ScheduledJob
[-Id] <Int32>
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Disable-ScheduledJob
[-Name] <String>
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
说明
Disable-ScheduledJob
cmdlet 临时禁用计划作业。 该禁用操作会保留所有作业属性且不禁用作业触发器,但它会在触发计划作业后阻止这些作业自动启动。 可使用 Start-Job
cmdlet 启动已禁用的计划作业,或将已禁用的计划作业用作模板。
若要禁用某个计划作业,Disable-ScheduledJob
cmdlet 会将该计划作业的 Enabled 属性设置为 False。 若要重新启用计划作业,请使用 Enable-ScheduledJob
cmdlet。
Disable-ScheduledJob
是 PSScheduledJob 模块(包含在 Windows PowerShell 中)中的一系列作业计划 cmdlet 之一。
有关计划作业的详细信息,请参阅 PSScheduledJob 模块中的“关于”主题。 导入 PSScheduledJob 模块,然后键入 Get-Help about_Scheduled*
,或参阅 about_Scheduled_Jobs。
此 cmdlet 是在 Windows PowerShell 3.0 中引入的。
示例
示例 1:禁用计划作业
此示例禁用本地计算机上的某个计划作业。
Disable-ScheduledJob -ID 2 -PassThru
此命令禁用本地计算机上的具有 ID 2 的计划作业。
示例 2:禁用所有计划作业
此示例禁用本地计算机上的所有计划作业。
Get-ScheduledJob | Disable-ScheduledJob -PassThru
Id Name Triggers Command Enabled
-- ---- -------- ------- -------
1 ArchiveProje... {} C:\Scripts\Archive-DxProjects.ps1 False
2 Inventory {1, 2} \\Srv01\Scripts\Get-FullInventory.ps1 False
4 Test-HelpFiles {1} .\Test-HelpFiles.ps1 False
5 TestJob {1, 2} .\Run-AllTests.ps1 False
Get-ScheduledJob
cmdlet 获取所有计划作业并通过管道将它们传递给 Disable-ScheduledJob
以禁用它们。
可使用 Enable-ScheduledJob
cmdlet 重新启用计划作业,并使用 Start-Job
cmdlet 运行已禁用的计划作业。
Disable-ScheduledJob
在你禁用已禁用的计划作业时不会生成警告或错误,因此你可以无条件地禁用所有计划作业。
示例 3:禁用选定的计划作业
此示例禁用不包含凭据的计划作业。
Get-ScheduledJob | Where-Object {!$_.Credential} | Disable-ScheduledJob
对于不具有凭据的作业,可使用创建它们的用户的权限进行运行。
此命令使用 Get-ScheduledJob
cmdlet 获取计算机上的所有计划作业。 管道运算符将计划作业发送到 Where-Object
cmdlet,此 cmdlet 选择没有凭据的计划作业。 此命令使用 not (!
) 运算符并引用计划作业的 Credential 属性。 另一个管道运算符将选定的计划作业发送到 Disable-ScheduledJob
cmdlet,此 cmdlet 将禁用这些作业。
示例 4:禁用远程计算机上的计划作业
此示例禁用两台远程计算机上的某个计划作业。
Invoke-Command -ComputerName Srv01, Srv10 -ScriptBlock {Disable-ScheduledJob -Name TestJob}
此命令使用 Invoke-Command
cmdlet 在 Srv01 和 Srv10 计算机上运行 Disable-ScheduledJob
命令。 此命令使用 Disable-ScheduledJob
的 Name 参数,选择每台计算机上的 TestJob 计划作业。
示例 5:通过计划作业的全局 ID 对其进行禁用
此示例显示了如何通过使用计划作业的全局标识符对其进行禁用。 计划作业的 GlobalID 属性值是唯一标识符 (GUID)。 当需要使用精度时(例如,禁用多台计算机上的计划作业时),可使用 GlobalID 值。
Get-ScheduledJob | Format-Table -Property Name, GlobalID, Command -Autosize
Name GlobalId Command
---- -------- -------
ArchiveProjects1 a26a0b3d-b4e6-44d3-8b95-8706ef621f7c C:\Scripts\Archive-DxProjects.ps1
Inventory 3ac37e5d-84c0-4a8f-9661-7e88ebb8f914 \\Srv01\Scripts\Get-FullInventory.ps1
Backup-Scripts 4d0cc6be-c082-48d1-baec-1bd8278f3c81 Copy-Item C:\CurrentScripts\*.ps1 -Destination C:\BackupScripts
Test-HelpFiles d77020ca-f20d-42be-86c8-fc64df97db90 .\Test-HelpFiles.ps1
Test-HelpFiles 2f1606d2-c6cf-4bef-8b1c-ae36a9cc9934 .\Test-DomainHelpFiles.ps1
Get-ScheduledJob | Where-Object {$_.GlobalID = d77020ca-f20d-42be-86c8-fc64df97db90} | Disable-ScheduledJob
第一个命令演示了能够找到计划作业的 GlobalID 的一种方法。 此命令使用 Get-ScheduledJob
cmdlet 获取计算机上的计划作业。 一个管道运算符 (|
) 将计划作业发送到 Format-Table
cmdlet,此 cmdlet 在表中显示每个作业的 Name、GlobalID 和 Command 属性。
第二个命令使用 Get-ScheduledJob
cmdlet 获取计算机上的计划作业。 管道运算符 (|
) 将计划作业发送到 Where-Object
cmdlet,此 cmdlet 选择具有指定的全局 ID 的计划作业。 另一个管道运算符将该作业发送到 Disable-ScheduledJob
cmdlet,此 cmdlet 将其禁用。
参数
-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 对象传递给 Disable-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 |
输入
你可以通过管道将计划作业传递给 Disable-ScheduledJob
。
输出
None
默认情况下,此 cmdlet 不返回任何输出。
当使用 PassThru 参数时,此 cmdlet 返回已被禁用的计划作业。
备注
Disable-ScheduledJob
在你使用它来禁用已禁用的计划作业时不会生成警告或错误。
相关链接
- 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