이 기능을 봐
Function Control-Tasks
{
[CmdletBinding()]
Param
(
[Parameter(Mandatory=$true)][String]$FolderPath,
[Parameter(Mandatory=$true, ParameterSetname='EnableTask')][Switch]$Enable,
[Parameter(Mandatory=$true, ParameterSetname='DisableTask')][Switch]$Disable,
[Parameter()]$TaskScheduler,
[Parameter()][Switch]$Recursive
)
If ($TaskScheduler -eq $null) {
$TaskScheduler = New-Object -ComObject Schedule.Service
$TaskScheduler.Connect("localhost")
}
$curFolder = $TaskScheduler.GetFolder($FolderPath)
$curFolder.GetTasks(1) | ForEach-Object {
If ($Enable) {
$_.Enabled = $True
Write-Host "Enable $($_.Path)"
}
If ($Disable) {
$_.Enabled = $False
Write-Host "Disable $($_.Path)"
}
}
If ($Recursive) {
$curFolder.GetFolders(1) | ForEach-Object {
If ($Enable) {
Control-Tasks -FolderPath $_.Path -Enable -TaskScheduler $TaskScheduler -Recursive
}
If ($Disable) {
Control-Tasks -FolderPath $_.Path -Disable -TaskScheduler $TaskScheduler -Recursive
}
}
}
}
예를 들어, "\ mysql"폴더 아래의 모든 작업을 호출하여 비활성화 할 수 있습니다.
Control-Tasks -FolderPath "\mysql" -Disable -Recursive
이 코드 스 니펫은 PowerShell에서 예약 된 작업을 일괄 적으로 비활성화 / 활성화하는 방법에서 제공되며 전체 샘플 아카이브를 다운로드 할 수 있습니다.
at.exe
. (예 :)AT 09:00 /every:SUNDAY shutdown.exe /r /f /d p:4:1 /c "Reboot via SchTask (AT Job)"
. 당신이 얻을 오류는 0x80041327입니다; 이 작업에는 이전 버전의 Windows와 호환되지 않는 속성이 있습니다.