제가 작업 해본 스크립트에 약간의 문제가 있습니다.왜이 스크립트는 Powershell 스크립트를 통해 예약 된 작업 이벤트를 만들 수 없습니까?
코드 자체가 완벽하게 작동합니다. 로컬 워크 스테이션에서 실행할 때 완벽합니다. 그러나 SCCM이 설치되어 있어야하는 서버 (Win 2003 R2 32-bit) 중 하나 (이 스크립트는 자동으로 설치되도록 설계됨)에서 실행하면 내 기능 중 하나에서 오류가 발생합니다. 와 관계있는 코드는 다음과 같습니다
# 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
}
오류는 특히이 라인에 : $ 서비스 = 그것은
"COM 형식 Schedule.Service를로드 할 수 없습니다"보고"Schedule.Service"-comobject 새로운 객체
아이러니 뭐니? 내 원래 스크립트는 바로 그 블로그에서 온다. 감사 – RoboGen