none
Windows 2008-Server Powershell & Aufgabenplanung RRS feed

  • Frage

  • Hallo zusammen,

    ich suche ein Beispiel wie ich per Powershell-Skript der Aufgabenplanung einen neue Task einstellen kann.

    Gruß


    Elmar

    Mittwoch, 4. August 2010 08:56

Antworten

  • Hallo zusammen,

    folgende Lösung habe ich selbst ermittelt:

     

      #Verbindung zum Taskmanager aufbaen
      $ST = new-object -com("Schedule.Service")
      $ST.connect()
      
      #In den Root-Folder wechseln
      $RootFolder = $ST.getfolder("\")
    
      $TaskDef = $ST.NewTask(0) 
    
      #Task definieren
      $RegInfo = $Taskdef.RegistrationInfo
    
    	# Author des Tasks
      $Reginfo.Author = "xyz" 
    
      $Settings = $Taskdef.Settings
    
      $Settings.StartWhenAvailable = $True
    
      #zeitgesteuerten Trigger erstellen
      $Triggers = $Taskdef.Triggers
    
      $TASK_TRIGGER_TIME = 1
      $Trigger = $Triggers.Create($TASK_TRIGGER_TIME)
    
    	# Startzeitpunkt einstellen
      $Trigger.StartBoundary = "2010-08-05T18:10:00"
    
    	# Timeout in 5 Minuten
      $Trigger.ExecutionTimeLimit = "PT5M" 
    
      #Aktion erstellen, hier eine ausführbare Datei 
      $ActionTypeExecutable = 0 
    
      $Action = $Taskdef.Actions.Create($ActionTypeExecutable)
    	
    	#Datei die gestartet werden solll
      $Action.Path = "c:\start.bat"
    
      #Registrieren des Task
      #6 meansTASK_CREATE_OR_UPDATE
      $Rootfolder.RegisterTaskDefinition("geplanter Task", $Taskdef, 6,"","", 3)

    • Als Antwort markiert Elmar Brandt Donnerstag, 5. August 2010 06:52
    Donnerstag, 5. August 2010 06:52

Alle Antworten

  • Hallo zusammen,

    folgende Lösung habe ich selbst ermittelt:

     

      #Verbindung zum Taskmanager aufbaen
      $ST = new-object -com("Schedule.Service")
      $ST.connect()
      
      #In den Root-Folder wechseln
      $RootFolder = $ST.getfolder("\")
    
      $TaskDef = $ST.NewTask(0) 
    
      #Task definieren
      $RegInfo = $Taskdef.RegistrationInfo
    
    	# Author des Tasks
      $Reginfo.Author = "xyz" 
    
      $Settings = $Taskdef.Settings
    
      $Settings.StartWhenAvailable = $True
    
      #zeitgesteuerten Trigger erstellen
      $Triggers = $Taskdef.Triggers
    
      $TASK_TRIGGER_TIME = 1
      $Trigger = $Triggers.Create($TASK_TRIGGER_TIME)
    
    	# Startzeitpunkt einstellen
      $Trigger.StartBoundary = "2010-08-05T18:10:00"
    
    	# Timeout in 5 Minuten
      $Trigger.ExecutionTimeLimit = "PT5M" 
    
      #Aktion erstellen, hier eine ausführbare Datei 
      $ActionTypeExecutable = 0 
    
      $Action = $Taskdef.Actions.Create($ActionTypeExecutable)
    	
    	#Datei die gestartet werden solll
      $Action.Path = "c:\start.bat"
    
      #Registrieren des Task
      #6 meansTASK_CREATE_OR_UPDATE
      $Rootfolder.RegisterTaskDefinition("geplanter Task", $Taskdef, 6,"","", 3)

    • Als Antwort markiert Elmar Brandt Donnerstag, 5. August 2010 06:52
    Donnerstag, 5. August 2010 06:52
  • Hallo Elmar,

    Alternativen wären das PowerShell Pack, welches ein TaskScheduler Module enthält oder per im System mitgelieferten schtasks.exe das auch von PowerShell aus ausgeführt werden kann.

    Gruß,
    Andrei

    Donnerstag, 5. August 2010 07:46
    Moderator