If you're still having problems, you could try calling the batch script from the zentyal-logon.bat..
i.e.call \\<server-name>\netlogon\batch_script.bat
Mine is called between 'set Win7.Minor=1' and 'set Version=' in zentyal-logon.bat
N.B. You'll also need to add the same call function at the same point into the logon.bat.mas file to stop it getting overwritten by zentyal when making changes.
sudo nano /etc/zentyal/stubs/samba/logon.bat.mas
FYI, Instead of using Ifmember, my login script attempts to map the drives but moves on if a drive fails to map (On Error Resume Next). That way each user gets an attempt to map all the drives, if they don't have permission, they don't get mapped. Here are my login scripts, hopefully some of the info will be of use..
batch_script.bat
echo off
echo Setting PC Clock to Network Time
net time \\<server-name> /set /y
echo Setting up network shares, please standby...
call \\<server-name>\netlogon\net_drives.vbs
call \\<server-name>\netlogon\printers.vbs
echo Setup now complete. Script exiting...
net_drives.vbs
' VBScript source code
Option Explicit
On Error Resume Next
Dim oNet
Set oNet = CreateObject("WScript.Network")
oNet.MapNetworkDrive "M:", "\\<server-name>\Share1", False
oNet.MapNetworkDrive "N:", "\\<server-name>\Share2", False
etc etc
printers.vbs
' VBScript source code
On Error Resume Next
Dim WshNetwork
Set WshNetwork = CreateObject("WScript.Network")
WshNetwork.AddWindowsPrinterConnection "\\<server-name>\<printer-1-name>"
WshNetwork.AddWindowsPrinterConnection "\\<server-name>\<printer-2-name>"