La classe NsExecPlanOperation représente les informations d'exécution d'un plan d'exécution donné.
Un objet NsExecPlanOperation est créé à la fin de chaque exécution d'un plan ou lors de l'appel à la méthode Start d'un objet NsExecPlan, vous permettant de contrôler le résultat de son déroulement.
Le serveur conserve pour chaque plan d'exécution un nombre fixe d'objets NsExecPlanOperation, défini par le champ MaxOperationsToKeep de la classe NsExecPlan.
L'identificateur unique de l'opération.
L'identificateur du plan d'exécution parent, de type NsExecPlan.
La date de début de l'opération, au format UTC.
La date de fin de l'opération, au format UTC.
La source de déclenchement de l'opération.
Une variable booléenne indiquant si le plan d'exécution a été exécuté jusqu'à son terme, ou bien s'il a été annulé avant d'y parvenir.
Le nombre de membres qui n'ont pu être trouvés sur le serveur, par exemple parce qu'un membre pointait vers un objet récemment supprimé du serveur de sauvegarde.
Le nombre d'utilisateurs qui n'ont pu être contactés par le serveur, par exemple parce qu'ils étaient déconnectés ou bien que leur poste était éteint.
Le nombre de sauvegardes que le serveur avait prévu d'exécuter.
Le nombre de sauvegardes effectivement exécutées.
Le nombre de sauvegardes dont l'exécution est arrivée à son terme.
Le nombre de sauvegardes dont l'exécution est arrivée à son terme sans erreurs.
Charge en mémoire l'exécution du plan d'exécution d'identificateur OperationID
Annule l'exécution de l'opération représentée par l'objet. Cette fonction renvoit un résultat booléen égal à true seulement si l'opération était en cours d'exécution et qu'elle a pu être arrêtée avec succès, false sinon.
Supprime de la base de données les informations de l'opération représentées par l'objet.
Set connection = CreateObject("NsAPI.NsConnection") Set sysutils = CreateObject("NsAPI.NsScriptUtils") if connection.ConnectToLocalServer then set server = CreateObject("NsAPI.NsServer") if server.Load(connection) then ' Chargement des infos serveur set execPlans = server.ExecPlans(connection) ' Obtention de la liste des plans d'exécution programmés ' Demander un nom du plan execPlanName = InputBox("Saisissez le nom d'un plan d'exécution à examiner : ", "Test de l'API UB", "") ' Le nom du plan a été saisi ? if execPlanName <> "" then ' Existe t-il ? p = execPlans.FindByName(execPlanName) if (p > -1) then ' Le plan existe : on récupère ses informations d'exécution set operations = execPlans(p).Operations(connection) ' Le plan a t-il au moins été exécuté une fois ? if operations.Count = 0 then MsgBox "Le plan d'exécution n'a jamais été exécuté !" else execTime = 0 successRate = 0 for each operation in operations ' Pour chaque opération... ' On récupère le temps d'exécution de l'opération en minutes... execTime = execTime + DateDiff("n", operation.StartDateTime, operation.EndDateTime) ' ... Et le taux de succès (sauvegardes réussies / sauvegardes prévues) successRate = successRate + ((operation.SucceededBackups / operation.ExpectedBackups) * 100) next ' Affichage de temps d'exécution moyen du plan d'exécution : MsgBox "Temps d'exécution moyen : " & Round(execTime / operations.Count) & " minutes." ' Affichage du taux de succès moyen du plan d'exécution : MsgBox "Taux de succès moyen : " & Round(successRate / operations.Count) & "%." end if else MsgBox "Le plan d'exécution n'a pu être trouvé sur le serveur." end if end if else MsgBox "Impossible de charger les informations serveur." end if connection.Disconnect else MsgBox "Connexion au serveur local impossible." end if