meh*_*ran 5 powershell scheduled-tasks octopus-deploy windows2012
我在“\”[默认] 路径下使用 Windows 任务计划程序 GUI 定义了一些计划任务,但是当我Get-ScheduledTask在 powershell 中运行时,它不会返回它们。为什么?
我已经尝试使用Get-ScheduledTask -TaskName "MyTaskName"我的任务名称之一,但它出现了“未找到属性‘TaskName’等于‘MyTaskName’的 MSFT_ScheduledTask 对象”
实际上我已经尝试过https://library.octopusdeploy.com/step-template/actiontemplate-windows-scheduled-task-disable但它不起作用所以我尝试直接运行脚本。
更新 我找到了以下脚本来获取http://www.fixitscripts.com/problems/getting-a-list-of-scheduled-tasks上的任务列表:
# PowerShell script to get scheduled tasks from local computer
$schedule = new-object -com("Schedule.Service")
$schedule.connect()
$tasks = $schedule.getfolder("\").gettasks(0)
$tasks | Format-Table Name , LastRunTime # -AutoSize
IF($tasks.count -eq 0) {Write-Host “Schedule is Empty”}
Read-Host
Run Code Online (Sandbox Code Playgroud)
预先感谢您的帮助。
小智 5
结果很可能受到UAC 的影响。要查看所有内容,请尝试右键单击 PowerShell 图标,选择Run as Administrator然后Get-ScheduledTask再次运行您的命令,看看是否有任何改变。
进一步阅读: http : //david-homer.blogspot.co.uk/2017/10/not-all-scheduled-tasks-show-up-when.html
您尝试过使用 com 对象吗?这段代码对我有用:
# FOR A REMOTE MACHINE
$s = 'SERVER_NAME' # update this with server name
($TaskScheduler = New-Object -ComObject Schedule.Service).Connect($s)
# FOR LOCAL MACHINE
($TaskScheduler = New-Object -ComObject Schedule.Service).Connect()
#now we can query the schedules...
cls;$TaskScheduler.GetFolder('\').GetTasks(0) | Select Name, State, Enabled, LastRunTime, LastTaskResult | Out-GridView
Run Code Online (Sandbox Code Playgroud)
此代码将检索特定任务并启用它:
$task = $TaskScheduler.GetFolder('\').GetTask("TASKNAME")
$task.Enabled = $true
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9111 次 |
| 最近记录: |