Command Line Parameters

Command Line Parameters

Most of the functionality of System Manager can be accessed directly by using command line parameters when you load PCBSM.EXE.

Since you can access most common functions of System Manager from the command line, you can setup your event or other batch files to perform these tasks without actually having to move around in the menu structure or even be present to fill in all of the options.

To specify a command line parameter, simply add it after PCBSM.EXE when you load it, as shown in this example:

PCBSM.EXE /ADJUST;byteratio

In this example, the /ADJUST is the command line parameter and byteratio is a sub-parameter used to specify more information or to further clarify the command line parameter. As shown in the previous example, you separate sub-parameters with semi-colons (;). You will learn more about /ADJUST in the detailed explanations of the command line parameters that follow.

/ADJUST

This command line parameter gives you the ability to adjust the security level of users based on their upload and download activities. You can adjust based on their file or byte ratio, or by the number of file transfers the user has completed. To control which method you will use to adjust their security levels, use the following sub-parameters.

fileratio

This sub-command will adjust the security levels of users by using the file ratio table you have created in System Manager > Users File Maintenance > Adjust Security Levels > Create Up/Dn File Ratio Table.

Using this sub-parameter will perform the same action available via System Manager > Users File Maintenance > Adjust Security Levels > Adjust by Up/Dn File Ratio.

byteratio

This sub-command will adjust the security levels of users by using the byte ratio table you have created in System Manager > Users File Maintenance > Adjust Security Levels > Create Up/Dn Byte Ratio Table.

Using this sub-parameter will perform the same action available via System Manager > Users File Maintenance > Adjust Security Levels > Adjust by Up/Dn Byte Ratio.

uploads

If you use this sub-parameter, the security levels of the users on your system will be adjusted based on the table you have setup in System Manager > Users File Maintenance > Adjust Security Levels > Adjust by Upload Table

Using this sub-parameter is identical to System Manager > Users File Maintenance > Adjust Security Levels > Adjust by Number of Uploads

downloads

If you use this sub-parameter, the security levels of the users on your system will be adjusted based on the table you have setup in System Manager > Users File Maintenance > Adjust Security Levels > Adjust by Download Table

Using this sub-parameter is identical to System Manager > Users File Maintenance > Adjust Security Levels > Adjust by Number of Downloads

print

Use this to specify you wish to print any user that have their security level changed. The output will go to the printer defined in System Manager. This is the only sub-parameter in this section that you can combine with others.
For example, the following is perfectly valid:

PCBSM /ADJUST;byteratio;print

However, this example is not:

PCBSM /ADJUST;byteratio;fileratio

Example

PCBSM /ADJUST;byteratio;print

This command line would load System Manager and adjust security levels based on the byte ratio of each user. All users who have their security levels changed will be printed to your defined printer.

/SECURITY

This command line parameter will allow you to assign a new security level to an existing range of security levels on your system. For example, if you wished to change the security level of everyone between 20 and 30 to simply have security level of 25, use this parameter.

lowsec:[security level]

Specifies the lowest security level of the range you wish to adjust. You need to also use the highsec sub-parameter to specify the highest number in the range of security levels. Any user record that has a security level which is either equal to or between the lowsec and highsec sub-parameters will have its security level adjusted. Replace [security level] with the actual security level between 0 and 255 (e.g., 82).

highsec:[security level]

Specifies the lowest security level of the range you wish to adjust. You need to also use the lowsec sub-parameter to specify the lowest number in the range of security levels. Any user record that has a security level which is either equal to or between the lowsec and highsec sub-parameters will have its security level adjusted. Replace [security level] with the actual security level between 0 and 255 (e.g., 105).

newsec:[security level]

This sub-parameter defines what the new security level will be for the security levels that are specified with the lowsec and highsec sub-parameters. Replace [security level] with the actual security level between 0 and 255 (e.g., 35).

Example

PCBSM /SECURITY;lowsec:32;highsec:42;newsec:58

Would change the security level of any user with a security level between 32 and 42 and make their new security level 58.

/EXPSECURITY

This parameter performs the same function as the /SECURITY parameter, but the expired security level is used instead of the normal security level. Using this parameter will prove very useful if you have a bunch of users that have expired security levels between 30 and 40 but you realize you can save time by consolidating them into one single expired level.

