[Samba] Help needed: strange issue with share mapping at logon

Michael Liermann michael at sundaytech.co.za
Mon Aug 4 14:07:53 GMT 2008


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.




More information about the samba mailing list