+ Post New Thread
Results 1 to 5 of 5
Home Access Plus+ Thread, Two issues in current logon tracker in Projects:; Hi Nick, Two issues in the current logon tracker: 1. If the -silent switch is NOT used for group policy ...
  1. #1

    Join Date
    Sep 2009
    Posts
    133
    Thank Post
    0
    Thanked 4 Times in 4 Posts
    Rep Power
    11

    Two issues in current logon tracker

    Hi Nick,

    Two issues in the current logon tracker:

    1. If the -silent switch is NOT used for group policy deployment, i.e. logon/logoff/startup/shutdown scripts e.g.

    "HAP Logon Tracker.exe" http://fqdn.local/HAP/

    then the logon tracker does operate correctly for logon scripts - although this might be an issue with the scripts asyc setting (currently at default).


    The bigger problem is

    2. If a student logs on for a second time, they have the option to log themselves off the other computer.

    This feature does not work. When a student on a second computer tries to log themselves off a first computer, the first computer initiates a logoff on the second one, but this fails. The desktop dissappears, but HAP re-appears (before the windows logon screen ever gets a chance to re-appear) and won't allow the logoff.

    The message is logged in the eventvwr:

    An error occurred in the Logon Tracker

    Error: System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.Data.SqlClient.SqlException: Cannot insert the value NULL into column 'logonserver', table 'haptrack.dbo.TrackerEvents'; column does not allow nulls. INSERT fails.
    The statement has been terminated.
    at System.Data.SqlClient.SqlConnection.OnError(SqlExc eption exception, Boolean breakConnection)
    at System.Data.SqlClient.TdsParser.ThrowExceptionAndW arning()
    at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
    at System.Data.SqlClient.SqlDataReader.ConsumeMetaDat a()
    at System.Data.SqlClient.SqlDataReader.get_MetaData()
    at System.Data.SqlClient.SqlCommand.FinishExecuteRead er(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
    at System.Data.SqlClient.SqlCommand.RunExecuteReaderT ds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
    at System.Data.SqlClient.SqlCommand.RunExecuteReader( CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
    at System.Data.SqlClient.SqlCommand.RunExecuteReader( CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
    at System.Data.SqlClient.SqlCommand.ExecuteReader(Com mandBehavior behavior, String method)
    at System.Data.SqlClient.SqlCommand.ExecuteDbDataRead er(CommandBehavior behavior)
    at System.Data.Linq.SqlClient.SqlProvider.Execute(Exp ression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult)
    at System.Data.Linq.SqlClient.SqlProvider.ExecuteAll( Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries)
    at System.Data.Linq.SqlClient.SqlProvider.System.Data .Linq.Provider.IProvider.Execute(Expression query)
    at System.Data.Linq.ChangeDirector.StandardChangeDire ctor.DynamicInsert(TrackedObject item)
    at System.Data.Linq.ChangeDirector.StandardChangeDire ctor.Insert(TrackedObject item)
    at System.Data.Linq.ChangeProcessor.SubmitChanges(Con flictMode failureMode)
    at System.Data.Linq.DataContext.SubmitChanges(Conflic tMode failureMode)
    at HAP.Data.SQL.Tracker.Logon(String Username, String Computer, String DomainName, String IP, String LogonServer, String OS)
    at HAP.Web.Tracker.api.Logon(String Username, String Computer, String DomainName, String IP, String LogonServer, String os)
    --- End of inner exception stack trace ---

    It appears to be a problem due to the .SQL file that sets up the tracker database - it requires the 'logonserver' column to allow NULLS. However, if we set this to allow NULLS, then people are never shows as being logged off when they logoff usually, or when a PC starts.

    Any thoughts?

    Thanks
    Moby
    Last edited by mobybrick; 2nd August 2013 at 04:21 PM.

  2. #2
    nickbro's Avatar
    Join Date
    Jul 2010
    Location
    Gilwern, Wales
    Posts
    3,520
    Thank Post
    37
    Thanked 501 Times in 432 Posts
    Rep Power
    113
    Looks like it's not putting the correct information into the database. It should not be putting NULLs into the database. You should always be able to get what logon server the user has logged onto.

  3. #3

    Join Date
    Sep 2009
    Posts
    133
    Thank Post
    0
    Thanked 4 Times in 4 Posts
    Rep Power
    11
    Hi Nick,

    There's not a problem getting the logon server info

    - The copy of HAP that runs at logoff tries to write NULL or has a problem

    This causes a) Logoffs and shutdown take a very long time because the client abends, b) Students aren't registered as being logged off and c) Attempts by students to remotely log themselves off (when logging in on another computer) fail.

    What would you like me to do to test? It looks broken!!

    Thanks,
    Moby

  4. #4
    nickbro's Avatar
    Join Date
    Jul 2010
    Location
    Gilwern, Wales
    Posts
    3,520
    Thank Post
    37
    Thanked 501 Times in 432 Posts
    Rep Power
    113
    Very odd, it doesn't do this on my site, are you using https in the address?

    This is the code that gets run on Logoff/Shutdown/Startup:

    Code:
                sql2linqDataContext sdc = new sql2linqDataContext(ConfigurationManager.ConnectionStrings[hapConfig.Current.Tracker.Provider].ConnectionString);
                foreach (TrackerEvent te in sdc.TrackerEvents.Where(t => t.ComputerName == Computer && t.domainname == DomainName && !t.LogoffDateTime.HasValue))
                    te.LogoffDateTime = DateTime.Now;
                sdc.SubmitChanges();
    Basically, it looks tracker events where the computer name and domain name exist and there is a logon recorded with no log off, it then sets the logoff time to now.

    It doesn't go anywhere near the logon server

  5. #5

    Join Date
    Sep 2009
    Posts
    133
    Thank Post
    0
    Thanked 4 Times in 4 Posts
    Rep Power
    11
    Hi,

    Yes, am using https - although I am using the internal name of the server, e.g. https://localname.local/HAP/ ~ should that make any difference?

    Something is broken here on fresh install - using SQL database.

    Regards
    Moby

SHARE:
+ Post New Thread

Similar Threads

  1. Setting up Logon tracker in V8?
    By reggiep in forum Home Access Plus+
    Replies: 7
    Last Post: 1st October 2012, 11:55 AM
  2. Drive mapping issues in logon scripts
    By Bruce123 in forum Windows
    Replies: 10
    Last Post: 20th September 2009, 12:22 PM
  3. Two jobs in West Yorkshire
    By Simcfc73 in forum Educational IT Jobs
    Replies: 5
    Last Post: 18th October 2007, 10:47 AM
  4. printing issue in nova t 4
    By krisd32 in forum MIS Systems
    Replies: 3
    Last Post: 30th June 2006, 12:46 PM
  5. Curious printing issue in NOVA-T
    By Jake in forum How do you do....it?
    Replies: 2
    Last Post: 24th March 2006, 01:10 PM

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •