2017-12-25 5 views
1

Ich plane eine Aufgabe von vb.net mit diesen Parametern. Erzeugt die Aufgabe korrekt und führt sie aus. Dies funktioniert zwar lokal, aber ich muss diese Aufgabe auf dem Server erstellen. Irgendwelche Ideen?Aufgabenplan im Windows-Server von einem anderen Computer

Using tService As New TaskService() 
    Dim Fecha As DateTime = DateTime.Parse(txtFDesde.Text + " " + txtHDesde.Text) 
    Dim tTime As New TimeTrigger() 
    Dim tDefinition As TaskDefinition = tService.NewTask 
    tDefinition.RegistrationInfo.Description = "Tarea programada para ejecutar" 
    tDefinition.Settings.RunOnlyIfLoggedOn = False 
    tTime.StartBoundary = New DateTime(Fecha.Year, Fecha.Month, Fecha.Day, Fecha.Hour, Fecha.Minute, 0) 
    tDefinition.Triggers.Add(tTime) 
    Dim url As String = "http://localhost:5000/" & Param 
    tDefinition.Actions.Add(New ExecAction("cmd.exe", "/c start " & url)) 
    tService.RootFolder.RegisterTaskDefinition("Test " & Param, tDefinition) 
End Using 

Antwort

1

Versuchen Sie, die statische Methode connect ... Sie werden Anmeldeinformationen müssen auf den Server .... https://msdn.microsoft.com/en-us/library/windows/desktop/aa383451(v=vs.85).aspx

+0

Danke, ich benutze das Beispiel und es funktioniert! Es ist möglich, ob der Benutzer angemeldet ist oder nicht? – Sorginah

+0

Sie meinen, an der Maschine angemeldet zu sein, von der dieses Programm ausgeführt wird, oder an der Maschine angemeldet zu sein, auf die Sie remote auf den Taskplan zugreifen? – Ctznkane525

+0

In die Maschine, die Zugriff auf die Aufgabe zu planen. Ich versuche, die Einstellungen dafür zu ändern, aber ich kann nicht finden, welches ist das. Ich suche es hier: https://msdn.microsoft.com/en-us/library/windows/desktop/aa383480(v=vs.85).aspx – Sorginah

0

Dies funktioniert, ich habe nur die Server-Paramter auf „Connect()“ hinzufügen

Const TriggerTypeTime = 1 
Const ActionTypeExec = 0 

Dim service = CreateObject("Schedule.Service") 
Call service.Connect() 

Dim rootFolder 
rootFolder = service.GetFolder("\") 

Dim taskDefinition 
taskDefinition = service.NewTask(0) 

Dim regInfo 
regInfo = taskDefinition.RegistrationInfo 
regInfo.Description = "Testing" 
regInfo.Author = "Me" 

Dim principal 
principal = taskDefinition.Principal 

' revisar 
principal.LogonType = 3 

Dim settings 
settings = taskDefinition.Settings 
settings.Enabled = True 
settings.StartWhenAvailable = True 
settings.Hidden = False 

Dim triggers 
triggers = taskDefinition.Triggers 

Dim trigger 
trigger = triggers.Create(TriggerTypeTime) 

Dim startTime 
startTime = L_TraducirParaTrigger(Fecha) 

trigger.StartBoundary = startTime 
trigger.Id = "TimeTriggerId" 
trigger.Enabled = True 

Dim Action 
Action = taskDefinition.Actions.Create(ActionTypeExec) 
Action.Path = "C:\Windows\System32\cmd.exe" 
Dim url As String = "http://localhost:5000/" & L_IdEjecucion 
Action.Arguments = "/c start " & url 
'revisar último parámetro 
Call rootFolder.RegisterTaskDefinition(L_Id, taskDefinition, 6, , , 3) 
Verwandte Themen