Beachhead Solutions logon script does not run

  • 7001002
  • 21-Jul-2008
  • 26-Apr-2012

Environment

Novell Client for Windows 2000/XP/2003 4.91 Support Pack 4 Login

Situation

Lost Data Destruction by Beachhead Solutions, uses the Network Provider API, an API provided by the Windows OS, to launch a logon script when a user logs into a machine. The logon script simply launches a .bat file, which in turn starts an executable.  If the Novell Client is installed on a machine, this process breaks down since the logon script doesn't run.

Resolution

Fix: Apply updated NWGINA.DLL date 20Aug2008 or later.

Workaround: Add the following lines to the Novell login script to approximate the missing login script information, substituting the computername as appropriate:

WRITE "SET UserInitMprLogonScript=%<SystemRoot>\SYSTEM32\UCS.BAT %<COMPUTERNAME>"
SET UserInitMprLogonScript="%<SystemRoot>\SYSTEM32\UCS.BAT %<COMPUTERNAME>"

Additional Information

The application requires a process to run with the credentials of a logged on user.  Therefore, when a user logs in, the Microsoft's Network Provider API for Windows OS is used to launch a logon script. The NPLogonNotify() function to used to assign the contents of a logon script at user logon.  It contains only one line that launches a .bat file with a single argument:

"C:\windows\system32\temp.bat [domainname]"

The "temp.bat" file also contains a single line that launches our executable with a single argument:

"start C:\windows\system32\ourApp.exe %1"

The end result of all this should be a running ourApp.exe in task manager.  However, with the Novell Client installed on the machine, ourApp.exe is not running at the end of this sequence.

Viewing the applications running in Task Manager, you will see MonitorConsole.exe running, but UserConsole.exe will not be running.

Setting "Initial Novell Login" to "Off" in the Novell Client properties page allows the login script to run as expected.