Modify Linux and Samba accounts
Top  Previous  Next


Example 1 - change gidNumber

This script searches all accounts on LDAP server my-domain.com for gidNumber 500 and shows matching accounts in a dialog with continue and abort buttons. If the continue button is pressed the script replaces gidNumber 500 with 600. Accounts with other gidNumbers than 500 are not affected.

[Settings_Begin]
BatchSettings.Delimiter=;
BatchSettings.MarkerCol=12
BatchSettings.MarkersAutoRemove=Yes

// LDAP server, SSL must be enabled on port 636, a SSL certificate must be installed locally
SET LDServer=ldap4.my-domain.com
SET LDAdminAccount=%LDDomainPath%/cn=ldapman
SET LDAdminPW=password

SET LDDomainPath=dc=com/dc=my-domain

SET OldgidNumber=500
SET NewgidNumber=600
[Settings_End]

[Init_Batch_Begin]
Lin.DS.Logon %LDServer%, %LDAdminAccount%, %LDAdminPW%   
Data.Get.LD.Find %LDDomainPath%, (&(objectClass=posixAccount)(gidNumber=%OldgidNumber%)), yes, LDpath§1§gidNumber§2§
Data.Show   
[Init_Batch_End]

[Batch_Begin]
Lin.DS.Logon %LDServer%, %LDAdminAccount%, %LDAdminPW%   
Data.Loop   
 Lin.DS.Op.Init Modify, %col1%   
 Lin.DS.Op.SetProperty gidNumber, %NewgidNumber%   
 Lin.DS.Op.Commit   
Data.EndLoop   
[Batch_End]

[Data_Begin]
[Data_End]


Example 2 - change sambaLogonScript for accounts for which sambaHomeDrive=H:

This script searches LDAP server my-domain.com for accounts for which sambaHomeDrive=H: and shows matching accounts in a dialog with continue and abort buttons. If the continue button is pressed the script changes sambaLogonScript to "NewScript.cmd". Accounts with sambaHomeDrive other than H: are not affected.

[Settings_Begin]
BatchSettings.Delimiter=;
BatchSettings.MarkerCol=12
BatchSettings.MarkersAutoRemove=Yes

// LDAP server, SSL must be enabled on port 636, a SSL certificate must be installed locally
SET LDServer=ldap4.my-domain.com
SET LDAdminAccount=%LDDomainPath%/cn=ldapman
SET LDAdminPW=password

SET LDDomainPath=dc=com/dc=my-domain
[Settings_End]

[Init_Batch_Begin]
Lin.DS.Logon %LDServer%, %LDAdminAccount%, %LDAdminPW%   
Data.Get.LD.Find %LDDomainPath%, (&(objectClass=posixAccount)(sambaHomeDrive=h:)), yes, LDpath§1§sambaHomeDrive§2§sambaLogonScript§3§   
Data.Show   
[Init_Batch_End]

[Batch_Begin]
Lin.DS.Logon %LDServer%, %LDAdminAccount%, %LDAdminPW%   
Data.Loop   
 Lin.DS.Op.Init Modify, %col1%   
 Lin.DS.Op.SetProperty sambaLogonScript, NewScript.cmd   
 Lin.DS.Op.Commit   
Data.EndLoop   
[Batch_End]

[Data_Begin]
[Data_End]