lowsec:[security level]

Specifies the lowest expired security level of the range you wish to adjust.
You need to also use the highsec sub-parameter to specify the highest number in the range of expired security levels. Any user record with an expired security level that is either equal to or between the lowsec and highsec sub-parameters will have its security level adjusted. Replace [security level] with an expired security level between 0 and 255 (e.g., 82).

highsec:[security level]

Specifies the lowest security level of the range you wish to adjust. You need to also use the lowsec sub-parameter to specify the lowest number in the range of expired security levels. Any user record with an expired security level that is either equal to or between the lowsec and highsec sub-parameters will have its expired security level adjusted. Replace [security level] with a valid expired security level between 0 and 255 (e.g., 105).

newsec:[security level]

This sub-parameters defines what the new security level will be for the security levels specified with the lowsec and highsec sub-parameters.
Replace [security level] with the actual security level between 0 and 255 (e.g., 35).

Example

  PCBSM /EXPSECURITY;lowsec:50;highsec:70;newsec:45

Will modify the user records of those who have an expired security level between 50 and 70. Their old expired security level will become 45 as specified by the newsec parameter.

/COPYEXPIRED

This command line parameter will change the normal security level of users whose subscription has expired to that of their expired security level. This type of change is most helpful when you do not plan on renewing the subscription for a particular user. Usually, the user's normal security level will remain unchanged so that when they renew their subscription they will retain their old access. Using this parameter is the same as selecting System Manager > Users File Maintenance > Adjust Security Levels > Change Security to Expired Level.

print

This is the only sub-parameter you may specify. If you use it, any users who have their security levels changed will be printed to the printer defined in System Manager.

Example

  PCBSM.EXE /COPYEXPIRED;print

This example will change the security level of any user whose subscription has expired. The user's normal security level will be set to equal their expired security level. In addition, because the print sub-command was specified, any user who has their record changed will be printed to the defined printer.

/EXPIRE

This command line parameter will allow you to change the expiration date of a group of users. The group of users who have their expiration date changed is based on either a range of normal or expired security levels.

normalsec

If you use this sub-parameter, the security levels you specify using the lowsec and highsec sub-parameters will be based on the normal security level of the user. You must select either this or the expiredsec sub-parameter to tell System Manager whether it should use the regular or expired security level.

expiredsec

If you use this sub-parameter, the security levels you specify using the lowsec and highsec sub-parameters will be based on the expired security level of the user. You must select either this or the normalsec sub-parameter to tell System Manager whether it should use the regular or expired security level.

lowsec:[security level]

This sub-parameter will specify the lowest security level for which to adjust the expiration date. Remember that the security level you specify will be based on the normal or expired security level, depending on whether you used the normalsec or expiredsec sub-parameter. Replace [security level] with the actual security level (e.g., 38). This sub-parameter is required.

highsec:[security level]

This sub-parameter will specify the highest security level for which to adjust the expiration date. Remember that the security level you specified will be based on the normal or expired security level, depending on whether you used the normalsec or expiredsec sub-parameter. Replace [security level] with the actual security level (e.g., 75). This sub-parameter is required.

date:[date]

You can modify the expiration dates for users specified via the lowsec and highsec parameters, either by a entering a specific date or by increasing the current expiration date by a set amount of days. If you use this parameter, the user's expiration date will be set to the calendar date entered here. The date you specify must be in the MMDDYY format where MM is the month, DD is the day, and YY is the year. You are required to use either this sub-parameter or the days parameter but you may not specify both.

days:[number of days]

You can modify the expiration dates for users specified via the lowsec and highsec parameters, either by a entering a specific date or by increasing the current expiration date by a set amount of days. If you use this parameter, the user's current expiration date will be increased by the number of days you specify. You are required to use either this sub-parameter or the date parameter but you may not specify both.

print

This parameter will print information about users whose expiration dates have been modified. This report will be printed to the location you specified in System Manager > Define Printer Port.

Example

  PCBSM /EXPIRE:normalsec;lowsec:30;highsec:40;days:30

