windows-server-2008-r2 – 如何使用Powershell禁用计划任务?

前端之家收集整理的这篇文章主要介绍了windows-server-2008-r2 – 如何使用Powershell禁用计划任务?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个在 Windows Server 2008 R2上运行的Web应用程序,它具有大量计划任务,可以处理所有后端内容.当我进行涉及数据库的软件部署时,我需要禁用所有计划任务.目前我有一个很长的清单,我需要手动逐步完成,在我去的时候禁用每个计划的任务 – 这肯定是Powershell自动化的工作成熟.

不幸的是,Powershell文档对于如何禁用现有的计划任务似乎相当腼腆(当然,一旦发布成功完成后重新启用它).我可以获得已准备好,正在运行或已禁用的任务列表,但下一步是什么?

您可以使用基于COM的 Task Scheduler Scripting objects
($TaskScheduler = New-Object -ComObject Schedule.Service).Connect("localhost")
$MyTask = $TaskScheduler.GetFolder('\').GetTask("My Task")
$MyTask.Enabled = $false

要再次启用该任务:

$MyTask.Enabled = $true

以上只有在shell升级并且您是服务器上的本地管理员时才有效.您可以使用上面的代码创建自己的cmdlet:

function Disable-ScheduledTask
{
    param([string]$TaskName,[string]$ComputerName = "localhost"
         )

    $TaskScheduler = New-Object -ComObject Schedule.Service
    $TaskScheduler.Connect($ComputerName)
    $TaskRootFolder = $TaskScheduler.GetFolder('\')
    $Task = $TaskRootFolder.GetTask($TaskName)
    if(-not $?)
    {
        Write-Error "Task $TaskName not found on $ComputerName"
        return
    }
    $Task.Enabled = $False
}
原文链接:https://www.f2er.com/windows/370278.html

猜你在找的Windows相关文章