La classe NsServerSession décrit une session active, c'est à dire un contexte de connexion attribué à un utilisateur durant une durée donnée.
Toute connexion au serveur nécessite l'établissement d'une session possédant un numéro d'identifiant unique. Plusieurs sessions peuvent être ouvertes en parallèle par le même utilisateur. Lorsque le serveur détecte que la connexion a été perdue avec le client, il libère automatiquement les ressources qui lui étaient associées et l'objet NsServerSession est supprimé de la liste des sessions ouvertes.
L'identifiant unique de session.
Une valeur booléenne indiquant si la session a été marquée comme à annuler par l'administrateur du serveur de sauvegarde.
L'identifiant numérique de l'utilisateur (NsUser) ayant ouvert la session.
La date d'ouverture de session.
Marque la session comme à annuler. Les connexions actives utilisant cette session sont immédiatement déconnectées du serveur de sauvegarde.
Set connection = CreateObject("NsAPI.NsConnection") if connection.ConnectToLocalServer then set server = CreateObject("NsAPI.NsServer") if server.Load(connection) then ' Charger les informations serveur set sessions = server.ActiveSessions(connection) ' Récupère la liste des sessions MsgBox "Nombre de sessions ouvertes : " & sessions.count ' Affiche le nombre de sessions ouvertes for each session in sessions ' Pour chaque session, afficher le nom complet de l'utilisateur qui l'a ouvert set user = CreateObject("NsAPI.NsUser") if user.LoadFromID(connection, session.UserID) then MsgBox "Session active ouverte par " & user.Description end if next end if connection.Disconnect else MsgBox "Connexion au serveur local impossible." end if
Set connection = CreateObject("NsAPI.NsConnection") Set sysutils = CreateObject("NsAPI.NsScriptUtils") if connection.ConnectToLocalServer then set server = CreateObject("NsAPI.NsServer") if server.Load(connection) then ' Charger les informations serveur set sessions = server.ActiveSessions(connection) ' Récupère la liste des sessions for each session in sessions if sysutils.CompareInt64(session.ID, connection.sessionID) = 0 then ' On n'annule pas notre session if not session.Cancel(connection) then ' Annuler la session MsgBox "Impossible d'annuler la session." else MsgBox "Session #" & sysutils.Int64ToStr(session.ID) & " annulée avec succès." end if end if next end if connection.Disconnect else MsgBox "Connexion au serveur local impossible." end if