none
Script VB para criar uma tarefa agendada remotamente RRS feed

  • Pergunta

  • Olá, pessoal... vejam se conseguem me dar um help!

    Preciso de um script onde eu possa criar uma tarefa agendada em um computador remoto, mas que neste script eu possa imputar os dados como: hostname, e a data de quando a tarefa deve ser executada. Encontrei este modelo abaixo na net, porem ele é para executar localmente. Como eu poderia adaptá-lo para um procedimento remoto?

    Agradeço antecipamente.

    '=======================  Inicio do Script ================================

    '------------------------------------------------------------------
    ' This sample schedules a task to start notepad.exe 30 seconds
    ' from the time the task is registered.
    '------------------------------------------------------------------

    ' A constant that specifies a time-based trigger.
    const TriggerTypeTime = 1
    ' A constant that specifies an executable action.
    const ActionTypeExec = 0   

    '********************************************************
    ' Create the TaskService object.
    Set service = CreateObject("Schedule.Service")
    call service.Connect()

    '********************************************************
    ' Get a folder to create a task definition in. 
    Dim rootFolder

    Set rootFolder = service.GetFolder("\")

    ' The taskDefinition variable is the TaskDefinition object.
    Dim taskDefinition
    ' The flags parameter is 0 because it is not supported.
    Set taskDefinition = service.NewTask(0) 

    '********************************************************
    ' Define information about the task.

    ' Set the registration info for the task by 
    ' creating the RegistrationInfo object.
    Dim regInfo
    Set regInfo = taskDefinition.RegistrationInfo
    regInfo.Description = "Inicia script de remoção de AdminLocalTEMP"
    regInfo.Author = "Service Desk"

    '********************************************************
    ' Set the principal for the task
    Dim principal
    Set principal = taskDefinition.Principal

    ' Set the logon type to interactive logon
    principal.LogonType = 3


    ' Set the task setting info for the Task Scheduler by
    ' creating a TaskSettings object.
    Dim settings
    Set settings = taskDefinition.Settings
    settings.Enabled = True
    settings.StartWhenAvailable = True
    settings.Hidden = False

    '********************************************************
    ' Create a time-based trigger.
    Dim triggers
    Set triggers = taskDefinition.Triggers

    Dim trigger
    Set trigger = triggers.Create(TriggerTypeTime)

    ' Trigger variables that define when the trigger is active.
    Dim startTime, endTime

    Dim time, timefinal

    timefinal = inputbox("Informe a data final")

    time = DateAdd("n", timefinal, Now)  
    startTime = XmlTime(time)

    time = DateAdd("n", timefinal, Now) 
    endTime = XmlTime(time)

    WScript.Echo "startTime :" & startTime
    WScript.Echo "endTime :" & endTime

    trigger.StartBoundary = startTime
    trigger.EndBoundary = endTime
    trigger.ExecutionTimeLimit = "PT5M"    
    trigger.Id = "TimeTriggerId"
    trigger.Enabled = True

    '***********************************************************
    ' Create the action for the task to execute.

    Dim Action
    Set Action = taskDefinition.Actions.Create( ActionTypeExec )
    Action.Path = "C:\Windows\temp\removeadmin.ps1"

    WScript.Echo "Task definition created. About to submit the task..."

    '***********************************************************
    ' Register (create) the task.

    call rootFolder.RegisterTaskDefinition( _
        "AdminLocalTEMP", taskDefinition, 6, , , 3)

    WScript.Echo "Task submitted."



    '------------------------------------------------------------------
    ' Used to get the time for the trigger 
    ' startBoundary and endBoundary.
    ' Return the time in the correct format: 
    ' YYYY-MM-DDTHH:MM:SS. 
    '------------------------------------------------------------------
    Function XmlTime(t)
        Dim cSecond, cMinute, CHour, cDay, cMonth, cYear
        Dim tTime, tDate

        cSecond = "0" & Second(t)
        cMinute = "0" & Minute(t)
        cHour = "0" & Hour(t)
        cDay = "0" & Day(t)
        cMonth = "0" & Month(t)
        cYear = Year(t)

        tTime = Right(cHour, 2) & ":" & Right(cMinute, 2) & _
            ":" & Right(cSecond, 2)
        tDate = cYear & "-" & Right(cMonth, 2) & "-" & Right(cDay, 2)
        XmlTime = tDate & "T" & tTime 
    End Function

    '=======================  Final do Script ================================


    VagnerOliveira

    quarta-feira, 16 de setembro de 2015 14:24