2017-02-15 72 views
1

显示我已经在“\” [默认]路径使用Windows任务计划程序GUI中定义了一些预定的任务,但是当我在PowerShell中运行Get-ScheduledTask,它不归还。为什么?计划任务不进去,ScheduledTask结果

我试图与Get-ScheduledTask -TaskName "MyTaskName"我的任务名称之一,但它与

其实我已经试过https://library.octopusdeploy.com/step-template/actiontemplate-windows-scheduled-task-disable“‘TASKNAME’等于‘MyTaskName’财产没有找到MSFT_ScheduledTask对象”来了,但它不工作,所以我试图直接运行脚本。

UPDATE 我发现在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 

感谢您帮助。

+1

什么在命令提示符回报呢“的schtasks /查询/ v”?你看到你的任务? –

+0

@DavidBrabant它返回很长的信息,很难找到其中的特定任务名称。 – mehran

回答

0

您是否尝试过使用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 

此代码将检索特定任务,并启用它:

$task = $TaskScheduler.GetFolder('\').GetTask("TASKNAME") 
$task.Enabled = $true 
+0

第一个与'。'不兼容。也没有它。与'。'它得到了以下错误_Exception调用“的GetFolder”与“1”的说法(S):“只支持此操作时,您连接到服务器” _ – mehran

+0

第二个被发现了以下错误:_Exception叫“GetTask”与“1”参数:“Access is denied._ – mehran

+0

抱歉,现在不在Windows机器上,请尝试在提升的PowerShell会话中运行。另外,对于本地任务,语法需要略有不同 - 请参阅我的编辑,与最新的变化 – TechSpud