ABOUT: This is the script described at the 2003 Perforce User Conference for the User Management Presentation. USE: As described in the Presentation, this script will modify users and group data on different Perforce servers and alert a given user when needed. For more information, see the white paper at http://www.perforce.com HOW TO USE THIS SCRIPT: Modify updatePerforce.bat (or create a cron job on Unix) to account for your servername and file folder locations The current updatePerforce.bat file assumes the following: 1. Perl is installed at d:\ 2. updatePerforce.pl is located at d:\PerforceScripts 3. Perforce.txt is located at d:\PerforceScripts and has the correct format for parsing 4. perforceserver1 and perforceserver2 are a valid servers 5. perforceserver1 and perforceserver2 are folders in d:\PerforceScripts 6. Mail::Sendmail, Getopt::Std, SHA 1.2, strict, and p4 (Not the Perforce p4 module) are all installed with Perl 7. All servers will have the same groups and users Make sure that Perforce.txt has the correct format for. Valid user information should look like this: USER,tfad,Tommy Fad,Tommy.Fad@somedomain.com,Perforce GROUP,foo,tfad GROUP,bar,tfad USER,jdoe,John Doe,johndoe@somedomain.com,Perforce GROUP,test,jdoe Valid deleted user information should look like this: DELETED USER,jadoe,Jane Doe,janedoe@somedomain.com DELETED USER,userx,User X,userx@somedomain.com There should be only one new line at the end of Perforce.txt DISCLAIMER: This script is use at your own risk. As long as your Perforce.txt file is correct, the script should run fine. Also, note that we use a p4 module. This is a custom module and does not refer to the p4 module from Perforce. Re-writing the script to use the Perforce p4 module (or just use system calls) should be very easy to do and I invite anyone to make another version of this script which uses either system calls or the p4 module from Perforce. I will try to answer any questions or comments via email: tommy.fad@ni.com ENHANCEMENTS: Below are suggested enhancements, please feel free to add enhancements for implement these enhancements yourself: Updating protections data Updating groups with maxresults and maxscanrows