Michael Liermann
2008-Aug-04 15:02 UTC
[Samba] Help needed: strange issue with share mapping at logon
Hello all, I've run into an issue while migrating a client's Samba PDC from Debian 3.x to OpenSuSE 10.3, have been beating my head against it for over a week, and am now turning to the mailing list for help. We're running Samba 3.0.26a-3-1478-SUSE-SL10.3 authenticating against OpenLDAP 2.3.37. Integration of Samba and OpenLDAP works, and importing the 2000+ existing user accounts from the old PDC (running OpenLDAP 2.0.x) also worked after some reformatting of the LDIF data. The domain logon script, logon.cmd, calls Kixtart to execute the script logon.kix, which maps different shares for each user depending on which groups they belong to, sets up email, and generally does all sorts of clever things. This script works...up to a point. This is where my problems begin. All logon scripts were directly copied across from the old PDC, as was /etc/samba/smb.conf. Obviously some tweaks were made to the Samba config to deal with changes in the LDAP DB organisation (users in a different OU, etc.), but share definitions were kept intact. What's going wrong is this: shares that *should* be being automapped for members of the "CSSG Pupils" and "Technology" groups are not being automapped. Other shares, that all users get via logon.kix, are mapped. the logon script is definitely being run - one can watch it execute when a user logs on. It's not a rights issue - members of "CSSG Pupils" can use "net use" or equivalent commands to access the relevant shares, can browse to them via an SMB browser, and otherwise have exactly the level of access they should have. There is no reason I can see why this wouldn't work as intended, but it's failing, and I have no idea why. Here's the smb.conf: # # Configuration file for the Samba suite for Debian GNU/Linux. # #======================= Global Settings ====================== [global] ## Browsing/Identification ### netbios name = PHSSERVER workgroup = PHSDOMAIN server string = Primary Domain Controller (Samba %v) wins support = yes dns proxy = no ; name resolve order = lmhosts host wins bcast #### Debugging/Accounting #### log file = /var/log/samba/log.%U max log size = 1000 # We want Samba to log a minimum amount of information to syslog. Everything # should go to /var/log/samba/log.{smbd,nmbd} instead. If you want to log # through syslog you should set the following parameter to something higher. syslog = 2 # Do something sensible when Samba crashes: mail the admin a backtrace panic action = /usr/share/samba/panic-action %d ####### Authentication ####### security = user encrypt passwords = true passdb backend = ldapsam:ldap://127.0.0.1/ ldap admin dn = cn=admin,dc=phs,dc=lan ldap suffix = dc=phs,dc=lan ldap group suffix = ou=Groups ldap user suffix = ou=Users ; In Samba 3.0.x, people and machines must be in same container: ldap machine suffix = ou=Users ldap ssl = off ldap delete dn = Yes add machine script = /usr/local/sbin/smbldap-useradd -w -c "Computer %u" -g 515 -H "[W]" "%u" add user script = /usr/local/sbin/smbldap-useradd -m "%u" delete user script = /usr/local/sbin/smbldap-userdel "%u" add group script = /usr/local/sbin/smbldap-groupadd -p "%g" delete group script = /usr/local/sbin/smbldap-groupdel "%g" add user to group script = /usr/local/sbin/smbldap-groupmod -m "%u" "%g" delete user from group script = /usr/local/sbin/smbldap-groupmod -x "%u" "%g" set primary group script = /usr/local/sbin/smbldap-usermod -g "%g" "%u" ; ldap passwd sync = yes passwd program = /usr/local/sbin/phs-passwd "%u" passwd chat = *ew*password* %n\n *ew*password* %n\n *successfully* unix password sync = yes # This boolean controls whether PAM will be used for password changes # when requested by an SMB client instead of the program listed in # 'passwd program'. The default is 'no'. ; pam password change = no obey pam restrictions = no guest account = nobody invalid users = root domain logons = yes domain master = yes #logon script = netlogon\logon.kix logon script = logon.cmd logon drive = G: logon home = \\%N\%U logon path = \\%N\profiles\default ########## Printing ########## load printers = yes printing = cups printcap name = cups ######## File sharing ######## # Name mangling options ; preserve case = yes ; short preserve case = yes ############ Misc ############ socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 # The following parameter is useful only if you have the linpopup package # installed. The samba maintainer and the linpopup maintainer are # working to ease installation and configuration of linpopup and samba. ; message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s' & # Some defaults for winbind (make sure you're not using the ranges # for something else.) ; idmap uid = 10000-20000 ; idmap gid = 10000-20000 ; template shell = /bin/bash # Must be off for Debian Samba 3.0 on Xeon use sendfile = no # Do not lock database files veto oplock files = /*.mdb/*.MDB/*.dbf/*.DBF/ #======================= Share Definitions ====================== [homes] comment = Home Directories browseable = no writable = yes create mask = 0700 directory mask = 0700 [netlogon] comment = Network Logon Service path = /home/samba/netlogon guest ok = yes browseable = no writable = no share modes = no [printers] comment = All Printers browseable = no path = /var/spool/samba printable = yes public = yes guest ok = no writable = no printer admin = Administrator, @"Domain Admins" [print$] comment = Printer Drivers path = /var/lib/samba/printers browseable = yes read only = yes guest ok = no # Uncomment to allow remote administration of Windows print drivers. write list = Administrator, @"Domain Admins" [profiles] path = /home/samba/profiles browseable = no guest ok = yes profile acls = yes # Shared files for pupils. [pupils] comment = Shared files for pupils path = /home/shared/pupils public = yes valid users = "@PHS Pupils" "@PHS Staff" "@CSSG Pupils" "@Domain Admins" root writable = yes browseable = yes printable = no # explicitly give read and write permissions to everyone force create mode = 0755 force directory mode = 0755 # Shared files for staff. [staff] comment = Shared files for staff path = /home/shared/staff valid users = "@PHS Staff" pam root public = no writable = yes browseable = yes printable = no # members of group *must* have access to files, others *must* not. create mode = 0660 force create mode = 0660 directory mode = 0770 force directory mode = 0770 [apps] comment = Applications path = /home/shared/apps public = no read only = yes browseable = no valid users = root pam "@PHS Staff" dmatthee [images] comment = Images path = /home/shared/images public = yes read only = no browseable = yes [encarta03] comment = Microsoft Encarta 2003 path = /home/shared/encarta03 public = no # valid users = 1000 1001 1007 hmeyering dmatthee read only = yes browseable = yes [encarta] comment = Microsoft Encarta path = /home/shared/encarta public = no read only = yes browseable = yes [eduadmin] comment = EduAdmin path = /home/shared/apps/EduAdmin public = no read only = no valid users = "@PHS Staff" pam root hjoubert hmeyering "@PHS Pupils" dmatthee browseable = no force create mode = 0777 force directory mode = 0777 [home] comment = allhomes path = /home public = no read only = no valid users = hjoubert pam root dmatthee browseable = yes force create mode = 0777 [music] comment = Music department user files path = /home/share/music valid users = root pam sderman smatthews bdevilli dmatthee writeable = yes browseable = yes force create mode = 0660 [commdir] comment = fsecure writeable = yes browseable = yes force create mode = 0777 path = /home/fsecure/commdir valid users = pam root fsecure hmeyering areeler printmanager dmatthee [PupApp] comment = Delivered applications path = /home/samba/netlogon/delivered/PupilApps public = no valid users = "@PHS Pupils" "@CSSG Pupils" read only = yes browseable = no printable = no [StfApp] comment = Delivered applications path = /home/samba/netlogon/delivered/StaffApps public = no read only = yes valid users = "@PHS Staff" browseable = no printable = no [AdmApp] comment = Delivered applications path = /home/samba/netlogon/delivered/AdminApps public = no valid users = pam read only = yes browseable = no printable = no [NetXpApp] comment = Delivered applications path = /home/samba/netlogon/delivered/NetXpApps public = no valid users = "@PHS Staff" read only = yes browseable = no printable = no [compdept] comment = Computer Department files path = /home/shared/compdept public = no valid users = @CompDept read only = no browseable = no [pastel] comment = Pastel Accounting path = /home/shared/apps/pastel public = no valid users = @PastelUsers hmeyering dmatthee read only = no browseable = no create mode = 0660 force create mode = 0660 directory mode = 0770 force directory mode = 0770 [CSSG] comment = CSSG resource files path = /home/shared/cssg/CSSG valid users = "@PHS Staff", "@CSSG Pupils",fdoliveira,hjoubert,hmeyering,dmatthee read only = yes write list = "@PHS Staff" create mode = 0644 directory mode = 0755 [CSSGshare] comment = CSSG shared files path = /home/shared/cssg/CSSGshare valid users = "@PHS Staff","@CSSG Pupils",fdoliveira,hjoubert,hmeyering,dmatthee read only = no force create mode = 1777 force directory mode = 1777 [CSSGprojects] comment = CSSG projects path = /home/shared/cssg/CSSGprojects valid users = "@PHS Staff", "@CSSG Pupils",hjoubert,fdoliveira,hmeyering,dmatthee read only = no force create mode = 1777 force directory mode = 1777 [Technology] comment = Share for technology learners path = /home/shared/technology valid users = "@PHS Staff", "@Technology Pupils",hjoubert,hmeyering,dmatthee read only = no force create mode = 1777 force directory mode = 1777 Here's the logon.cmd: @echo off net use p: \\PHSSERVER\PUPILS net use n: \\PHSSERVER\encarta03 KIX32.EXE logon.kix copy /Y \\PHSSERVER\netlogon\delivered\hosts C:\WINDOWS\system32\drivers\etc\hosts And here is the logon.kix: ; Pinelands High School Logon script ; Last updated 2007-01-17 12:57:00 ; Synchronise time with server SetTime "\\PHSSERVER" ; Display user information ? "Username: @USERID" ? "Group: @PRIMARYGROUP" ? "Workstation: @WKSTA" ? "Domain: @DOMAIN" ? "Logon server: @LSERVER" ? "Home drive: @HOMEDRIVE" ? "Time: @TIME" ? "Date: @DAY @MDAYNO @MONTH @YEAR" ? ? ? "Step 1" ; Map drives ? "Setting up your drives ..." ? ; Shares that all users get: Use n: /delete /persistent SLEEP 10 Use n: "\\phsserver\encarta03" Use p: /delete /persistent Use p: "\\phsserver\pupils" $userid = @USERID ;$pupil = SubStr($userid, 4, 1) ;If $pupil = "-" If InGroup("PHS Pupils") And Not InGroup("PHS Staff") ; Pupils have mandatory profiles, and need their mail configured Use x: "\\phsserver\PupApp" Gosub "mailconfig" Gosub "mydocsconfig" EndIf If InGroup("CSSG Pupils") Use k: "\\phsserver\CSSGshare" Use t: "\\phsserver\CSSGprojects" Use u: "\\phsserver\CSSG" EndIf If InGroup("Technology Pupils") Use j: "\\phsserver\technology" EndIf If InGroup("PHS Staff") Use s: "\\phsserver\staff" If @ProductType = "Windows XP Professional" Use x: "\\phsserver\NetXpApp" Else Use x: "\\phsserver\StfApp" EndIf EndIf If $userid = "pam" ; pam Use x: /delete Use x: "\\phsserver\AdmApp" EndIf ;for exams... $examuser = SubStr($userid, 1, 4) If $examuser = "exa-" Use n: /delete Use k: /delete Use p: /delete Use t: /delete Use u: /delete Use j: /delete Use w: /delete EndIf ; Open delivered Applications folder Run "explorer x:" ? "Step 2" ; Add printers according to location ? "Installing your printers ..." ? $wksta = @WKSTA $loc = SubStr($wksta, 1, 3) ; NetAdmin machines If $loc = "NET" AddPrinterConnection("\\GSERVER\lab1prn1") AddPrinterConnection("\\GSERVER\aficio01") AddPrinterConnection("\\GSERVER\Aficio02") AddPrinterConnection("\\ADMSEC01\frontoffice") AddPrinterConnection("\\ADMACAD01\hp laserjet 2100") EndIf ; Labs If $loc = "LAB" $loca = SubStr($wksta, 1, 4) If $loca = "LAB1" DelPrinterConnection("\\PHSSERVER\LAB2PRN1") DelPrinterConnection("\\GSERVER\HP 1320") AddPrinterConnection("\\GSERVER\HP 1320") Else DelPrinterConnection("\\PHSSERVER\LAB2PRN1") DelPrinterConnection("\\GSERVER\HP 1320") AddPrinterConnection("\\GSERVER\HP 1320") EndIf EndIf ; Technology Block If $loc = "LAB3" AddPrinterConnection("\\Lab3-20\Lab3") EndIf ; Staff work room If $loc = "SWR" AddPrinterConnection("\\GSERVER\aficio01") AddPrinterConnection("\\GSERVER\Aficio02") AddPrinterConnection("\\ADMSEC01\RICOHAfi") SetDefaultPrinter("\\GSERVER\aficio01") EndIf ; Administrative staff If $loc = "ADM" AddPrinterConnection("\\GSERVER\aficio01") AddPrinterConnection("\\GSERVER\Aficio02") AddPrinterConnection("\\ADMSEC01\RICOHAfi") EndIf ; Library If $loc = "LIB" $loc = SubStr($wksta, 1, 5) AddPrinterConnection("\\libadmin01\library") EndIf ; Classrooms If $loc = "CLS" AddPrinterConnection("\\GSERVER\aficio01") AddPrinterConnection("\\GSERVER\Aficio02") AddPrinterConnection("\\ADMSEC01\frontoffice") EndIf ? "Step 3" ? "Making necessary registry changes ..." ? ; Set address book to G:\Address Book\personal.wab Gosub "wabconfig" ; License software Gosub "licconfig" ; Do not cache profiles locally ;Gosub "profileconfig" ; Welcome user to domain ? "Welcome to @DOMAIN." ? Sleep 10 Exit ; SUBROUTINE mailconfig :mailconfig ? "Setting up your e-mail configuration ..." ? ;regedit \\gilbert\netlogon\administrator.reg WriteValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings", "ProxyEnable", "1", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings", "ProxyServer", "192.168.0.30:3128", "REG_SZ") ;WriteValue("HKEY_CURRENT_USER\Software\HbTools\Time\HostIE\Updates", "LastTick", "43460a24", "REG_DWORD") ;WriteValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings", "ProxyOverride", "192.168.0.30", "REG_SZ") WriteValue("HKEY_CURRENT_USER\Identities", "Migrated5", "01", "REG_DWORD") ; Identity-specific settings $identity = "\" $identity = ReadValue("HKEY_CURRENT_USER\Identities", "Default User ID") + "\" WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "Accounts Checked", "0", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "Background Compaction", "0", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "BodyBarPos", "0", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "Browser Bands", "11 00 00 00 04 00 00 00 64 00 00 00 80 02 00 00 64 00 00 00 65 00 00 00 09 02 00 00 64 00 00 00 67 00 00 00 09 00 00 00 64 00 00 00 66 00 00 00 02 00 00 00 16 00 00 00", "REG_BINARY") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "BrowserPos", "2c 00 00 00 00 00 00 00 01 00 00 00 00 83 ff ff 00 83 ff ff ff ff ff ff ff ff ff ff 8b 00 00 00 77 00 00 00 e3 02 00 00 12 02 00 00", "REG_BINARY") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "Check Mail on Startup", "0", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "Contact Pane Sorting", "0", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "ConvertedToDBX", "1", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "Default_CodePage", "0", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "Delete Wastebasket On Exit", "0", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "Dial During Poll", "0", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "Expand Unread", "0", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "ExpungeFolders", "0", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "HideFolderBar", "0", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "Launch Inbox", "0", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "Log HTTPMail (0/1)", "0", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "Log IMAP4 (0/1)", "0", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "Log POP3 (0/1)", "0", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "Migration Done", "1", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "MSIMN", "1", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "Nav Pane Split", "66", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "Nav Pane Width", "144", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "No Check Default", "1", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "Outlook Bar Settings", "01 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 07 00 00 00", "REG_BINARY") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "PlaySoundOnNewMail", "0", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "Poll For Mail", "0", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "Preview Message", "80 96 f4 70 dc 1a c2 01", "REG_BINARY") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "PrevToolbarTextStyle", "0", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "Running", "0", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "Saved Toolbar Settings", "11 9e 00 00 ff ff ff ff 01 9d 00 00 ff ff ff ff 07 9d 00 00 c4 9c 00 00", "REG_BINARY") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "Saved Toolbar Settings Version", "17", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "Settings Upgraded", "7", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "Show Contacts", "0", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "Show Deleted Messages", "1", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "Show Header Info", "0", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "Show Outlook Bar", "0", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "Show Replies To My Messages", "0", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "ShowBodyBar", "0", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "ShowHybridView", "1", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "ShowStatus", "1", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "ShowToolbarIEAK", "1", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "SpellDontIgnoreDBCS", "1", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "SplitDir", "0", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "SplitHorzPct", "0", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "SplitVertPct", "0", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "SpoolerDlgPos", "2c 00 00 00 00 00 00 00 01 00 00 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 9c 00 00 00 5a 00 00 00 84 02 00 00 ed 00 00 00", "REG_BINARY") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "SpoolerTack", "0", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "Store Root", "%UserProfile%\Local Settings\Application Data\Identities\"+$identity+"\Microsoft\Outlook Express\", "REG_EXPAND_SZ") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "StoreMigratedV5", "1", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "Tip of the Day", "0", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "Toolbar Icon Size", "2", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "Toolbar Text", "4", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "Tree", "1", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "VerStamp", "3", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0", "Welcome Message", "0", "REG_DWORD") ; Mail $RC ExistKey("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0\Mail") If $RC <> 0 AddKey("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0\Mail") EndIf WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0\Mail", "Accounts Checked", "1", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0\Mail", "Check Mail on Startup", "0", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0\Mail", "Default_CodePage", "28591", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0\Mail", "PlaySoundOnNewMail", "1", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0\Mail", "Poll For Mail", "1800000", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0\Mail", "Show Header Info", "1", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0\Mail", "ShowHybridView", "1", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0\Mail", "SplitDir", "0", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0\Mail", "SplitHorzPct", "50", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0\Mail", "SplitVertPct", "50", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0\Mail", "ThreadArticles", "0", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0\Mail", "Welcome Message", "0", "REG_DWORD") ; News $RC ExistKey("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0\News") If $RC <> 0 AddKey("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0\News") EndIf WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0\News", "Accounts Checked", "00 00 00 00", "REG_BINARY") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0\News", "New group notification", "0", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0\News", "News Dialog Position", "2c 00 00 00 00 00 00 00 01 00 00 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 84 00 00 00 60 00 00 00 f3 02 00 00 e2 01 00 00", "REG_BINARY") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0\News", "Show Header Info", "1", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0\News", "ShowHybridView", "1", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0\News", "SplitDir", "0", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0\News", "SplitHorzPct", "50", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0\News", "SplitVertPct", "50", "REG_DWORD") ; Rules $RC ExistKey("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0\Rules") If $RC <> 0 AddKey("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0\Rules") EndIf ; Rules\Mail $RC ExistKey("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0\Rules\Mail") If $RC <> 0 AddKey("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0\Rules\Mail") EndIf ; Trident $RC ExistKey("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0\Trident") If $RC <> 0 AddKey("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0\Trident") EndIf ; Trident\Main $RC ExistKey("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0\Trident\Main") If $RC <> 0 AddKey("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0\Trident\Main") EndIf ; Trident\Settings $RC ExistKey("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0\Trident\Settings") If $RC <> 0 AddKey("HKEY_CURRENT_USER\Identities\"+$identity+"Software\Microsoft\Outlook Express\5.0\Trident\Settings") EndIf ; Internet Account Manager settings WriteValue("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager", "Account Name", "2", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager", "Default Mail Account", "00000001", "REG_SZ") $RC = ExistKey("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts") If $RC <> 0 AddKey("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts") EndIf WriteValue("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts", "ConnectionSettingsMigrated", "1", "REG_DWORD") $RC = ExistKey("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\00000001") If $RC <> 0 AddKey("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\00000001") EndIf WriteValue("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\00000001", "Account Name", "imap.cybersmart.co.za", "REG_SZ") WriteValue("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\00000001", "Connection Type", "3", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\00000001", "IMAP Dirty", "0", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\00000001", "IMAP Poll All Folders", "0", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\00000001", "IMAP Polling", "1", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\00000001", "IMAP Prompt for Password", "1", "REG_DWORD") WriteValue("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\00000001", "IMAP Root Folder", "", "REG_SZ") WriteValue("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\00000001", "IMAP Server", "imap.cybersmart.co.za", "REG_SZ") WriteValue("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\00000001", "IMAP User Name", "@USERID@@phs.org.za", "REG_SZ") WriteValue("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\00000001", "SMTP Display Name", "@USERID", "REG_SZ") WriteValue("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\00000001", "SMTP Email Address", "@USERID@@phs.org.za", "REG_SZ") WriteValue("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\00000001", "SMTP Server", "smtp.cybersmart.co.za", "REG_SZ") Return ; END SUBROUTINE mailconfig ; SUBROUTINE mydocsconfig :mydocsconfig ? "Setting your My Documents location ..." ? WriteValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders", "Personal", "G:\My Documents", "REG_SZ") WriteValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders", "My Pictures", "G:\My Documents\My Pictures", "REG_SZ") WriteValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders", "Personal", "G:\My Documents", "REG_SZ") WriteValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders", "My Pictures", "G:\My Documents\My Pictures", "REG_SZ") Return ; END SUBROUTINE mydocsconfig ; SUBROUTINE wabconfig :wabconfig ? "Setting your address book location ..." ? $RC = ExistKey("HKEY_CURRENT_USER\Software\Microsoft\WAB\WAB4\Wab File Name") If $RC <> 0 AddKey("HKEY_CURRENT_USER\Software\Microsoft\WAB\WAB4\Wab File Name") EndIf WriteValue("HKEY_CURRENT_USER\Software\Microsoft\WAB\WAB4\Wab File Name", "", "G:\Address Book\personal.wab", "REG_SZ") Return ; END SUBROUTINE wabconfig ; SUBROUTINE licconfig :licconfig ? "Licensing your software ..." ? ; Spex+ WriteValue("HKEY_CURRENT_USER\Software\Aspex Software\Spex+\License", "Licensee", "Pinelands High School", "REG_SZ") WriteValue("HKEY_CURRENT_USER\Software\Aspex Software\Spex+\License", "SerialNo", "EWUU-001-0052241616", "REG_SZ") WriteValue("HKEY_CURRENT_USER\Software\Aspex Software\Spex+\License", "Type", "Site version", "REG_SZ") WriteValue("HKEY_CURRENT_USER\Software\Aspex Software\Spex+\License", "Workstation", "0", "REG_DWORD") $RC = ExistKey("HKEY_CURRENT_USER\Software\Aspex Software\Spex+\Options") If $RC <> 0 AddKey("HKEY_CURRENT_USER\Software\Aspex Software\Spex+\Options") EndIf WriteValue("HKEY_CURRENT_USER\Software\Aspex Software\Spex+\Options", "UseDefault", "1", "REG_DWORD") $RC = ExistKey("HKEY_CURRENT_USER\Software\Aspex Software\Spex+\Paths") If $RC <> 0 AddKey("HKEY_CURRENT_USER\Software\Aspex Software\Spex+\Paths") EndIf ;Tabs+v3 $RC = ExistKey("HKEY_CURRENT_USER\Software\VB and VBA Program Settings") If $RC <> 0 AddKey("HKEY_CURRENT_USER\Software\VB and VBA Program Settings") EndIf $RC = ExistKey("HKEY_CURRENT_USER\Software\VB and VBA Program Settings\Tabs3") If $RC <> 0 AddKey("HKEY_CURRENT_USER\Software\VB and VBA Program Settings\Tabs3") EndIf $RC = ExistKey("HKEY_CURRENT_USER\Software\VB and VBA Program Settings\Tabs3\Startup") If $RC <> 0 AddKey("HKEY_CURRENT_USER\Software\VB and VBA Program Settings\Tabs3\Startup") EndIf WriteValue("HKEY_CURRENT_USER\Software\VB and VBA Program Settings\Tabs3\Startup", "LicCompany", "Pinelands High School", "REG_SZ") WriteValue("HKEY_CURRENT_USER\Software\VB and VBA Program Settings\Tabs3\Startup", "Licencee", "P Miller", "REG_SZ") WriteValue("HKEY_CURRENT_USER\Software\VB and VBA Program Settings\Tabs3\Startup", "LicenceNo", "EWUT-ASP-LEEVE48985", "REG_SZ") ; AutoCAD WriteValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\WinTrust\Trust Providers\Software Publishings", "state", "0x00023c00", "REG_DWORD") Return ; END SUBROUTINE licconfig ; SUBROUTINE profileconfig :profileconfig ? "Setting up profile configuration ..." ? $RC = ExistKey("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DeleteRoamingCache") If $RC <> 0 AddKey("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DeleteRoamingCache") EndIf WriteValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DeleteRoamingCache", "", "1", "REG_DWORD") Return ; END SUBROUTINE profileconfig I apologise for the big, big block of C&P, but I'd rather include too much information than too little. Everything in logon.kix runs, as stated - except for the mapping for members of "CSSG Pupils" and "Technology". I've verified that these groups contain the user accounts that should be in there. I am absolutely stumped on this one. Please help me, Samba mailing list. You're my only hope. -- Michael Liermann Sunday Tech / Sunday Media mobile: +27 (0)72 214 6058 phone: +27 (0)21 531 7199 fax: +27 (0)21 531 7199 Hayibo.com | Topcorner.co.za | Livescore.co.za | iMakeover | Sunday Media NOTE: The preceding e-mail message (including any attachments) contains information that may be confidential, may be protected by the attorney-client or other applicable privileges, or may constitute non-public information. It is intended to be conveyed only to the designated recipient(s) named above. If you are not an intended recipient of this message, please notify the sender by replying to this message and then delete all copies of it from your computer system. Any use, dissemination, distribution, or reproduction of this message by unintended recipients is not authorized and may be unlawful. ? 2008 Sunday Media cc.