Men kan deze VBScript zowel in de "Run VBScript" plakken, als een globale function maken welke aangeroepen kan worden met enkel het taaknummer. Dit script kan overigens ook met een .vbs bestand buiten BPA Platform uitgevoerd worden, maar men moet dan wel de BPA Platform client op de lokale machine hebben staan..
VBScript:
Dim TCAPI, Session, TaskItem
Const LogonTaskCentre = 1
Const LogonWindows = 2
Set TCAPI = CreateObject("Iwcltcp.TCAPI")
TCAPI.ConnectCallbackOnLogon = False
Set Session = TCAPI.Logon(LogonTaskCentre, "localhost", "username", "password")
Set TaskItem = Session.OpenTaskItem(taakid) ' 1 is the Task ID
If TaskItem.Disabled = False Then
TaskItem.queuetask
End If
Men moet enkele zaken aanpassen:
- "localhost" vervangt men met de naam van de server.
- "username" vervangt men met de naam van de BPA Platform gebruiker.
- "password" vervangt men met het wachtwoord van deze gebruiker.
- "taakid" vervangt men met het nummer van de taak die uitgevoerd moet worden.
Men kan door een globale function te gebruiken deze zo instellen dat enkel het taakID dynamisch meegegeven hoeft te worden.
TaakID
Binnen BPA Platform heeft iedere taak een uniek ID, dat gebruikt wordt om de taak aan te roepen. Men kan dit ID vinden door dit in de taak op te zoeken.
Dit kan op de volgende manier:
- Open de gewenste taak.
- Ga naar "General" (1)
- Klik op "Optionsā¦" (2)
Afbeelding 1- opzoeken taakid.
Men ziet nu de opties van de taak. Vervolgens klikt men op de tab advanced (Afbeelding 12.2). In deze Tab ziet men bij Identification een Task ID staan ā dit is het unieke ID van deze taak. Bij een aanroep van het starttaak script laat men echter de nullen aan het begin weg (In het geval van de screenshot is de taskID dus 3)
Afbeelding 2- opzoeken taakid.
Benodigde rechten
In de VBScript wordt gebruik gemaakt van het object "CreateObject". Met dit object is het mogelijk om andere objecten buiten BPA Platform aan te roepen zoals, in dit geval, de BPA Platform API. Het is echter ook mogelijk om andere software aan te roepen.
Wegens de veelzijdigheid van CreateObject is het gebruik hiervan limiteerbaar perĀ BPA Platform gebruiker, en staat de mogelijkheid om CreateObject te gebruiken standaard bij iedere gebruiker uit. Wanneer men vanuit een BPA Platform taak een andere taak wil laten starten, is het noodzakelijk om de gebruiker die "Owner" is van deze taak rechten te geven op het "CreateObject" object. De owner van een taak kan men binnen BPA Platform in de lijst met taken terugvinden:
Afbeelding 3 ā BPA Platform taaklijst met de kolom "Owner", welke de eigenaar van de taak weergeeft.
Men kan gebruikers rechten op CreateObject toekennen binnen de gebruikerssettings van de desbetreffende gebruiker. Men gaat hiervoor binnen BPA Platform naar "System" -> "Users" waar men de gebruiker opent men deze rechten wil toekennen. Op het tabblad "Script Objects" zet men "Any Script" en "Allow this user the use of System.GetObject in script" aan.
Met deze instellingen heeft de gebruiker voldoende rechten om middels VBScript het StartTaak script uit te mogen voeren.
Afbeelding 4 āInstellen permissies