In the latest release of BulletProof FTP Server, we’ve added the ability to import users via the “Bulk Import (CSV)” button, located in the User Manager. A CSV-File is a flat-text-file that contains a list of records (one per row) with a defined set of field-values for that record. This is analogous to a spreadsheet, such as Microsoft Excel and is often used as a method of getting data in/out of a spreadsheet.
To this end, we’ve developed a function that allows you to IMPORT user-accounts from another source, using a CSV file. Below is a list of fields that are supported for import. In this list, the first record you see is “ACCOUNTNAME”, this is a MANDATORY record as it is the unique-primary-key for the data. If ACCOUNTNAME exists, the data will be updated. If not, a new user-account will be created and all of the data will be set to the provided information. All other fields are optional, but each row in the CSV-file must contain the same fields as defined in the first header-record.
NOTE: Executing this functionality can be automated from the command-line utility “bpftpserver-adduser.exe”. Please see this HOWTO for more information.
EXAMPLE:
In the following example, we are defining a CSV file to import 11 new user-accounts (mmc000 to mmc010). Below you will find the first row contains the list of columns each row/record will contain; subsequent rows contain the data for the accounts. Please note, this is generic data and in this case, I choose to make a simple list of account-names that are prefixed with “mmc” and then use a 3-digit number. The intention is to show the power and flexibility; as each user-account can be assigned their own home-directory (c:\ftp\mmc999), groups, login-name, passwords, etc.
"AccountName","ACCESSRIGHTS_PACKED","Enabled","EnableLogin","Login","EnablePass","Pass","GroupName"
"mmc000","C:\ftp\mmc000;RWDAMLSK","1","1","mmc000","1","mmc000","mmc-group-0"
"mmc001","C:\ftp\mmc001;RWDAMLSK","1","1","mmc001","1","mmc001","mmc-group-0"
"mmc002","C:\ftp\mmc002;RWDAMLSK","1","1","mmc002","1","mmc002","mmc-group-0"
"mmc003","C:\ftp\mmc003;RWDAMLSK","1","1","mmc003","1","mmc003","mmc-group-0"
"mmc004","C:\ftp\mmc004;RWDAMLSK","1","1","mmc004","1","mmc004","mmc-group-0"
"mmc005","C:\ftp\mmc005;RWDAMLSK","1","1","mmc005","1","mmc005","mmc-group-0"
"mmc006","C:\ftp\mmc006;RWDAMLSK","1","1","mmc006","1","mmc006","mmc-group-0"
"mmc007","C:\ftp\mmc007;RWDAMLSK","1","1","mmc007","1","mmc007","mmc-group-0"
"mmc008","C:\ftp\mmc008;RWDAMLSK","1","1","mmc008","1","mmc008","mmc-group-0"
"mmc009","C:\ftp\mmc009;RWDAMLSK","1","1","mmc009","1","mmc009","mmc-group-0"
"mmc010","C:\ftp\mmc010;RWDAMLSK","1","1","mmc010","1","mmc010","mmc-group-0"
SUPPORTED FIELDS AVAILABLE TO BULK-IMPORT
Commonly Used Fields
| FIELD_NAME | FIELD_TYPE | DEFAULT | MANDATORY |
| ACCOUNTNAME | STRING | “” | TRUE |
| AccessRights_Packed | STRING | “” | |
| Enabled | BOOLEAN | True | |
| EnableLogin | BOOLEAN | True | |
| Login | STRING | “” | |
| EnablePass | BOOLEAN | True | |
| Pass | STRING | “” | |
| EnableGroup | BOOLEAN | False | |
| GroupName | STRING | “” | |
| UseGroupHomeDir | BOOLEAN | False |
Lesser Lesser Used Fields
| FIELD_NAME | FIELD_TYPE | DEFAULT | MANDATORY |
| AddHomeLink | BOOLEAN | False | |
| AddLinkFromFile | BOOLEAN | False | |
| AddLinks | BOOLEAN | False | |
| AllowChangePassword | BOOLEAN | False | |
| AllowNoop | BOOLEAN | True | |
| BannedFiles_PACKED | STRING | “” | |
| By-Pass_MaxUser | BOOLEAN | False | |
| ChgDirMsgFile | STRING | “” | |
| DefaultGroupQuotaCredit | INTEGER | -1 | |
| DefaultGroupRatioCredit | INTEGER | -1 | |
| EnableMaxConPerIP | BOOLEAN | False | |
| EnableMaxUsers | BOOLEAN | False | |
| EnableSITECHAT | BOOLEAN | False | |
| EnableSITEWHO | BOOLEAN | False | |
| Hide hidden Files | BOOLEAN | False | |
| Home-IP | STRING | “” | |
| IPACLList_PACKED | STRING | “” | |
| Info_Address | STRING | “” | |
| Info_City | STRING | “” | |
| Info_Email | STRING | “” | |
| Info_Fax | STRING | “” | |
| Info_Name | STRING | “” | |
| Info_Notes | STRING | “” | |
| Info_PhoneHome | STRING | “” | |
| Info_PhoneWork | STRING | “” | |
| LinksFile | STRING | “” | |
| LoginMsgFile | STRING | “” | |
| MaxConPerIP | INTEGER | 1 | |
| MaxSpeedEnabled | BOOLEAN | False | |
| MaxSpeedRcv | INTEGER | 512 | |
| MaxSpeedSnd | INTEGER | 512 | |
| MaxUsers | INTEGER | 0 | |
| QuotaCurrent | INTEGER | 0 | |
| QuotaEnabled | BOOLEAN | False | |
| QuotaMax | INTEGER | 0 | |
| RatioCredit | INTEGER | 0 | |
| RatioDown | INTEGER | 1 | |
| RatioEnabled | BOOLEAN | False | |
| RatioMethod | INTEGER | 0 | |
| RatioUp | INTEGER | 1 | |
| RelativePath | BOOLEAN | False | |
| ResolveLNK | BOOLEAN | True | |
| ShowChangeDirMsg | BOOLEAN | False | |
| ShowLoginMsg | BOOLEAN | False | |
| TimeOutEnabled | BOOLEAN | True | |
| Timeout | INTEGER | 600 | |
| TreatLinksAs | BOOLEAN | True |