// LDAP server, SSL must be enabled on port 636, a SSL certificate must be installed locally
SET LDServer=ldap.my-domain.com SET LDAdminAccount=%LDDomainPath%/cn=ldapman
SET LDAdminPW=s0l-DaLsdM
SET LDDomainPath=dc=com/dc=my-domain
SET LDOU=People
SET LDOUPath=%LDDomainPath%/ou=%LDOU%
[Settings_End]
[Init_Batch_Begin]
Lin.DS.Logon %LDServer%, %LDAdminAccount%, %LDAdminPW%
Data.Loop
// Find Samba domain object path (Only if not already intitalized)
If %LDSambaDomainPath%= Then SET LDSambaDomainPath=LDPathFind (%LDDomainPath%, sambaDomain, sambaDomainName=*, Yes)
EndIf
// Get sambaSID (Only if not already intitalized)
If %sambaDomainSID%= Then SET sambaDomainSID=LDValue (%LDSambaDomainPath%, sambaSID)
EndIf
// Get sambaAlgorithmicRidBase (Only if not already intitalized)
If %sambaAlgorithmicRidBase%= Then SET sambaAlgorithmicRidBase=LDValue (%LDSambaDomainPath%, sambaAlgorithmicRidBase)
EndIf
// Get uidNumber for current account
SET uidNumber=LDValue (%LDOUPath%/uid=%col1%, uidNumber)
// Create SID
SET sambaSID=%sambaDomainSID%-BuildRID (%uidNumber%,2,%sambaAlgorithmicRidBase%)
// Write in second column
Data.Write 2,%sambaSID%
Data.EndLoop
[Init_Batch_End]