为什么不能这样做脚本,通过PowerShell脚本计划任务的事件?

问题描述:

我碰到一个脚本我一直工作在一个小问题。为什么不能这样做脚本,通过PowerShell脚本计划任务的事件?

代码本身工作完全正常;当我在我的本地工作站上运行它,它是完美的。然而,当我在需要安装在其上(此脚本被设计为自动安装)SCCM服务器中的一个(赢2003 R2 32位)运行它失败在我的功能之一。培训相关的代码如下:

# Schedules Weekly tasks 
    function SchWeekly 
    {param ([string]$Comp, [string]$Date, [string]$RunTime, [int]$DayOfWeek, [string]  $commandpath) 

    $service = new-object -comobject "Schedule.Service"    # Forms object reference 
    $service.Connect($Comp)           # Connects to host machine 
    $rootFolder = $service.GetFolder("\")      # Sets root folder of Task Scheduler 
    $taskDefinition = $service.NewTask(0)       # Begins task creation 
    $regInfo = $taskDefinition.RegistrationInfo      # Sets registry info 
    $regInfo.Description = 'SCCM Check For Update' 
    $regInfo.Author = "Administrator" 
    $settings=$taskDefinition.Settings        # Sets default settings for the new task 
    $settings.StartWhenAvailable = $True 
    $settings.Hidden = $False 
    $triggers = $taskDefinition.Triggers       # Creates Trigger object reference 
    $trigger = $triggers.Create(3)         # Sets to create (Number 3 means Weekly trigger) 
    # Start Time ex. 2012-6-10 22:00:00 
    $trigger.StartBoundary = $Date + "T" + $RunTime     # Sets start date (End date can be set) e 
                  # ex. $trigger.EndBoundary = Date + "T" + Time 
    $trigger.DaysOfWeek = $DayOfWeek        # Sends integer for day of week to run on (1-7) 
                  # 1 = Sunday, 2 = Monday, etc.... 
    $trigger.WeeksInterval = 1          # Sets to run every week 
    $trigger.Id = "WeeklyTriggerId"         # Trigger ID name 
    $trigger.Enabled = $True 
    $Action = $taskDefinition.Actions.Create(0) 
    $Action.Path = $commandpath           # Links to script 
    $rootFolder.RegisterTaskDefinition('SCCM Check For Update', $taskDefinition, 6, "", "", 3) # Registers scheduled task 
    } 

的错误。特别是在这一行: $服务=新对象-ComObject“Schedule.Service”

据报道,“无法加载COM类型Schedule.Service”

原因是当地的盒子是寡妇7 Server 2003不具备comobject“Schedule.Service”这是2008年

的Windows 7的一部分,如果你按照它下面的链接会告诉你如何安排一个窗口上的任务2003服务器使用PowerShell。

Schedules tasks on w2k3

+1

想知道什么是讽刺?我原来的脚本来自那个博客。谢谢 – RoboGen 2012-08-07 14:29:22