This example will add 30 days to the subscription of every user who has a normal security level between 30 and 40.

/GROUP

This command line parameter will enable you to set or remove the three most commonly used conference flags for a group of users in a range of conferences you specify.

insert

Use this sub-parameter if you wish to set the flags for the conference(s) you specify. Using this parameter also requires that you use the first, last, lowsec, and highsec parameters.

remove

Use this sub-parameter if you wish to remove the flags for the conference(s) you specify. Using this parameter also requires that you use the first, last, lowsec, and highsec parameters.

first:[conference number]

This sub-parameter specifies the first conference number in which users will have their flags modified. This is always used in conjunction with the last sub-parameter to define the range of conferences to be acted upon.

last:[conference number]

This sub-parameter specifies the last conference number in which users will have their flags modified. This is always used in conjunction with the first sub-parameter to define the range of conferences to be acted upon.

lowsec:[security level]

This sub-parameter is used to define the lowest security level which will be affected by the conference registration flag modifications. When used in conjunction with the first, last, and highsec sub-parameters, the group of users who will have their conference registration flags modified is defined.

highsec:[security level]

This sub-parameter is used to define the highest security level which will be affected by the conference registration flag modifications. When used in conjunction with the first, last, and highsec sub-parameters, the group of users who will have their conference registration flags modified is defined.

main

This sub-parameter enables you to either set or remove the conference registration flag (R). Whether the flag is set or removed depends on whether you use the insert or remove sub-parameter.

expired

This sub-parameter enables you to set or remove the expired access flag (X).
If you use the insert sub-parameter, the user will be given access to the conferences specified even if their subscription has expired. If you use the remove sub-parameter, the users will not have access to the conference when their subscription expires (assuming you have subscription mode enabled).

NOTE: Setting the X flag without having an R flag set will lock the user out of a conference. If you really wish for a user to have non-expiring access to a particular conference, you should use the main sub-parameter in conjunction with the expired sub-parameter.

scan

This sub-parameter sets the scan conference flag (S). Setting this flag selects the conference to be included in any message scans performed, and is similar in effect to the user SELECT command. If a user is unable to join a conference where the S flag is set, the flag will be ignored and the conference will not be included in the scan.

reset

If this parameter is specified, the last message read pointer will be set to 0 in the conferences specified by the first and last parameters.

Example

  PCBSM /GROUP;insert;first:0;last:2,lowsec:20;highsec:30;main;expired

This particular example will register users who have a security level between 20 and 30 in conferences 0, 1, and 2. In addition to being registered, all users will be given access to the conference when their subscription expires because the expired sub-parameter is used.

/INDEX

Use this parameter to re-index the user file. For this operation all nodes do not have to be down. Normally, you will not need to re-index the user file because PCBoard takes care of maintaining it. However, there are circumstances that can occur in your system configuration (corrupt media, etc.) which may corrupt your index files.

Example

  PCBSM /INDEX

This example will index the user file making sure that it is current.

/PACK

Packing your user file can do the following for you:

Insure the USERS, USERS.INF and user index files are all in sync with one another.

Remove users from your system who have not called in a specified amount of time.

Delete user records that have been marked for deletion or that have been locked out from the system.

If you do not use any sub-parameters, System Manager will insure that the USERS, USERS.INF, and user index files are in sync with one another. Because this is a global change to the user file, all nodes must be down before selecting this option. Otherwise, System Manger will continually try to open the USERS file.

remove

When this sub-parameter is specified, any user who has been marked for deletion (ALT-D when editing user records) or who has a security level of 0 (locked out) will be physically removed from the user file. If you do not want to remove users who are locked out from the system so as to prevent them from recreating a new account, use the lockout sub-parameter.

days:[number of days]

To help keep the size of your user file in check, you may wish to remove accounts of users who have not called in a certain number of days. This sub-parameter gives you this ability. Replace [number of days] with the actual number of days to have elapsed since the user's last call to be considered an inactive account which may be purged from the user file.

since:[date]

This sub-parameter will remove users who have not accessed the system since the date you specify. That date you specify must be in MMDDYY format where MM is the month, DD is the day, and YY is the year.

expdate:[date]

