Script /Deconnexion Lync 2013

Kelocat Messages postés 2 Date d'inscription mercredi 1 octobre 2014 Statut Membre Dernière intervention 2 octobre 2014 - 1 oct. 2014 à 16:59
Kelocat Messages postés 2 Date d'inscription mercredi 1 octobre 2014 Statut Membre Dernière intervention 2 octobre 2014 - 2 oct. 2014 à 10:12
Bonjour à tous

Je viens vers vous en espérant qu'un génie du VBS se cache parmi vous =D
J'ai un petit soucis concernant Lync 2013

Je voudrais forcer les utilisateurs à utiliser Lync 2013.
J'ai tout d'abord , un script (d'ouverture de session) qui force le lancement de Lync et s'il n'est pas ouvert, le relance en permanence.De ce coté, tout va bien.

Par contre je bloque sur un autre point : la déconnexion

Aurez-vous une idée sur un script qui empêcherait la déconnexion des utilisateurs? . Ou une relance automatique quand ils se déconnectent?

Merci pour votre aide

PS : Pour les intéressés , voilà le script pour empêcher la fermeture de Lync 2013
Option Explicit
Dim ProcessPath
ProcessPath = "C:\Program Files\Microsoft Office\Office15\lync.exe"
Do
Call CheckProcess(DblQuote(ProcessPath))
Call Pause(5)
Loop
'**************************************************************************
Sub CheckProcess(ProcessPath)
Dim strComputer,objWMIService,colProcesses,WshShell,Tab,ProcessName
strComputer = "."
Tab = Split(ProcessPath,"")
ProcessName = Tab(UBound(Tab))
ProcessName = Replace(ProcessName,Chr(34),"")
'Msgbox ProcessName
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" & strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = '"& ProcessName & "'")
If colProcesses.Count = 0 Then
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run ProcessPath
Else
Exit Sub
End if
End Sub
'**************************************************************************
'Fonction pour ajouter les doubles quotes dans une variable
Function DblQuote(Str)
DblQuote = Chr(34) & Str & Chr(34)
End Function
'**************************************************************************
Sub Pause(NSeconds)
Wscript.Sleep(NSeconds*1000)
End Sub
'**************************************************************************

2 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
1 oct. 2014 à 17:28
Bonjour,

Vérifier que le process est présent est une chose assez "facile" ... (attention toutefois.. il se peut que Lync ne soit pas toujours installé dans le chemin que tu utilises...)


Pour ce qui est de savoir si les personnes sont connectées ou non.... là sa se complique...
Il faudrait regarder du côté des DLL de Lync si une fonction qui retourne l'état de la connexion existe....

Regarde par ici peut être ... :
http://msdn.microsoft.com/en-us/library/jj162980%28v=office.15%29.aspx

0
Kelocat Messages postés 2 Date d'inscription mercredi 1 octobre 2014 Statut Membre Dernière intervention 2 octobre 2014
Modifié par Kelocat le 2/10/2014 à 10:13
Bonjour jordane45 !

Merci pour ta réponse =D

Pour l'histoire du chemin d'installation, tous mes utilisateurs sont en Windows 64 bit et le chemin d'installation de Lync est celui par défaut. Donc de ce coté, le problème ne se pose pas.

Pour revenir a ton lien, j'ai cherché sur Internet et sur le site que tu as donné.
Je n'ai rien trouvé sur internet. Par contre sur le site microsoft, il propose des "solutions" (qui ne correspond pas tout à fait a mon problème) mais via des projets Visual studio :s Pas de script vbs en vue :x

Merci en tout cas de ton aide

Cordialement

Kelocat
0
Rejoignez-nous