FirstClass Scripting Commands for the User Information Form (UIF) For 8.3
CAVEAT: It can not be stressed enough that Batch Admin is a very powerful FirstClass tool and that you should familiarize yourself with the syntax of batch commands and try some scripting out on a test server until you feel confident using it on your production server. Remember to always make frequent backups of your FirstClass post office. It is comparable to the registry editor in Windows operating systems.
This document was created for persons looking for FieldID's that appear on the UIF for any users registered on their FirstClass Server, in which to use with FirstClass Scripting (AKA Batch Admin) Commands.
Standard Syntax for your FirstClass Scripting Command:
PW <Pass>
Reply
GET USER <UserID> FieldID Switches
Where:
PW <pass> - Is the FirstClass Scripting password, as set up on the Multi-Site Setup Folder, and File, as shown in the image to the left. Not needed if you are performing tasks as the Main FirstClass Administrator (Admin) account.
NOTE: Some fields can not be retrieved by a Sub-Administrator, such as Password (field 1217).
Reply: Tells the server that you wish to
GET USER - Tells the server that you are needing information from the User Information Form for a user.
<UserID> - The USER ID of the person you wish to retrieve information from.
Field ID - Each field on the UIF has it's own unique identifier.
Switches - Additional arguments as needed (time fields for instance)
The User Information Form (UIF)is broken down into 4 tabs
The following tables contain a listing of the various Field Names and ID's, and switches if any.
User Information Tab
Field Name |
Field ID |
Field Name |
Field ID |
User ID |
1201 |
Password |
1217** |
First Name |
1202 |
Client ID |
1500 |
Middle Initial |
1203 |
Class |
1223 |
Last Name |
1204 |
Mail Aliases |
1252 |
Address |
1205 |
Voice DN |
1255 |
Telephone |
1206 |
Voice Password |
1256 |
Fax |
1207 |
Created |
1235* |
Comments |
1224 |
Where |
1236 |
Custom |
1272 |
Last Logged In |
1230* |
LDAP Controlled User |
1273 |
Time Used |
1259* |
* These fields are time fields. The formatting of your script will return different values
Example
GET USER <UserID> 1235
Returns 1235 14 Ticks (formatted like 3238393579)
GET USER <UserID> 1235 +d
Returns 1235 14 "YYYY/MM/DD 00:00:00"
GET USER <UserID> 1235 +D
Returns 1235 14 "Weekday, Month Day, YYYY 0:00:00 AM"
** Using the +m switch, the Admin can retrieve the password field as an MD5 Digest.
User Groups/Directory Tab
Field Name |
Field ID |
User Belongs to these groups |
91 |
Allow user to view these groups |
112 |
One the hardest things to grasp when dealing with FirstClass Scripting, are some of the unique fields used. For instance, Field ID 9 can only be put to, or retrieved from using '4'. As well Field ID '11' with '5',
Any field that can contain a list (such as these two fields) to produce the list, use "-1"
1 The command would appear as:
Reply
Get User <UserID> 4 -1
// write This is the listing of User Groups this user is a member of
Returns:
4 0 Group 1
4 1 Group 2
NOTE: Remember All Users is to be assumed.
2 The command would appear as:
Reply
GET USER <UserID> 5 -1
// write This is the list of Groups this user is allowed to see in their directory view
Returns:
5 0 Group 1
5 1 Group 2
5 2 Group 3
Notice how the numbers increase, showing the listing position.
Features Tab
Category |
Field Name |
Field ID |
Category |
Field Name |
Field ID |
Category |
Field Name |
Field ID |
Desktop |
Calendar |
1361 |
Collaboration |
Conference Mail |
1311 |
Content |
Upload |
1330 |
Contacts |
1345 |
View Presence |
1501 |
Download |
1331 |
Publish Web Site |
1354 |
View Resumes |
1312 |
Copy To Clipboard |
1514 |
Share Documents |
1390 |
Create Resumes |
1504 |
Save To Local Disk |
1515 |
Messaging |
Private Mail |
1310 |
Instant Messaging |
1314 |
Printing |
1516 |
Unsend |
1338 |
Join Chat Rooms |
1502 |
Special Status |
Does Not Expire |
1346 |
Forward |
1340 |
Create Chat Rooms |
1512 |
Secure |
1350 |
Set Expiry |
1341 |
Share Contact Database |
1510 |
Unlisted |
1327 |
Make Urgent |
1339 |
Share Conferences |
1332 |
View Unlisted |
1328 |
Receipt Notification |
1343 |
Share Conferences |
1509 |
View User Information |
1342 |
Mark as Unread |
1337 |
Publish Directory Names |
1511 |
Edit User Information |
1334 |
Program Mail Rules |
1505 |
Share Workspaces |
1524 |
Create Voice Menu |
1513 |
Mailbox Permissions |
1506 |
Admin Status |
Subadministrator |
1325 |
Allow Mail Relay |
1520 |
Make Voice Call |
1508 |
Monitor Server |
1521 |
Application Development |
1523 |
|
|
|
Maintain Server |
1522 |
Preferences/Access/Limits Tab
Category |
Field Name |
Field ID |
Category |
Field Name |
Field ID |
Preferences |
Edit Preferences |
1329 |
Access |
FirstClass Client |
1316 |
Change Password |
1388 |
Web Client |
1517 |
Manage Presence |
1507 |
Voice Client |
1362 |
Auto Forward |
1503 |
Command Line |
1315 |
Auto Reply |
1344 |
Internet Client |
1360 |
Mail Import |
1370 |
File Client |
1519 |
|
Directory Client |
1518 |
Time Zone |
|
Work Offline |
1351 |
Limits |
Daily Connection Limit |
13201 |
|
|
Session Inactivity Limit |
13222 |
|
Disk Space Limit |
13573 |
|
Disk Space Used |
12584 |
|
Maximum Number of Multimatch names |
13195 |
*** A return of 0 is default , or undefined on the system
1 Returns a value in seconds, although the field shows minutes.
2 Returns a value in seconds, although the field shows minutes.
3 Return is displayed in KB (a return of 2147483647 is unlimited) Example 5000KB is approx 5MB
4 Return is displayed in KB
5 Returns a numeric value (a return of 2147483647 is unlimited, -1 is none, 0 is default)
Sending Information to the UIF
Standard Syntax for your FirstClass Scripting Command:
PW <Pass>
Reply
PUT USER <UserID> FieldID Field Type Value
Where:
PW <pass> - Is the FirstClass Scripting password, as set up on the Multi-Site Setup Folder, and File, as shown in the image to the left. Not needed if you are performing tasks as the admin.
NOTE: Some fields can not be retrieved by a subadmin, such as Password.
Reply: Tells the server that you wish to
GET USER - Tells the server that you are needing information from the User Information Form for a user.
<UserID> - The USER ID of the person you wish to retrieve information from.
Field ID - Each field on the UIF has it's own unique identifier.
Field Type - The type of field you are inputting to. Example text, radio button, checkbox, etc.
Value - The value you are inserting into the field
Example
PUT USER <UserID> 1205 0 "38 Leek Cres\rRichmond Hill, Ontario\rCanada\rL4B 1N3"
The User Information Form is broken down into 4 tabs
The following tables contain a listing of the Field ID's Field Types, and potential values
User Information Tab
Field Name |
Field ID |
Field Name |
Field ID |
User ID |
1201 0 "Value" |
Password |
1217 0 "Value" |
First Name |
1202 0 "Value" |
Client ID |
Not Applicable |
Middle Initial |
1203 0 "Value" |
Class |
1223 7 "Value" |
Last Name |
1204 0 "Value" |
Mail Aliases |
1252 0 "Value" |
Address |
1205 0 "Value" |
Voice DN |
1255 0 "Value" |
Telephone |
1206 0 "Value" |
Voice Password |
1256 0 "Value" |
Fax |
1207 0 "Value" |
Created |
Not Applicable |
Comments |
1224 0 "Value" |
Where |
Not Applicable |
Custom |
1272 0 "Value" |
Last Logged In |
Not Applicable |
LDAP Controlled User |
NOT Available |
Time Used |
Not Applicable |
Address. Separate each line with a "\r" example Put User <USerID> 1205 0 "38 Leek Cres\rRichmond Hill, Ontario\rCanada\rL4B 1N3"
LDAP Controlled User - Not Available to input to. FCDS (FirstClass Directory Services) uses this field to indicate whether a user is controlled via DS or not.
Class - "Value" would be 1 for a Regular User, and 5 for Remote User classes.
User Groups/Directory Tab
Field Name |
Field ID |
User Belongs to these groups |
91 |
Allow user to view these groups |
112 |
One the hardest things to grasp when dealing with FirstClass Scripting, are some of the unique fields used. For instance, Field ID 9 can only be put to, or retrieved from using '4'. As well Field ID '11' with '5',
Any field that can contain a list (such as these two fields) to produce the list, use "-1"
1 The command would appear as:
Reply
PUT USER <UserID> 4 0 "Group 1" 4 1 "Group 2" 4 2 "Group 3" etc.
// write This is the listing of User Groups this user is a member of
NOTE: Remember All Users is to be assumed.
2 The command would appear as:
Reply |