When you use this sub-parameter, any user who has an expiration date earlier than the one you specify (MMDDYY format) will be removed from the user file.

keep:[security level]

This sub-parameter will prevent users who have the security level you specify (or higher) from being removed regardless of any criteria specified.

lockout

When you use this sub-parameter it will prevent any users who have been locked out of your system (security level 0) from being deleted. Use this subparameter in conjunction with the remove sub-command.

print

Any users who are removed from the users file will be printed to the location you specified in System Manager > Define Printer Port

Example

  PCBSM /PACK;remove;lockout;days:180

The example above will remove any user who has been marked for deletion or who has not called within the last 180 days. Because the lockout parameter is specified, users who are locked out of your system will not be deleted.

/PURGE

This command line parameter is identical to the /PACK parameter except the entire system does not need to be down to pack the users file. This will enable you to perform an online pack of the users file without having to take the entire system down, which becomes increasingly difficult as you add more nodes to your system.

Any user who is online when the pack is performed will not be affected. This means that even if the user would have been packed out with the criteria that you specified, the record will not be deleted because the user was currently online. This should not present much of a problem though, as you can pack the file again at a later time when the user is not online.

NOTE: Online packing is disabled if you have installed the Alias PSA.

Example

  PCBSM /PURGE;since:010194;keep:100

The example above will remove any user who has not called since January 1, 1994. The keep parameter will insure that no users above security level 100 will be removed.

/STANDARDIZE

Use this command line parameter if you plan on sorting your users file by phone number, or if you desire a more “standard” looking phone number format for all of your users. When this parameter is specified, System Manager will strip all of the non-numerical data from the phone number fields and reformat it into the following format:

999 999-9999

If a number is shorter than 10 digits, System Manager will begin formatting from the right. This means that if a user enters 5551212 for the phone number, it will be formatted as:

555-1212

Example

  PCBSM /STANDARDIZE

Adjust the home/voice and business/data phone number fields to a standard 999 999-9999 format.

/ADDTPA

This particular command line switch is designed for third party authors to use so they can easily install a TPA for their software without making you do all the hard work. This is the format of the command line:

/ADDTPA;[App_Name];[Version];[Static];[Dynamic];[Keyword]
App_NameThe name of the application
VersionThe version number to install (digits only)
StaticRepresents the static size (in bytes) to allocate or 0 for none.
DynamicRepresents the number of bytes to allocate for each conference or 0 for none.
KeywordThe keyword for the TPA.

For additional information on installing a TPA, please see Add/Update Third Party Application earlier in this section.

Example

  PCBSM /ADDTPA;mail;10;128;1;mail

Add a TPA with an application name of Mail and a version number “10”.
128 bytes will be reserved for each user on the system with an additional 1 byte per conference. Finally, the keyword is mail.

/SORT

Sorting the user file gives you a quick method to access information. For example, if you want to find out who has uploaded the most to your system, you can sort the user file by total number of bytes uploaded. When a user file is sorted, you have all of the users in order based on how many bytes they have uploaded. You can sort on a single field or with multiple fields.

When you sort on a single field, select an item such as the number of times a user has called the system. System Manager will sort users by the total number of times they have called. If two users have called the same number of times, no attempt is made to put those users in any particular order. If you wish to sort these users by name, do a multi-field sort.

Multi-field sorts, will sort any of the following fields:

  • Security level
  • Times ON
  • Files download
  • Files uploaded
  • File ratio
  • Bytes downloaded
  • Bytes uploaded
  • Byte ratio

When using a multi-field sort by security level and two or more users have the same security level, System Manager will sort these users who have the same security level alphabetically by name. Once the users are sorted by name, it will move on to the next security level. As a quick example, let's assume you have 5 users in your system:

UsernameSecurity
JOHN SMITH10
JIM JONES20
SPENCER KORM20
BILL GATES0
PAUL BRAINERD20

If you were to do a single field sort, the users will most likely end up in this order:

UsernameSecurity
BILL GATES0
JOHN SMITH10
JIM JONES20
SPENCER KORM20
PAUL BRAINERD20

Notice that the security level 20 users are not sorted by name. While this does not present much of a problem for 5 users, it could be very annoying if you have 30,000 users on your system.

