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