locked
Detect if user has signed out or closed communicator and reopen/sign back in possible? RRS feed

  • Question

  •  

    I dont know if there is either an api that could be called from a C# app or perhaps a group policy to handle this..

    but we would like to be able to detect if a user has signed out and also check to see if they closed the app.. and periodically sign them back in/ reopen the app (say every hour)..

    Is there any way to do this.. the other key is doing it in a way that doesnt make them lose focus of the work they are doing as well.

    Thanks in advance

    Wednesday, July 9, 2008 5:08 PM

All replies

  • Hi Mark,

     

    Can you elaborate a little on your scenario so that I can understand it better? When you state - "detect if user has signed out or closed communicator" - I'm a little unclear here - it's possible to 'close' communicator, but it still keeps you signed in and running. Do you mean if the user has 'exited', i.e right clicked on the system tray icon for communicator and clicked on 'exit' to terminate communicator?

     

    Are you basically looking to build an app, that periodically looks to see if the user is signed in to communicator and signs the user in automatically if they sign out?

     

    Friday, July 25, 2008 2:10 AM


  • You can do it.. you need to play with the SQL scripts to acheive this.

    You can find out the number of active end points using GUI.

    http://www.ocspedia.com/Misc/Per-User_Reports.htm

    There is a database RTCDyn with transient information about OCS infra. You might look into it to explore the options.



    Regards,
    R. Kinker
    MCSE 2003 (Messaging), MCTS - LCS 2005, MCTS - OCS 2007
    http://www.ocspedia.com
    http://www.itcentrics.com/LCS_Home.htm
    Friday, July 25, 2008 5:30 AM
  • Mark,

     

    I believe the Communicator API might allow you to do what you need. I haven't actually tested this out, but I believe (unless I'm missing something), the following should work (psedo-code).

     

    1. Start Monitoring Service

    2. Set up a callback to 'wake up' every X mins

    3. On Wakeup, Create an instance of the Messenger object (I'm guessing this will connect you to a running instance if one exists and if not, might create one for you - this is an assumption, I'm making).

    4. Use the IMessenger::MyStatus property to check if the user is signed on

    5. If the user is not signed on, then sign the user in automatically by calling - IMessenger::AutoSignin

    6. Goto step 2.

     

    I could be wrong since I haven't actually used these API's but in theory this should work. Hope this helps.

    Friday, July 25, 2008 5:54 AM
  •  Arun Raghavan wrote:

    Hi Mark,

     

    Can you elaborate a little on your scenario so that I can understand it better? When you state - "detect if user has signed out or closed communicator" - I'm a little unclear here - it's possible to 'close' communicator, but it still keeps you signed in and running. Do you mean if the user has 'exited', i.e right clicked on the system tray icon for communicator and clicked on 'exit' to terminate communicator?

     

    Are you basically looking to build an app, that periodically looks to see if the user is signed in to communicator and signs the user in automatically if they sign out?

     

     

    Yeah, i basically want to know if they are signed out on their machine (and whether their machine is on and logged in itself too)..

     

    At first i wanted to force it to reopen or resign in, but then we decided to just send a warning message to their outlook email if this was detected..

    Friday, July 25, 2008 12:14 PM