If you do a multi-field sort based instead on security level then on name, the five users will be sorted in the following order:

UsernameSecurity
BILL GATES0
JOHN SMITH10
JIM JONES20
PAUL BRAINERD20
SPENCER KORM20

With the exception of the prireverse and secreverse sub-parameters, all parameters specify types of sorts you can perform. If you want to perform a multi-field sort, use name and any of the following:

securitySecurity level
timesonTimes on
dlfileFiles download
ulfileFiles uploaded
fratioFile ratio
dlbyteBytes downloaded
ulbyteBytes uploaded
bratioByte ratio

The following is a list of the many sub-parameters you can specify for this command line parameter:

nameSort by user name field.
passwordSort by password field.
dataphoneSort by the business/data phone number field.
homephoneSort by the home/voice phone number field.
expdateSort by the expiration date of each user.
usercommentSort by the comment #1 field.
sysopcommentSort by the comment #2 field.
citySort by the city field.
securitySort by the security level field.
timesonSort by the number of times the user has successfully logged in.
dlfileSort by the number of files downloaded.
upfileSort by the number of files uploaded.
fratioSort by the file ratio.
dlbyteSort by the number of bytes downloaded.
upbyteSort by the number of bytes uploaded.
bratioSort by the byte ratio.
reverseThis sub-parameter is used when you sort by a single field. If you use it, the records will be sorted in reverse order. For example, if you sort by security level, the highest security level will be first in the user file and the lowest security level will be the last record in the file.
prireverseThis sub-parameter is used in conjunction with multiple field sorts. Normally sorts are performed in ascending order. When you use this parameter, the primary sort field will be sorted in descending order.
secreverseSince the only field you can use as a secondary field is the user name, this will cause any duplicates caught by the first sort field to be sorted by name in reverse order. This means that William Plasger will be placed before Andrew Leaver.

Examples

  PCBSM /SORT:security;reverse

Sort the user file by security in reverse order placing those with the highest security level at the beginning of the file.

PCBSM /SORT:dlbyte;name;prireverse

Sort the user file by the number of bytes downloaded (in reverse order) placing those who have downloaded the most towards the beginning of the user file. If two users have the same number of bytes downloaded, they will be sorted by name to determine who should be placed first in the user file.

/RETRY:[max number of retries]

This command line parameter specifies the number of attempts System Manager should retry on an error. Most commonly, the error will occur when trying to access the USER file when all nodes are not down. However, it is conceivable for the error to be an error reading from disk or other critical error.

When you are using the command line parameters to run System Manager in your event, this command line parameter can prove very useful. With the exception of the /PURGE, /INDEX, /RETRY, and /FILE command line parameters, all others require all nodes to be down before proceeding. If all nodes are not down, System Manager will make continuous attempts every 10 seconds to access the USERS file until it becomes free.

Of course there is a real problem if you are trying to sort the user file in your 1:00 am event but one of your nodes either failed to go down for the event or was improperly configured. If you were not to catch this until 7:00 am the next morning, you could have lost 6 hours of dial-in time. In a situation like this, using the /RETRY parameter to make 10 retry attempts and then exit to DOS (returning control to your event batch file) is very advantageous.

Example

  PCBSM /PACK;remove /RETRY:20

The example above would pack the users file removing any user that has been marked for deletion or who has a security level of 0.
Should an error occur, 20 attempts will be made before System Manager will finally abort the attempt.

/FILE:[location of PCBOARD.DAT]

System Manager needs to access the PCBOARD.DAT file so it can determine where your user files (and other configuration files) are stored. Normally, System Manager will only look in the current directory for the PCBOARD.DAT file.
However, you can tell it where to find the file by using this command line parameter.

Simply replace [location of PCBOARD.DAT] with the full path and filename where it can be found (e.g., C:\PCB\PCBOARD.DAT).

Example

  PCBSM /FILE:H:\SHARE\PCBOARD.DAT

The example above will load System Manager and specify that it should use the PCBOARD.DAT located in H:\SHARE to find the information about PCBoard.

system_manager/command_line_parameters.txt · Last modified: 2024/01/18 18:00
CC Attribution 4.0 International Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution 4.0 International