globalscape com apihelp.globalscape.com/help/guides/globalscape_server_com_api_v61.pdfusing the com...
Post on 07-Mar-2018
236 Views
Preview:
TRANSCRIPT
GlobalSCAPE, Inc. (GSB)
Address: 4500 Lockhill-Selma Road, Suite 150 San Antonio, TX (USA) 78249
Sales: (210) 308-8267
Sales (Toll Free): (800) 290-5054
Technical Support: (210) 366-3993
Web Support: http://www.globalscape.com/support/
© 2004-2009 GlobalSCAPE, Inc. All Rights Reserved
Last Updated: November 20, 2009
iii
Table of Contents
Using the COM Application Programming Interface ........................................................................ 25
The SFTPCOMInterface.CIServer Class ................................................................................................. 25
What's New in the COM API? ............................................................................................................... 26
Modified ............................................................................................................................................... 26
ICISites interface ............................................................................................................................ 26
ICISite interface .............................................................................................................................. 27
ICIClientSettings interface .............................................................................................................. 27
ICIEventRule Interface ................................................................................................................... 29
ICIEventAction Interface ................................................................................................................ 29
ICIIfStatement Interface ................................................................................................................. 29
ICIPgpActionParams interface ....................................................................................................... 30
ICIReportActionParams interface .................................................................................................. 30
Added ................................................................................................................................................... 30
AS2 Send Action Parameters Interface (ICIAS2SendActionParams) .............................................. 30
Automated Workflow Task Event Action Parameters (AWTaskActionParams) ............................ 31
Backup Action Parameters (ICIBackupActionParams) ................................................................... 31
Client Settings Interface ................................................................................................................. 31
ICICommandSettings Interface ...................................................................................................... 32
Event Information Interface Properties (ICIEventInfo) .................................................................. 32
ICIPgpActionParams interface ....................................................................................................... 32
Report Information Interface Properties (ICIReportInfo) .............................................................. 32
Server Interface Methods and Properties (ICIServer) ................................................................... 32
Site Interface Methods and Properties (ICISite) ............................................................................ 33
Removed ............................................................................................................................................... 33
Client Settings Interface Methods (ICIClientSettings) ................................................................... 33
Event Rule Interface (ICIEventRule) ............................................................................................... 33
Event Action Interface (ICIEventAction) ........................................................................................ 33
PGP Action Parameters Interface (ICIPgpActionParams) .............................................................. 34
Report Action Interface (ICIReportActionParams)......................................................................... 34
Server Interface Methods (ICIServer) ............................................................................................ 34
Timer Event Rule Parameters Interface (CITimerEventRuleParams) ............................................. 34
GlobalSCAPE COM API
iv
List of Methods, Properties, Enumerators, and Constants ............................................................. 35
Server Interface Properties (ICIServer)................................................................................................. 35
Server Interface Methods (ICIServer) ................................................................................................... 36
Multiple Sites Interface Methods (ICISites) .......................................................................................... 38
Single-Site Interface Properties (ICISite) .............................................................................................. 38
Single-Site Interface Methods (ICISite)................................................................................................. 40
Permission Interface Properties (ICIPermission) .................................................................................. 43
Client Settings Interface Properties (ICIClientSettings) ........................................................................ 44
Client Settings Interface Methods (ICIClientSettings) .......................................................................... 44
Command Settings Interface Properties (ICICommandSettings) ......................................................... 49
Command Settings Interface Methods (ICICommandSettings) ........................................................... 49
Certificate Information Interface Properties (ICICertInfo) ................................................................... 49
Report Information Interface Properties (ICIReportInfo) .................................................................... 50
SSH Key Information Interface Properties (ICISSHKeyInfo) .................................................................. 50
Audit Interface Methods (ICIAudit) -- Auditing the SAT Module ......................................................... 50
Event Rule Interfaces ............................................................................................................................ 51
ActionStatement Interface Methods and Properties .................................................................... 51
ActionStatements Interface Methods ........................................................................................... 51
AS2 Send Action Parameters Interface (ICIAS2SendActionParams) .............................................. 51
Automated Workflow Task Event Action Parameters Interface (ICIAWTaskActionParams) ......... 53
Backup Action Parameters (ICIBackupActionParams) ................................................................... 53
Cleanup Action Parameters Interface Properties (ICICleanupActionParams) ............................... 53
Command Action Parameters Interface Properties (ICICommandActionParams) ........................ 53
CompoundCondition Interface Methods and Properties (ICICompoundCondition) ..................... 54
Download Action Parameters Interface (ICIDownloadActionParams) .......................................... 54
EventAction Interface Properties (ICIEventAction)........................................................................ 55
EventActions Interface Methods (ICIEventActions) ....................................................................... 55
Event Information Interface Properties (ICIEventInfo) .................................................................. 55
EventRule Interface Methods and Properties (ICIEventRule) ........................................................ 55
EventRules Interface Methods (ICIEventRules) ............................................................................. 55
EventRuleParams Interface Properties (ICIEventRuleParams) ...................................................... 56
EventRuleStatement Interface Property (ICIEventRuleStatement) ............................................... 56
FolderMonitorEventRuleParams Interface Properties (ICIFolderMonitorEventRuleParams) ....... 56
Table of Contents
v
IfStatement Interface Methods and Properties (ICIIfStatement ) ................................................. 57
Mail Action Parameters Interface Properties (ICIMailActionParams) ........................................... 57
OpenPGP Action Interface Properties (ICIPGPActionParams) ....................................................... 57
ReportActionParams Interface Properties (ICIReportActionParams) ............................................ 58
SimpleCondition Interface Properties (ICISimpleCondition) ......................................................... 59
StopActionParams Interface Properties (ICIStopActionParams) ................................................... 59
Timer Event Rule Parameters Interface (ICITimerEventRuleParams) ............................................ 59
TransferActionParams Interface Properties (ICITransferActionParams) ....................................... 60
Upload Action Parameters Interface (ICIUploadActionParams) .................................................... 61
Enumerators and Constants ................................................................................................................. 62
ConditionOperator ......................................................................................................................... 62
EventActionType ............................................................................................................................ 62
Event Properties............................................................................................................................. 63
EventRuleStatementType .............................................................................................................. 66
Event Type...................................................................................................................................... 66
LogicalOperator ............................................................................................................................. 67
Network Protocol ........................................................................................................................... 67
PGP Operation ............................................................................................................................... 68
Recurrence ..................................................................................................................................... 68
SFTP AdvBool ................................................................................................................................. 68
StopType ........................................................................................................................................ 68
Creating Scripts ....................................................................................................................................... 69
Using the COM API in C# ...................................................................................................................... 69
Scripting Standards ............................................................................................................................... 70
Sample Script: Retrieve List of Users .................................................................................................... 71
Sample Script: Setting Permissions ...................................................................................................... 72
Sample Script: Retrieving the Physical Path to a Virtual Folder ........................................................... 76
Sample Script: Error Handling Routine ................................................................................................. 77
Server Interface Methods and Properties (ICIServer) ...................................................................... 77
Server Administration .......................................................................................................................... 77
Editing the Server Administrator IP Address (ListenIP) ................................................................. 78
Retrieving a List of Administrator IPs (GetAdminIPs) .................................................................... 79
Editing the Administrator Port (AdminPort) .................................................................................. 79
GlobalSCAPE COM API
vi
Allowing Remote Administration (AllowRemoteAdministration) ................................................. 79
Requiring SSL for Remote Administration (UseSSLForAdministration) ......................................... 79
Finding or Setting the Default IP Access Mode (IPAccessAllowedDefault) ................................... 80
Retrieving Allowed IP Masks (GetAllowedMasks) ......................................................................... 80
Retrieving Denied IP Masks (GetDeniedMasks) ............................................................................ 80
Adding an IP Mask on the Server (AddIPAccessRule) .................................................................... 80
Removing an IP Mask (RemoveIPAccessRule) ............................................................................... 80
Retrieving the Local IP Address (GetLocalIP) ................................................................................. 80
Changing the Administrator Password (ChangeAdminPassword) ................................................. 81
Retrieving the Number of Server Administrator Accounts on the Server (GetServerAdminCount) ....................................................................................................................................................... 81
Removing a Server Administrator Account (RemoveServerAdminAccount) ................................. 81
Retrieving the Registration status of an EFT Server Module (ModuleRegistrationState) ............. 81
ServerModule Enumeration .................................................................................................... 82
Server SSL Settings ............................................................................................................................... 82
Retrieving or Setting the SSL Version Mask (SSLVersionMask) ..................................................... 82
Editing the File Path for Private Key Files (KeyFilePath) ................................................................ 83
Editing the File Path for Certificates (CertificateFilePath) ............................................................. 83
Editing Private Key Passphrases (PassPhrase) ............................................................................... 83
Specifying SSL Certificate for Administrator Connections ............................................................. 83
Server SSH (SFTP) Settings .................................................................................................................... 84
Retrieving List of Available SSH Keys (AvailableSSHKeys) .............................................................. 84
Importing an SSH Public Key (ImportSSHKey) ................................................................................ 84
Removing an SSH Public Key from EFT Server (RemoveSSHKey) ................................................... 84
Server Security Settings ........................................................................................................................ 85
Editing the Cipher List (CipherList) ................................................................................................. 85
Allowing a Clear Command Channel on the Server (AllowClearCommandChannel) .................... 86
Allowing an Unprotected Data Channel on the Server (AllowUnprotectedDataChannel) ............ 86
Server Log File Settings ......................................................................................................................... 86
Editing the Server Log Path (LogPath) ........................................................................................... 87
Editing the Server Log Type (LogType) ........................................................................................... 87
Rotating Logs (LogRotation) ........................................................................................................... 88
Server Database Settings ...................................................................................................................... 88
Table of Contents
vii
Enabling Auditing and Reporting (EnableARM) ............................................................................. 89
Editing the ARM Database Name (ARMDatabaseName)............................................................... 90
Editing the ARM Server Name (ARMServerName) ........................................................................ 90
Editing the ARM Username (ARMUserName) ............................................................................... 90
Editing the ARM Password (ARMPassword) .................................................................................. 90
Determining if Transactions are Audited to a File instead of the Database (AreLingeringTransactions) ............................................................................................................ 91
Determining if Server is Connected to the ARM Database (IsDBConnected) ................................ 91
Server SMTP Settings ............................................................................................................................ 91
Editing the Mail Server Address (SMTPServer) .............................................................................. 92
Editing the Mail Server Port (SMTPPort) ....................................................................................... 92
Editing the Email User Name (SMTPLogin) .................................................................................... 93
Editing the Email Password (SMTPPassword) ................................................................................ 93
Choosing the From Address in Server Emails (SMTPSenderAddr) ................................................. 93
Choosing the Server Email Sender Name (SMTPSenderName) ..................................................... 93
Choosing Email Receiver Names (SMTPRecipientName) .............................................................. 93
Choosing Email Receiver Addresses (SMTPRecipientAddr) ........................................................... 93
Retrieving the Audit Interface (Auditor) .............................................................................................. 94
Applying Changes to the Server (ApplyChanges) ................................................................................. 94
Refreshing Server Settings (RefreshSettings) ....................................................................................... 94
Retrieving a List of Server Sites (Sites) ................................................................................................. 94
Retrieving the Local Server Time (GetLocalTime) ................................................................................ 95
Retrieving the Number of Connected Users (ConnectedUsersNumber) ............................................. 95
Connecting to the Server as the Administrator (Connect) ................................................................... 95
Closing the Administrator Connection to the Server (Close) ............................................................... 96
Retrieving a List of Available Reports (AvailableReports) .................................................................... 96
Retrieving a List of EFT Server's PGP Keys (AvailablePGPKeys) ............................................................ 96
Retrieving a List of Available Events (AvailableEvents) ........................................................................ 96
Generating an EFT Server Report (GenerateReport) ........................................................................... 97
Multiple Sites Interface (ICISites) ........................................................................................................ 97
Retrieving a Site's COM Interface by Site Number (Item) .................................................................... 97
Retrieving a Site's COM Interface by Site ID (SiteByID) ........................................................................ 97
Retrieving the Number of Sites (Count) ............................................................................................... 98
GlobalSCAPE COM API
viii
Adding a Site (Add) ............................................................................................................................... 98
Adding a Local Site (AddLocalSite) ....................................................................................................... 99
Adding an Active Directory Authenticated Site (AddADSite) ............................................................. 100
Adding an NT Authenticated Site (AddNTLMSite) .............................................................................. 101
Adding an ODBC-Authenticated Site (AddODBCSite) ......................................................................... 102
Adding an LDAP Site (AddLDAPSite) ................................................................................................... 103
Single-Site Interface (ICISite) ............................................................................................................. 105
Retrieving a Site's ID (ID) .................................................................................................................... 105
Retrieving a Site's Name (Name) ........................................................................................................ 105
Determining if a Site is Started (IsStarted) ......................................................................................... 105
Starting a Site (Start) .......................................................................................................................... 105
Stopping Site (Stop) ............................................................................................................................ 106
Deleting a Site (Remove) .................................................................................................................... 106
Cancelling an HTTPS Transfer (CancelTransfer) ................................................................................. 106
Retrieving a List of Event Rules (EventRules) ..................................................................................... 106
Retrieving ARM ODBC Settings (ODBCSettings) ................................................................................. 106
Setting the Auto Create Home Folder Option (AutoCreateHomeFolder) .......................................... 107
Setting the Grant Full Permissions Option (AssignFullPermissionsForHomeFolder) ......................... 107
Site FTP Settings ................................................................................................................................. 107
Blocking Site-to-Site FTP (BlockSiteToSite) .................................................................................. 108
Blocking Anti-Timeout Schemes (BlockAntiTimeOut).................................................................. 109
Enabling a Range of Ports for PASV Connections (EnablePortRange) ......................................... 109
Determining the IP Address for PASV Connections (PASVListenIP) ............................................. 109
Determining the Low End of a PASV Mode Port Range (PASVPortMin) ...................................... 109
Determining the High End of a PASV Mode Port Range (PASVPortMax) .................................... 110
Editing the Server Connection Message (ConnectMessage) ....................................................... 110
Managing the User Limit Message (UserLimitMessage) ............................................................. 110
Managing a Site's Exit Message (ExitMessage) ............................................................................ 110
Site Connection Limits ........................................................................................................................ 110
Enabling or Disabling a Site's Maximum Transfer Speed (HasMaxSpeed) .................................. 111
Retrieving or Setting Maximum Transfer Speed (MaxTransferSpeed) ........................................ 111
Enabling the Concurrent Connections Limit (HasMaxUsers) ....................................................... 112
Retrieving or Setting Maximum Concurrent Connections (MaxConcurrentConnections) .......... 112
Table of Contents
ix
Retrieving Maximum Concurrent Logins (HasMaxConcurrentLogins) ........................................ 112
Setting Maximum Concurrent Logins (MaxConcurrentLogins) .................................................... 112
Retrieving or Setting Number of Connections per User to a Site (HasMaxConnectionsPerAccount) ............................................................................................... 113
Retrieving or Setting a Site's User Connection Limit (MaxConnectionsPerUser) ........................ 113
Limiting Connections from the Same IP Address (HasMaxIPPerAccount) ................................... 113
Managing Concurrent Connections Allowed from the Same IP Address (MaxConnectionsFromSameIP) ................................................................................................... 113
Site Login Security and Anti-Flood/Hammer Settings ........................................................................ 114
Limiting Consecutive Invalid Commands (DisconnectOnDOS) .................................................... 115
Banning Connections from Specific IP Addresses (BanIPOnDOS) ................................................ 115
Banning IP Addresses (AutoBanIPsPermanently) ........................................................................ 115
Viewing the Lockout Period for a Site (LockoutPeriod) ............................................................... 115
Enabling Allowed Login Attempt Limit (LimitLoginAttempts) ..................................................... 116
Enabling Account Lockout (LockoutNotDisable) .......................................................................... 116
Viewing the Number of Invalid Login Attempts Allowed for a Site (MaxInvalidLoginAttempts) 116
Viewing Invalid Attempts Period for a Site (InvalidAttemptsPeriod) .......................................... 117
Setting the Number of Invalid Commands Allowed (DOSLimit) .................................................. 117
Retrieving and Modifying a List of Banned File Types (VFSFilter)................................................ 117
Retrieving or Specifying the Auto-Ban Sensitivity (AutobanSensitivity) ...................................... 118
Site Information .................................................................................................................................. 118
Retrieving the Number of Connected Users (GetConnectedCount) ........................................... 119
Identifying the Authentication Manager for a Site (GetAuthManagerID) ................................... 119
Retrieving a Site's Root Folder (GetRootFolder) .......................................................................... 119
Specifying the Site's Root Folder (SetRootFolder) ....................................................................... 119
Retrieving a Site's IP Address (GetIP) ........................................................................................... 119
Specifying a Site's IP Address (SetIP) ........................................................................................... 119
Retrieving a Site's Port Number (GetPort) ................................................................................... 120
Specifying a Site's Port Number (SetPort) ................................................................................... 120
Retrieving a Site's Download Speed (GetDownloadSpeed) ......................................................... 120
Retrieving a Site's Upload Speed (GetUploadSpeed) .................................................................. 120
Retrieving the Number of Active Downloads (GetDownloadCount) ........................................... 120
Retrieving the Number of Active Uploads (GetUploadCount)..................................................... 120
Retrieving the Site Start Time (GetStartTime) ............................................................................. 120
GlobalSCAPE COM API
x
Editing the Server Connection Message (ConnectMessage) ....................................................... 121
Site Listener Settings .......................................................................................................................... 121
Site Listener Settings Parameters ................................................................................................ 121
Verifying FTP is Enabled for a Site................................................................................................ 122
Enabling FTP Access to a Site (SetFTPAccess) .............................................................................. 123
Verifying if HTTP is Enabled for a Site (GetHTTPAccess).............................................................. 123
Enabling HTTP Access (SetHTTPAccess) ....................................................................................... 123
Retrieving the HTTP Port for a Site (GetHTTPPort) ...................................................................... 123
Specifying the HTTP Port (SetHTTPPort) ...................................................................................... 124
Verifying if HTTPS is Enabled for a Site (GetHTTPSAccess) .......................................................... 124
Enabling HTTPS Access (SetHTTPSAccess) ................................................................................... 124
Retrieving the HTTPS Port for a Site (GetHTTPSPort) .................................................................. 124
Specifying the HTTPS Port (SetHTTPSPort) .................................................................................. 124
Verifying if Explicit SSL is Enabled for a Site (GetSSLAuth) .......................................................... 125
Allowing Explicit SSL Access to a Site (SetSSLAuth) ..................................................................... 125
Verifying if Implicit SSL is Enabled for a Site (GetSSLImp) ........................................................... 125
Allowing Implicit SSL Access to a Site (SetSSLImp) ...................................................................... 125
Enabling or Disabling SFTP on a Site (EnableSFTP, DisableSFTP) ................................................. 126
Site Certificates and Keys ................................................................................................................... 126
Site Certificates and Keys Parameters ......................................................................................... 126
Retrieving the File Path for Certificates (GetCertFilePath) .......................................................... 128
Changing the Certificate File Path (SetCertFilePath) ................................................................... 128
Retrieving the File Path for Private Keys (GetKeyFilePath) ......................................................... 128
Changing the Private Key File Path (SetKeyFilePath) ................................................................... 128
Retrieving Private Key Passphrases (GetPassPhrase) .................................................................. 128
Changing a Private Key Passphrase (SetPassPhrase) ................................................................... 129
Verifying if Client Certificates are Required (GetCheckClientCert).............................................. 129
Requiring User Certificates on Implicit SSL Sites (SetCheckClientCert) ....................................... 129
Retrieving the SFTP (SSH) Certificate File Path (GetSSHKeyFilePath) .......................................... 129
Specifying the SFTP (SSH) Certificate File Path (SetSSHKeyFilePath) ........................................... 130
Retrieving the Path to Trusted Certificates (GetTrustedCertsPath) ............................................ 130
Retrieving the Path to Pending Certificates (GetAwaitingCertsPath) .......................................... 130
Retrieving Information for a Trusted Certificate (GetTrustedCertificateInfo)............................. 130
Table of Contents
xi
Retrieving a List of Trusted Certificates (GetTrustedCertificates) ............................................... 131
Retrieving a List of Pending Certificates (GetPendingCertificates) .............................................. 131
Retrieving Information for a Pending Certificate (GetPendingCertificateInfo) ........................... 131
Retrieving a Certificate's Data String (ExportTrustedCertificate) ................................................ 131
Saving a Trusted Certificate to a File (ImportTrustedCertificate) ................................................ 131
Deleting a Trusted Certificate (RemoveTrustedCertificate) ........................................................ 132
Deleting a Pending Certificate (RemovedPendingCertificate) ..................................................... 132
Adding a Pending Certificate to the Trusted List (AddCerficateToTrusted) ................................ 132
Specifying the SSL Certificate for a Site (SetSSLCertificate) ......................................................... 132
Site VFS Folders .................................................................................................................................. 133
Retrieving a List of Folders (GetFolderList) .................................................................................. 133
Retrieving a List of Folder Permissions (GetFolderPermissions) ................................................. 134
Setting Folder Permissions (SetPermission) ................................................................................ 134
Removing Folder Permissions (RemovePermission).................................................................... 134
Creating Blank Permissions (GetBlankPermission) ...................................................................... 134
Creating a Physical Folder (CreatePhysicalFolder) ....................................................................... 135
Creating a Virtual Folder (CreateVirtualFolder) ........................................................................... 135
Deleting a Folder (RemoveFolder) ............................................................................................... 135
Renaming a Folder (RenameFolder) ............................................................................................ 135
Remapping a Virtual Folder Path (RemapVirtualFolder) ............................................................. 136
Retrieving the Physical Path to a Virtual Folder .......................................................................... 136
Site Permission Groups....................................................................................................................... 136
Creating a Permissions Group (CreatePermissionGroup) ............................................................ 136
Retrieving a List of Permission Groups on a Site (GetPermissionGroups) ................................... 137
Retrieving a List of Users of Specified Permission Groups (GetPermissionGroupList) ................ 137
Deleting a Permission Group (RemovePermissionGroup) ........................................................... 137
Renaming a Permission Group (RenamePermissionGroup) ........................................................ 137
Adding a User to a Permission Group (AddUserToPermissionGroup) ......................................... 137
Deleting a User from a Permission Group (RemoveUserFromPermissionGroup) ....................... 138
Retrieving a List of a User's Permission Groups (GetPermissionGroupsOfUser) ......................... 138
Site Users and Settings Levels ............................................................................................................ 138
Creating a User (CreateUser and CreateUserEx) ......................................................................... 139
Retrieving a List of Users (GetUsers) ........................................................................................... 140
GlobalSCAPE COM API
xii
Deleting a User (RemoveUser) ..................................................................................................... 140
Renaming a User (RenameUser) .................................................................................................. 141
Retrieving a List of User Settings Levels (GetSettingsLevels) ...................................................... 141
Retrieving a List of Users in a User Settings Level (GetSettingsLevelUsers) ................................ 141
Changing a User's Password (ChangeUserPassword) .................................................................. 141
Validating a User's Password (ValidatePassword) ....................................................................... 142
Creating a Complex Password for a User (CreateComplexPassword) ......................................... 142
Retrieving a User's Settings (GetUserSettings) ............................................................................ 143
Forcing a User to Log Off of the Site (KickUser) ........................................................................... 143
Creating a User Settings Level (CreateSettingsLevel) .................................................................. 143
Deleting a User Settings Level (RemoveSettingsLevel) ................................................................ 144
Renaming a Settings Level (RenameSettingsLevel) ..................................................................... 144
Moving a User to a User Settings Level (MoveUserToSettingsLevel) .......................................... 144
Retrieving a List of Connected Users (GetConnectedUsers)........................................................ 144
Retrieving a List of Settings in a User Settings Level (GetSettingsLevelSettings) ........................ 144
Refreshing the User Database (ForceSynchronizeUserDatabase) ............................................... 145
Site Custom Commands ..................................................................................................................... 145
Retrieving a List of Custom Commands (GetCommands) ............................................................ 145
Retrieving a Custom Command's Settings (GetCommandSettings) ............................................ 145
Creating a New Custom Command (CreateCommand) ............................................................... 145
Assigning the Event Rule Custom Command Working Folder (AssignEventRuleCustomCommandWorkingFolder) ................................................................... 146
Deleting a Custom Command (RemoveCommand) ..................................................................... 146
Site IP Masks ....................................................................................................................................... 146
Setting IP Addresses that have Access to a Site (IPAccessAllowedDefault) ................................ 146
Adding an IP Mask to a Site (AddIPAccessRule) ........................................................................... 146
Removing an IP Mask from a Site (RemoveIPAccessRule) ........................................................... 147
Retrieving a List of Allowed IP Masks for a Site (GetAllowedMasks) .......................................... 147
Retrieving a List of Denied IP Masks (GetDeniedMasks) ............................................................. 147
Permission Interface (ICIPermission) ............................................................................................... 147
Permission Interface Properties ......................................................................................................... 148
Retrieving a Folder Name (Folder) ..................................................................................................... 149
Retrieving a Client or Permission Group Name (Client) ..................................................................... 149
Table of Contents
xiii
Granting Upload Permission (FileUpload) .......................................................................................... 149
Granting Download Permission (FileDownload) ................................................................................ 149
Granting Append File Permission (FileAppend) ................................................................................. 149
Granting Delete Permission (FileDelete) ............................................................................................ 150
Granting Rename Permission (FileRename) ....................................................................................... 150
Granting Permission to View a List of Folder Contents (DirList) ........................................................ 150
Showing or Hiding Folders (DirShowInList) ........................................................................................ 151
Granting Folder Creation Permission (DirCreate) .............................................................................. 152
Granting Folder Deletion Permission (DirDelete) .............................................................................. 152
Showing Hidden Files (DirShowHidden) ............................................................................................. 152
Showing Read-Only Files (DirShowReadOnly) .................................................................................... 152
Audit Interface (ICIAudit) ................................................................................................................... 153
Auditing a SAT E-mail in ARM (AuditSATEmail) .................................................................................. 153
Auditing a SAT File in ARM (AuditSATFile) ......................................................................................... 153
Auditing a SAT Transaction in ARM (AuditSATTransaction) ............................................................... 153
Client Settings Interface (ICIClientSettings) .................................................................................... 154
User Account Details .......................................................................................................................... 154
Viewing User Properties - (FullName) .......................................................................................... 155
Retrieving a User's Description (GetDescription) ........................................................................ 155
Specifying a User Description (SetDescription) ........................................................................... 156
Viewing User Properties - (Phone) ............................................................................................... 156
Viewing User Properties - (Email) ................................................................................................ 156
Viewing User Properties - (Fax) ................................................................................................... 156
Viewing User Properties - (Pager) ................................................................................................ 156
Viewing User Properties - (Custom) ............................................................................................. 157
Viewing User Properties - (Comment) ......................................................................................... 158
User Account General Settings ........................................................................................................... 158
Determining if a User Account or User Settings Level is Enabled (GetEnableAccount) .............. 159
Enabling a User Account or User Settings Level (SetEnableAccount) .......................................... 160
Determining if the Account Home Folder is the Default Root Folder (GetHomeDirIsRoot)........ 160
Specifying the Default Root Folder (SetHomeDirIsRoot) ............................................................. 161
Determining if Users Can Have a Home Folder (GetHomeDir) .................................................... 161
Specifying a User's Home Folder (SetHomeDir) .......................................................................... 161
GlobalSCAPE COM API
xiv
Determining the Expiration Date for a User Account (GetExpirationDate) ................................. 161
Specifying the Expiration Date for a User Account (SetExpirationDate) ..................................... 162
Determining the Expiration Date for a User Account (GetExpirationDateAsVariant ) ................ 162
Retrieving Users' Home Folders (GetHomeDirString) .................................................................. 163
Determining if an Account has a Disk Quota (GetEnableDiskQuota) .......................................... 163
Limiting a User's Disk Space (SetEnableDiskQuota)..................................................................... 163
Specifying the Path to Users' Home Folders (SetHomeDirString) ............................................... 163
Determining the Disk Quota Size (GetMaxSpace) ....................................................................... 164
Specifying a User's Disk Quota (SetMaxSpace) ............................................................................ 164
Determining How Much Disk Space a User has Used (GetUsedSpace) ....................................... 164
User Password Settings ...................................................................................................................... 164
User Password Settings ................................................................................................................ 164
Determining if Users Can Create Any Password (GetAllowAnyPwd) ........................................... 165
Allowing Users to Create Any Password (SetAllowAnyPwd) ....................................................... 166
Determining if Users are Allowed to Change their Passwords (GetChangePwd) ........................ 166
Allowing Users to Change their Passwords (SetChangePwd) ...................................................... 167
Forcing a User to Change Password on Login (ForcePasswordChange) ...................................... 167
Viewing Whether Account Lockout is Enabled for a User (GetLockoutNotDisable) ................... 167
Enabling Account Lockout for a User (SetLockoutNotDisable) .................................................... 167
Viewing a User's Lockout Period (LockoutPeriod) ....................................................................... 168
Determining the Number of Failed Password Attempts (GetIncorrectPasswordAttempts) ....... 168
Specifying the Number of Incorrect Password Attempts (SetIncorrectPasswordAttempts) ...... 168
Viewing Invalid Attempts Period for a Client (InvalidAttemptsPeriod) ....................................... 168
Viewing the Number of Invalid Login Attempts Allowed for a Client (MaxInvalidLoginAttempts) ..................................................................................................................................................... 169
Retrieving the Maximum Number of Failed Login Attempts Allowed per User (GetPwdRetries) ..................................................................................................................................................... 169
Specifying the Failed Password Limit (SetPwdRetries) ................................................................ 169
Determining Failed Password Limit (GetHasPwdRetries) ............................................................ 169
Limiting Failed Password Attempts (SetHasPwdRetries) ............................................................. 170
Determining if or when Account Password is to Expire (IsPasswordAgeLimited) ....................... 170
Determining whether a User Account's Inactivity Period is Limited (IsActivityPeriodLimited)... 170
User FTP Security Settings .................................................................................................................. 171
Determining if the NoOP Command is Allowed (GetAllowNoop) ............................................... 171
Table of Contents
xv
Allowing the NOOP Command (SetAllowNoop) .......................................................................... 172
Determining if the XCRC Command is Allowed (GetAllowXCRC) ................................................. 172
Allowing the XCRC Command (SetAllowXCRC) ............................................................................ 172
Determining if ModeZ is Allowed (GetAllowMODEZ) .................................................................. 173
Allowing MODE Z Compression (SetAllowMODEZ) ..................................................................... 173
Determining How Users' Login Message is Defined (GetLoginMsg) ............................................ 173
Specifying the Login Message Used (SetLoginMsg) ..................................................................... 174
Retrieving the Login Message (GetLoginMsgString) .................................................................... 174
Creating a Login Message (SetLoginMsgString) ........................................................................... 174
User Connection Protocols ................................................................................................................. 174
Determining if Plain FTP Access is Allowed (GetClearFTP) .......................................................... 176
Allowing Users Plain FTP Connections (SetClearFTP) .................................................................. 176
Viewing if FTPS is Enabled for a Client (GetSFTP) ........................................................................ 176
Allowing FTPS Access for a Client (SetFTPS) ................................................................................ 177
Viewing if SFTP Access is Enabled for a Client (GetSFTP) ............................................................ 177
Allowing SFTP Access for a Client (SetSFTP) ................................................................................ 178
Identifying the SFTP Authentication Type (GetSFTPAuthenticationType) ................................... 178
Specifying the SFTP Authentication Type for the Client (SetSFTPAuthenticationType) .............. 178
Retrieving the SFTP (SSH) Certificate ID (GetSSHKeyID) .............................................................. 179
Specifying the SFTP (SSH) Certificate ID (SetSSHKeyID) ............................................................... 179
Determining if Plain HTTP Access is Allowed (GetClearHTTP) ..................................................... 179
Allowing Users to Connect Using Clear HTTP (SetClearHTTP) ..................................................... 180
Viewing if HTTPS Access is Enabled for a Client (GetHTTPS) ....................................................... 180
Allowing Users to Connect over HTTPS (SetHTTPS) ..................................................................... 180
Determining if SSL Access is Allowed (GetSSL) ............................................................................ 181
Allowing Users SSL Connections (SetSSL) .................................................................................... 181
Identifying the SSL Authentication Type (GetSSLAuthenticationType) ....................................... 181
Specifying the SSL Authentication Type (SetSSLAuthenticationType) ......................................... 182
Identifying the SSL Key ID (GetSSLKeyID) ..................................................................................... 182
Specifying the SSL Key ID (SetSSLKeyID) ...................................................................................... 183
Determining Web Transfer Client Access (GetAppletEnabled) ................................................... 183
Specifying Web Transfer Client access (SetAppletEnabled) ........................................................ 183
User Connection Limits....................................................................................................................... 184
GlobalSCAPE COM API
xvi
Determining if a User has a Transfer Speed Limit (GetHasMaxSpeed) ....................................... 185
Enabling the Transfer Speed Limit (SetHasMaxSpeed) ................................................................ 185
Determining the Maximum Allowed Transfer Speed (GetMaxSpeed) ........................................ 185
Specifying the Maximum Allowed Transfer Speed (SetMaxSpeed)............................................. 185
Determining if a User Can be Timed Out (GetEnableTimeOut) ................................................... 185
Enabling Connection Timeout (SetEnableTimeOut) .................................................................... 186
Determining How Long a Connection can be Inactive (GetTimeOut).......................................... 186
Specifying the Timeout Value (SetTimeOut) ................................................................................ 186
Determining if the Number of Concurrent Connections is Limited for Users (GetHasMaxUsers) ..................................................................................................................................................... 186
Enabling a User's Connection Limit (SetHasMaxUsers) ............................................................... 187
Determining the Maximum Concurrent Connections Allowed per User (GetMaxUsers) ........... 187
Specifying the Maximum Connections Allowed per User (SetMaxUsers) ................................... 187
Determining for an IP Connection Limit (GetHasMaxIPs) ............................................................ 187
Enabling an IP Address Connection Limit (SetHasMaxIPs) .......................................................... 187
Determining Number of Connections Allowed from the Same IP Address (GetMaxIPs) ............ 188
Specifying the Maximum Connections for IP Addresses (SetMaxIPs) ......................................... 188
User Transfer Settings ........................................................................................................................ 188
Determining if a User has an Upload per Session Limit (GetHasUploadsPerSession) ................. 189
Enabling a User's Uploads-per-Session Limit (SetHasUploadsPerSession) .................................. 189
Retrieving a User's Upload per Session Limit (GetUploadsPerSession) ....................................... 189
Specifying the Maximum Number of Uploads a User is Permitted per Session (SetUploadsPerSession) ............................................................................................................... 189
Determining if a User has a Download per Session Limit (GetHasDownloadsPerSession) ......... 190
Enabling a User's Downloads-per-Session Limit (SetHasDownloadsPerSession) ........................ 190
Retrieving a Download per Session Limit (GetDownloadsPerSession) ........................................ 190
Specifying the Maximum Number of Downloads a User is Permitted per Session (SetDownloadsPerSession) .......................................................................................................... 190
Determining if a User has an Upload Size Limit (GetHasMaxUploadSize) ................................... 191
Enabling a User's Upload Size Limit (SetHasMaxUploadSize) ...................................................... 191
Retrieving a User's Upload Size Limit (GetMaxUploadSize) ........................................................ 191
Specifying the Maximum File Size a User is Permitted to Upload (SetMaxUploadSize) ............. 191
Determining if a User has a Download Size Limit (GetHasMaxDownloadSize) ........................... 191
Enabling a User's Download Size Limit (SetHasMaxDownloadSize) ............................................ 192
Table of Contents
xvii
Retrieving a User's Download Size Limit (GetMaxDownloadSize) ............................................... 192
Specifying the Maximum File Size a User is Permitted to Download (SetMaxDownloadSize) .... 192
User IP Access Ban List ....................................................................................................................... 192
Retrieving Allowed IP Masks for a User (GetAllowedMasks) ...................................................... 193
Retrieving Denied IP Mask for a User (GetDeniedMasks) ........................................................... 193
Adding an IP Access IP Mask for a Client (AddIPAccessRule) ...................................................... 194
Removing an IP Access Mask for User (RemoveIPAccessRule) .................................................... 194
Viewing Allowed IP Addresses (IPAccessAllowedDefault) ................................................................. 194
Determining if Users are Restricted to a Specific IP Address (GetHomeIP) ................................ 194
Restricting Users to a Specific IP Address (SetHomeIP) ............................................................... 195
Retrieving Users' Home IP Address (GetHomeIPString) .............................................................. 195
Specifying Users' Home IP Address (SetHomeIPString) ............................................................... 195
Retrieving Settings Level's or User Account's Allowed IP Address (GetLimitAccessByIP) ........... 195
Setting Allowed IP Address (SetLimitAccessByIP) ........................................................................ 196
Retrieving Number of Login Attempts Allowed (GetLimitLoginAttempts) .................................. 196
Specifying Number of Login Attempts Allowed (SetLimitLoginAttempts) ................................... 196
Viewing Anonymous Logins (GetAnonymousLogin) .................................................................... 196
Allowing or Prohibiting Anonymous Logins (SetAnonymousLogin) ............................................ 197
Command Settings Interface (ICICommandSettings) .................................................................... 197
Command Settings Interface Properties ............................................................................................ 198
Command Settings Interface Methods .............................................................................................. 199
Enabling a Custom Command (IsEnabled) ......................................................................................... 199
Retrieving or Changing the Name of a Custom Command (Name) ................................................... 200
Retrieving or Changing the Description of a Custom Command (Description) .................................. 200
Retrieving or Changing the Path to the Executable of a Custom Command (Executable) ................ 200
Retrieving or Changing Custom Command Parameters (Parameters) ............................................... 200
Redirecting Command Output to a Log (RedirectOutputToLog)........................................................ 201
Enabling a Time Limit for a Custom Command (EnableProcessTimeOut) ......................................... 201
Specifying the Time Limit for a Custom Command (ProcessTimeOut) .............................................. 201
Redirecting Command Output to Clients (RedirectOutputToClient) ................................................. 201
Viewing or Requiring Parameters for Custom Commands (RequireParams) ..................................... 202
Requiring a Minimum Number of Parameters for Custom Commands (MinNumOfParams) ........... 202
GlobalSCAPE COM API
xviii
Defining or Changing a Message for an Invalid Number of Command Parameters (MinNumOfParamsMsg)..................................................................................................................... 202
Retrieving a List of Users Allowed to Use a Custom Command (GetUserPermissions) ..................... 202
Listing Users Allowed to Use a Command (AddUserPermission) ....................................................... 203
Prohibiting Users from Using a Custom Command (RemoveUserPermission) .................................. 203
Specifying or Retrieving the Command Log Path (LogPath) ............................................................... 203
Certificate Information Interface (ICICertInfo) ............................................................................... 203
Certificate Information Interface ....................................................................................................... 204
Retrieving a Certificate ID (ID) ............................................................................................................ 205
Retrieving a Certificate Description (Description) .............................................................................. 205
Retrieving a Certificate Issuer's Organization (IssuerOrg) .................................................................. 205
Retrieving a Certificate Issuer's Unit (IssuerUnit) .............................................................................. 205
Retrieving a Certificate Issuer's Common Name (IssuerCName) ....................................................... 206
Retrieving a Certificate Issuer's Country (IssuerCountry) .................................................................. 206
Retrieving a Certificate Issuers Information (IssuerOneLine) ............................................................ 206
Retrieving a Certificate Subject's Organization (SubjectOrg) ............................................................. 206
Retrieving a Certificate Subject's Unit (SubjectUnit) .......................................................................... 206
Retrieving a Certificate Subject's Common Name (SubjectCName) .................................................. 207
Retrieving a Certificate Subject's Country (SubjectCountry) .............................................................. 207
Retrieving a Certificate Subject's Information (SubjectOneLine) ....................................................... 207
Retrieving a Certificate's Start Date (NotBefore) ............................................................................... 207
Retrieving a Certificate's Expiration Date (NotAfter) ......................................................................... 207
Event Rule Interfaces .......................................................................................................................... 207
Event Properties ................................................................................................................................. 208
Action Statement Interface ................................................................................................................ 210
Action Statements Interface............................................................................................................... 210
AS2 Send Action Parameters Interface .............................................................................................. 211
AS2 Send Action Parameters Interface (ICIAS2SendActionParams) ............................................ 211
Specifying or Retrieving the Path to the File to Send (LocalPath) ............................................... 212
Specifying or Retrieving whether a Certain AS2 Outbound Profile is to be Used (UseClientProfile) ..................................................................................................................................................... 212
Specifying or Retrieving Username whose AS2 Outbound Profile is Used for this AS2 Send Operation (ClientProfile) .............................................................................................................. 212
Table of Contents
xix
Specifying or Retrieving whether Source File will be Removed after Successful Delivery (DeleteSourceFile) ........................................................................................................................ 213
Specifying or Retrieving the Remote Host to which to Send the AS2 File (Host) ........................ 213
Specifying or Retrieving the Remote Port to Send the AS2 File (Port) ........................................ 214
Specifying or Retrieving the Path on AS2 Server to Send AS2 File (RemotePath) ....................... 214
Specifying or Retrieving Username for Authentication on AS2 Server (User) ............................. 214
Specifying or Retrieving Authentication Password for Authentication on the AS2 Server (Password) ................................................................................................................................... 215
Specifying or Retrieving AS2 Message Subject (Subject) ............................................................. 215
Specifying or Retrieving the Type of AS2 File to Send (ContentType) ......................................... 215
Specifying or Retrieving whether AS2 File will be Compressed before Sending (Compress) ...... 216
Specifying or Retrieving whether AS2 Message will be Encrypted with AS2 Partner Certificate (Encrypt) ....................................................................................................................................... 216
Specifying or Retrieving whether AS2 Message will be Signed with Site Certificate (Sign) ........ 216
Specifying or Retrieving Path to AS2 Partner Certificate (PartnerCertificatePath) ..................... 217
Specifying or Retrieving the AS2 ID of File Sender (AS2ID).......................................................... 217
Specifying or Retrieving the AS2 ID of the AS2 Partner to which you are Send an AS2 File (PartnerAS2ID) ............................................................................................................................. 217
Specifying or Retrieving Type of Receipt Required for AS2 Message (ReceiptPolicy) ................. 218
Specifying or Retrieving Mechanism of Receipt Delivery Required for AS2 Message (ReceiptDelivery) .......................................................................................................................... 218
Specifying or Retrieving the Timeout while Sending AS2 File (TimeoutSec) ............................... 218
Specifying or Retrieving the Maximum Amount of Sending Retries in the Case of Failure (RetriesCount) .............................................................................................................................. 219
Specifying or Retrieving the Interval between Sending Retries (RetryDelaySec) ........................ 219
Specifying or Retrieving Maximum Wait Time for Asynchronous AS2 Receipt (AsyncReceiptTimeoutMin) ......................................................................................................... 219
Automated Workflow Event Action Parameters Interface (AWTaskActionParams) ......................... 220
TaskName..................................................................................................................................... 220
Backup Action Parameters Interface (ICIBackupActionParams) ........................................................ 221
Folder ........................................................................................................................................... 221
Cleanup Action Parameters Interface (ICICleanupActionParams) ..................................................... 221
Clean-Up Action Parameters ........................................................................................................ 222
Retrieving or Changing the Period to Keep Files before Removing ............................................. 222
Retrieving or Changing Folder to Cleanup (Folder) ..................................................................... 223
GlobalSCAPE COM API
xx
Specifying whether to Cleanup All Subfolders Recursively (Recursive) ....................................... 223
Specifying whether to Remove or Exclude Files from Cleanup (ExcludeFileMask) ..................... 223
Retrieving or Changing Files to Remove (FileMask) .................................................................... 224
Command Action Parameters Interface (ICICommandActionParams) .............................................. 224
Retrieving or Changing Command to Execute (Command) ......................................................... 224
Retrieving or Changing Working Folder for Command (WorkingFolder) .................................... 225
Retrieving or Changing Parameters for Command (Parameters) ................................................ 225
Compound Condition Interface .......................................................................................................... 225
Download Action Parameters Interface Properties (ICIDownloadActionParams) ............................. 225
Event Action Interface ........................................................................................................................ 226
Event Actions Interface Methods ....................................................................................................... 226
Event Information Interface (ICIEventInfo) ........................................................................................ 226
Type Property............................................................................................................................... 226
Name Property ............................................................................................................................. 227
Event Rule Interface (ICIEventRule) ................................................................................................... 227
AddActionStatement Method...................................................................................................... 227
AddIfStatment Method ................................................................................................................ 227
DeleteStatement Method ............................................................................................................ 227
GetParams Method ...................................................................................................................... 227
SetParams method....................................................................................................................... 228
Statement Method ...................................................................................................................... 228
StatementsCount Method ........................................................................................................... 228
Event Rules Interface .......................................................................................................................... 228
Event Rule Parameters Interface ........................................................................................................ 228
Event Rule Statement Interface ......................................................................................................... 229
Folder Monitor Event Rule Parameters Interface (ICIFolderMonitorEventRuleParams) ................... 229
If Statement Interface ........................................................................................................................ 229
Mail Action Parameters Interface (ICIMailActionParams) ................................................................. 230
Send Notification E-Mail Action Parameters ............................................................................... 230
Retrieving or Changing Message Recipients ................................................................................ 231
Retrieving or Changing Message Subject ..................................................................................... 231
Retrieving or Changing the Message Body (Body) ....................................................................... 232
Determining whether to CC Message to Client Associated with Event ....................................... 232
Table of Contents
xxi
Overriding Default From Address in E-mail Actions (UseCustomFromAddress) ......................... 232
Defining or Retrieving a Custom From Address (CustomFromAddress)...................................... 233
OpenPGP Action Interface (ICIPgpActionParams) .............................................................................. 233
Retrieving or Changing File Path for OpenPGP Event Action (FilePath) ...................................... 234
Retrieving or Changing Keys to Encrypt/Decrypt Data (KeyIDs) .................................................. 234
In EFT Server 5.2 through 6.0.x ............................................................................................. 234
In EFT Server 6.1 .................................................................................................................... 234
Determining Operation for PGP Event Action (Operation).......................................................... 234
Retrieving or Changing the Passphrase for Signing or Decryption Key (Passphrase) .................. 235
Determining whether to Sign Encrypted Data (Sign) ................................................................... 235
Retrieving or Changing Key to Sign Encrypted Data (SignKeyID) ................................................. 236
Specifying or Retrieving PGP Action Output Encoded in Text Format (ASCIIArmoredOutput) ... 236
Specifying or Retrieving Compression Level for PGP Encryption Operation (CompressionLevel) ..................................................................................................................................................... 236
PGPCompressionLevel enumeration ........................................................................................... 237
Specifying or Retrieving whether Signature will be Placed in Separate File (SignatureInSeparateFile) ............................................................................................................ 237
Specifying or Retrieving Hash Algorithm for Signing (SigningHash) ............................................ 237
PGPSigningHash enumeration ..................................................................................................... 238
Specifying or Retrieving Password for SDA Operation (SDAPassword) ....................................... 238
OpenPGP Key Information Interface (ICIPGPKeyInfo) ........................................................................ 238
Retrieving the Name of the PGP Key (Name) .............................................................................. 238
Retrieving the Description of the PGP Key (Description)............................................................. 239
Retrieving the PGP Key Identifier (ID) .......................................................................................... 239
Retrieving whether this PGP Key Contains Private Key (Private) ................................................ 239
Retrieving the Size of the PGP Key (Size) ..................................................................................... 239
Retrieving Creation Date of the PGP Key (CreationDate) ............................................................ 239
Retrieving whether the PGP Key has Expiration Date (NeverExpires) ......................................... 240
Retrieving Expiration Date of PGP Key (ExpirationDate) ............................................................. 240
Report Action Parameters Interface .................................................................................................. 240
CustomDate ................................................................................................................................. 240
DateFormat .................................................................................................................................. 241
FilterAndOr .................................................................................................................................. 241
FilterField1 and FilterField2 ......................................................................................................... 241
GlobalSCAPE COM API
xxii
FilterOperator1 and FilterOperator2 ........................................................................................... 242
FilterValue1 and FilterValue2 ...................................................................................................... 242
FromDate ..................................................................................................................................... 242
Name ............................................................................................................................................ 242
OptionalParameters ..................................................................................................................... 242
Path .............................................................................................................................................. 242
Report .......................................................................................................................................... 243
ReportFileFormat ......................................................................................................................... 243
ToDate .......................................................................................................................................... 243
Simple Condition Interface ................................................................................................................. 243
Stop Action Parameters Interface ...................................................................................................... 244
Transfer Action Parameters Interface ................................................................................................ 244
Timer Event Rule Parameters Interface ............................................................................................. 244
Upload Action Parameters Interface Properties (ICIUploadActionParams) ...................................... 247
Report Information Interface (ICIReportInfo) .................................................................................... 247
Name Property ............................................................................................................................. 247
DefinitionPath Property ............................................................................................................... 248
SSH Key Information Interface (ICISSHKeyInfo) ................................................................................. 249
ID property ................................................................................................................................... 249
Name property ............................................................................................................................. 249
Fingerprint property .................................................................................................................... 249
Enumerators and Constants ............................................................................................................... 249
EventType .................................................................................................................................... 250
EventRuleStatementType ............................................................................................................ 251
EventActionType .......................................................................................................................... 251
ConditionOperator ....................................................................................................................... 251
LogicalOperator ........................................................................................................................... 252
Recurrence ................................................................................................................................... 252
PGPOperation .............................................................................................................................. 252
ServerModule .............................................................................................................................. 252
RegistrationState ......................................................................................................................... 252
PGPCompressionLevel ................................................................................................................. 253
PGPSigningHash ........................................................................................................................... 253
Table of Contents
xxiii
ReportPeriodType ........................................................................................................................ 253
PredefinedReportPeriod .............................................................................................................. 253
ReportFormat ............................................................................................................................... 254
ReportFilterOperator ................................................................................................................... 254
ReportFiltersCombiningOperator ................................................................................................ 254
AS2ContentType .......................................................................................................................... 254
AS2ReceiptPolicy .......................................................................................................................... 255
AS2ReceiptDelivery ...................................................................................................................... 255
AutobanSensitivity ....................................................................................................................... 255
Index ...................................................................................................................................................... 256
25
USING THE COM APPLICATION PROGRAMMING INTERFACE
Performing complex yet repetitive administrative tasks over a large enterprise can be very time consuming in a user interface. With scripting, you can automate tasks to save time and avoid user error. In 2004, GlobalSCAPE added a COM Application Programming Interface (API) to Secure FTP Server. Later that same year, COM API support was included in the first release of EFT Server. With this COM API support, you can interact with GlobalSCAPE's server products directly from your own custom applications using any COM-enabled programming language with the integrated development environment (IDE) of your choice. To create a new script file or program, you must have familiarity with programming concepts and, ideally, some experience with a COM-enabled programming language. This guide assumes you know how to create and execute a script and simply provides descriptions of the classes, methods, and properties in the GlobalSCAPE Server COM API. Few examples are provided; if you need assistance creating scripts, GlobalSCAPE Professional Services can create custom scripts for you.
Be sure to heavily document/comment your script. Adding descriptive comments to your script now will remind you and others of the purpose of the script, and makes it easier to borrow sections of script to use later in other scripts. A year from now, when you don't even remember writing the script, you'll be glad you added comments.
To find the interface, method, or property that you need to use in your script
Look in the table of contents, which lists actions you might want to perform (e.g., Retrieving the File Path for Certificates (GetCertFilePath))
Use the Search feature in help or the PDF to locate words or phrases within the content of the topics. (e.g., "certificate" yields ~50 topics; "certificate country" yields ~12 topics)
Look in the Index tab of the help, which provides an alphabetical listing of every method and property in the COM API. (e.g., GetCertFilePath, GetChangePwd, GetCheckClientCert)
This guide is intended as a supplement to the EFT Server/Secure FTP Server user guides. For an understanding of the concepts in this supplement, please refer to those guides.
THE SFTPCOMINTERFACE.CISERVER CLASS The SFTPCOMInterface.CIServer class is the class that an application can use directly. To start using the SFTP COM interface, you create the SFTPCOMInterface.CIServer class object, and then apply the methods and properties in the object.
For example: Set SFTPServer = CreateObject("SFTPCOMInterface.CIServer")
CIServer implements the ICIServer interface.
For script examples, refer to Creating Scripts.
Refer to the following Web sites for helpful information regarding scripting:
VBScript Run-time Errors - Reference of run-time errors.
VBScript Syntax Errors - Reference of syntax errors
Microsoft Windows Script Technologies - Lists the Windows script technologies and describes the functionality included in each technology.
For an alphabetized list of every interface, method, property, enumeration, and constant, refer to the Index.
GlobalSCAPE COM API
26
Available Interfaces
Server Interface (ICIServer) - Use the ICIServer interface to access and manage the Server and its attributes.
Multiple Sites Interface (ICISites) - Use the ICISites interface to list all Sites, to add Sites, and to find individual Sites on the Server. It can be obtained by using the Sites method of the ICIServer interface.
Single-Site Interface (ICISite) - Use the ICISite interface to manage individual Sites on the server. It can be obtained by using the Item and SiteByID methods of the ICISites interface.
For example: Set Site = Sites.Item(0)
Permissions Interface Properties - Use the IPermission interface to set and manage folder permissions. Use ICISite::GetFolderPermissions to get folder permissions.
Audit Interface Methods - Use the ICIAudit interface to log a Secure Ad Hoc Transfer (SAT) email, file, or transaction. Use ICIServer Auditor to retrieve the Audit interface.
Client Settings Interface (ICIClientSettings) - Use the ICIClientSettings interface to manage client user or client group settings. Use ICISite::GetSettingsLevelSettings for group and ICISite::GetUserSettings for client.
Command Settings Interface (ICICommandSettings) - Use the ICICommandSettings interface to create or manage Site custom commands. Use ICISite::GetCommandSettings to access the interface.
Certificate Information Interface (ICICertInfo) - Use the ICICertInfo interface to obtain information about certificates. Use ICISite::GetTrustedCertificateInfo or ICISite::GetPendingCertificateInfo to access the interface.
Event Rule Interfaces - (EFT Server 5.2 and later) Use the Event Rule interfaces to manage Event Rules and their Events, Actions, and Conditions.
Report Information Interface (ICIReportInfo) - (EFT Server 6.1) Use the ICIReportInfo interface to retrieve information about EFT Server reports.
SSH Key Information Interface (ICISSHKeyInfo) - (EFT Server 6.1) Use the ICISSHKeyInfo interface to retrieve information about EFT Server’s SSH public keys.
WHAT'S NEW IN THE COM API?
Methods, properties, parameters, and enumerators that were added, modified, or removed are listed in the tables below. Refer to the specific method, property, parameter, or enumeration topic for more information.
MODIFIED The following enumerations were modified:
Enumeration How it's used
EventActionType enumeration Enumerators and Constants
PGPOperation enumeration
ICISITES INTERFACE
Methods and Properties How It's Used
Add Adding a Site (Add)
AddADSite Adding an Active Directory Authenticated Site (AddADSite)
AddLDAPSite Adding an LDAP Site (AddLDAPSite)
What's New in the COM API
27
Methods and Properties How It's Used
AddLocalSite Adding a Local Site (AddLocalSite)
AddNTLMSite Adding an NT Authenticated Site (AddNTLMSite)
AddODBCSite Adding an ODBC-Authenticated Site (AddODBCSite)
Item Retrieving a Site's COM Interface by Site Number (Item)
ICISITE INTERFACE
Methods and Properties How It's Used
AddCertificateToTrusted Adding a Pending Certificate to the Trusted List (AddCerficateToTrusted)
IsStarted Determining if a Site is Started (IsStarted)
ICICLIENTSETTINGS INTERFACE
The first output parameter (“Is inherited”) type of multiple ICIClientSettings “Get” methods was changed from Boolean to VARIANT. This provides the possibility of using this parameter in VBS which does not allows output parameters of non-variant types.
Methods and Properties How It's Used
GetAllowAnyPwd Determining if Users Can Create Any Password (GetAllowAnyPwd)
GetAllowMODEZ Determining if ModeZ is Allowed (GetAllowMODEZ)
GetAllowNoop Determining if the NOOP Command is Allowed (GetAllowNoop)
GetAllowXCRC Determining if the XCRC Command is Allowed (GetAllowXCRC)
GetAppletEnabled Determining Web Transfer Client Access (GetAppletEnabled)
GetChangePwd Determining if Users are Allowed to Change their Passwords (GetChangePwd)
GetClearFTP Determining if Plain FTP Access is Allowed (GetClearFTP)
GetClearHTTP Determining if Plain HTTP Access is Allowed (GetClearHTTP)
GetDownloadsPerSession Retrieving a Download per Session Limit (GetDownloadsPerSession)
GetEnableAccount Determining if a User Account or User Settings Level is Enabled (GetEnableAccount)
GetEnableTimeOut Determining if a User Can be Timed Out (GetEnableTimeOut)
GetEnableDiskQuota Determining if an Account has a Disk Quota (GetEnableDiskQuota)
GetFTPS Viewing if FTPS is Enabled for a Client (GetFTPS)
GlobalSCAPE COM API
28
Methods and Properties How It's Used
GetHasDownloadsPerSession Determining if a User has a Download per Session Limit (GetHasDownloadsPerSession)
GetHasMaxDownloadSize Determining if a User has a Download Size Limit (GetHasMaxDownloadSize)
GetHasMaxIPs Determining for an IP Connection Limit (GetHasMaxIPs)
GetHasMaxSpeed Determining the Maximum Allowed Transfer Speed (GetMaxSpeed)
GetHasMaxUploadSize Retrieving a User's Upload Size Limit (GetMaxUploadSize)
GetHasMaxUsers Determining if the Number of Concurrent Connections is Limited for Users (GetHasMaxUsers)
GetHasPwdRetries Determining Failed Password Limit (GetHasPwdRetries)
GetHasUploadsPerSession Determining if a User has an Upload per Session Limit (GetHasUploadsPerSession)
GetHomeDir Determining if Users Can Have a Home Folder (GetHomeDir)
GetHomeDirIsRoot Determining if the Account Home Folder is the Default Root Folder (GetHomeDirIsRoot)
GetHTTPS Viewing if HTTPS is Enabled for a Client (GetHTTPS)
GetIncorrectPasswordAttempts Determining the Number of Failed Password Attempts (GetIncorrectPasswordAttempts)
GetLimitLoginAttempts Retrieving Number of Login Attempts Allowed (GetLimitLoginAttempts)
GetLockoutNotDisable Viewing Whether Account Lockout is Enabled for a User (GetLockoutNotDisable)
GetLoginMsg Determining How Users' Login Message is Defined (GetLoginMsg)
GetMaxDownloadSize Retrieving a User's Download Size Limit (GetMaxDownloadSize)
GetMaxIPs Determining Number of Connections Allowed from the Same IP Address (GetMaxIPs)
GetMaxSpace Determining the Disk Quota Size (GetMaxSpace)
GetMaxSpeed Determining the Maximum Allowed Transfer Speed (GetMaxSpeed)
GetMaxUploadSize Retrieving a User's Upload Size Limit (GetMaxUploadSize)
GetMaxUsers Determining the Maximum Concurrent Connections Allowed per User (GetMaxUsers)
GetPwdRetries Retrieving the Failed Password Limit (GetPwdRetries)
What's New in the COM API
29
Methods and Properties How It's Used
GetSFTP Viewing if SFTP Access is Enabled for a Client (GetSFTP)
GetSftpAuthenticationType Identifying the SFTP Authentication Type (GetSFTPAuthenticationType)
GetSSHKeyID Retrieving the SFTP (SSH) Certificate ID (GetSSHKeyID)
GetTimeOut Determining How Long a Connection can be Inactive (GetTimeOut)
GetUploadsPerSession Retrieving a User's Upload per Session Limit (GetUploadsPerSession)
GetUsedSpace Determining How Much Disk Space a User has Used (GetUsedSpace)
GetSSLAuthenticationType Identifying the SSL Authentication Type (GetSSLAuthenticationType)
GetSSLKeyID Identifying the SSL Key ID (GetSSLKeyID)
SetHomeDir Allowing Users to Have a Home Folder (SetHomeDir)
SetIncorrectPasswordAttempts Specifying the Number of Incorrect Password Attempts (SetIncorrectPasswordAttempts)
SetLockoutNotDisable Setting Account Lockout for a User (SetLockoutNotDisable)
ICIEVENTRULE INTERFACE
Methods How it's used
GetParams Event Rule Interface (ICIEventRule)
SetParams
AddIfStatement
ICIEVENTACTION INTERFACE
Methods How it's used
GetParams Event Action Interface Properties (ICIEventAction)
SetParams
ICIIFSTATEMENT INTERFACE
Properties and Methods How it's used
IfSection If Statement Interface (ICIIfStatement )
ElseSection
Condition
GlobalSCAPE COM API
30
ICIPGPACTIONPARAMS INTERFACE
Properties and Methods How it's used
Sign Determining whether to Sign Encrypted Data (Sign)
KeyIDs Retrieving or Changing Keys to Encrypt/Decrypt Data (KeyIDs)
ICIREPORTACTIONPARAMS INTERFACE
Properties and Methods How it's used
CustomDate Report Action Parameters Interface (ICIReportActionParams)
DateFormat
FilterAndOr
FilterOperator1 and FilterOperator2
ReportFileFormat
ADDED The following methods, properties, and parameters were added.
AS2 SEND ACTION PARAMETERS INTERFACE (ICIAS2SENDACTIONPARAMS)
Parameter How it's used
LocalPath Specifying or Retrieving the Path to the File to Send
UseClientProfile Specifying or Retrieving whether a Certain AS2 Outbound Profile is to be Used
ClientProfile Specifying or Retrieving Username whose AS2 Outbound Profile is Used for this AS2 Send Operation
DeleteSourceFile Specifying or Retrieving whether Source File will be Removed after Successful Delivery
Host Specifying or Retrieving the Remote Host to which to Send the AS2 File
Port Specifying or Retrieving the Remote Port to Send the AS2 File
RemotePath Specifying or Retrieving the Path on AS2 Server to Send AS2 File
User Specifying or Retrieving Username for Authentication on AS2 Server
Password Specifying or Retrieving Authentication Password for Authentication on the AS2 Server
Subject Specifying or Retrieving AS2 Message Subject
ContentType Specifying or Retrieving the Type of AS2 File to Send
Compress Specifying or Retrieving whether AS2 File will be Compressed before Sending
What's New in the COM API
31
Parameter How it's used
Encrypt Specifying or Retrieving whether AS2 Message will be Encrypted with AS2 Partner Certificate
Sign Specifying or Retrieving whether AS2 Message will be Signed with Site Certificate
PartnerCertificatePath Specifying or Retrieving Path to AS2 Partner Certificate
AS2ID Specifying or Retrieving the AS2 ID of File Sender
PartnerAS2ID Specifying or Retrieving the AS2 ID of the AS2 Partner to which you are Send an AS2 File
ReceiptPolicy Specifying or Retrieving Type of Receipt Required for AS2 Message
ReceiptDelivery Specifying or Retrieving Mechanism of Receipt Delivery Required for AS2 Message
TimeoutSec Specifying or Retrieving the Timeout while Sending AS2 File
RetriesCount Specifying or Retrieving the Maximum Amount of Sending Retries in the Case of Failure
RetryDelaySec Specifying or Retrieving the Interval between Sending Retries
AsyncReceiptTimeoutMin Specifying or Retrieving Maximum Wait Time for Asynchronous AS2 Receipt
AUTOMATED WORKFLOW TASK EVENT ACTION PARAMETERS (AWTASKACTIONPARAMS)
Property How it's used
TaskName Automated Workflow Task Event Action Parameters Interface (AWTaskActionParams)
BACKUP ACTION PARAMETERS (ICIBACKUPACTIONPARAMS)
Property How it's used
Folder Backup Action Parameters (ICIBackupActionParams)
CLIENT SETTINGS INTERFACE
Methods How it's used
GetLimitAccessByIP Retrieving Allowed IP Address (GetLimitAccessByIP)
IsActivityPeriodLimited Determining whether a User Account's Inactivity Period is Limited (IsActivityPeriodLimited)
IsPasswordAgeLimited Determining if or when Account Password is to Expire (IsPasswordAgeLimited)
SetLimitAccessByIP Setting Allowed IP Address (SetLimitAccessByIP)
GlobalSCAPE COM API
32
ICICOMMANDSETTINGS INTERFACE
Property How it's used
LogPath Specifying or Retrieving the Command Log Path (LogPath)
EVENT INFORMATION INTERFACE PROPERTIES (ICIEVENTINFO)
Property How it's used
Name Event Information Interface
Type
ICIPGPACTIONPARAMS INTERFACE
Properties and Methods How it's used
ASCIIArmoredOutput Specifying or Retrieving PGP Action Output Encoded in Text Format (ASCIIArmoredOutput)
CompressionLevel Specifying or Retrieving Compression Level for PGP Encryption Operation (CompressionLevel)
SignatureInSeparateFile Specifying or Retrieving whether Signature will be Placed in Separate File (SignatureInSeparateFile)
SigningHash Specifying or Retrieving Hash Algorithm for Signing (SigningHash)
SDAPassword Specifying or Retrieving Password for SDA Operation
REPORT INFORMATION INTERFACE PROPERTIES (ICIREPORTINFO)
Property How it's used
Name Report Information Interface
DefinitionPath
SERVER INTERFACE METHODS AND PROPERTIES (ICISERVER)
Properties and Methods How It's Used
AvailableEvents Retrieving a List of Available Events
AvailablePGPKeys Retrieving a List of EFT Server's PGP Keys
AvailableReports Retrieving a List of Available Reports
GenerateReport Generating an EFT Server Report (GenerateReport)
AvailableSSHKeys Retrieving List of Available SSH Keys (AvailableSSHKeys)
ImportSSHKey Importing an SSH Public Key (ImportSSHKey)
ModuleRegistrationState Retrieving the Registration status of an EFT Server Module (ModuleRegistrationState)
What's New in the COM API
33
Properties and Methods How It's Used
RemoveSSHKey Removing an SSH Public Key from EFT Server (RemoveSSHKey)
SetSSLCertificate Specifying SSL Certificate for Administrator Connections (SetSSLCertificate)
SITE INTERFACE METHODS AND PROPERTIES (ICISITE)
Properties and Methods How It's Used
AutobanSensitivity Retrieving or Specifying the Auto-Ban Sensitivity (AutobanSensitivity)
SetSSLCertificate Specifying the SSL Certificate for a Site (SetSSLCertificate)
REMOVED The following methods were removed.
CLIENT SETTINGS INTERFACE METHODS (ICICLIENTSETTINGS)
Method How It's Used
GetAllowAnyPwd Determining if Users Can Create Any Password (GetAllowAnyPwd)
GetAnonymousLogin Viewing Anonymous Logins (GetAnonymousLogin)
GetHomeIP Determining if Users are Restricted to a Specific IP Address (GetHomeIP)
GetHomeIPString Retrieving Users' Home IP Address (GetHomeIPString)
SetAllowAnyPwd Allowing Users to Create Any Password (SetAllowAnyPwd)
SetAnonymousLogin Allowing or Prohibiting Anonymous Logins (SetAnonymousLogin)
SetHomeIP Restricting Users to a Specific IP Address (SetHomeIP)
SetHomeIPString Specifying Users' Home IP Address (SetHomeIPString)
SetIncorrectPasswordAttempts Specifying the Number of Incorrect Password Attempts (SetIncorrectPasswordAttempts)
EVENT RULE INTERFACE (ICIEVENTRULE)
Property How It's Used
Params Event Rule Interface (ICIEventRule)
EVENT ACTION INTERFACE (ICIEVENTACTION)
Property How It's Used
Params Event Action Interface Properties (ICIEventAction)
GlobalSCAPE COM API
34
PGP ACTION PARAMETERS INTERFACE (ICIPGPACTIONPARAMS)
Property How It's Used
Sign Determining whether to Sign Encrypted Data (Sign)
REPORT ACTION INTERFACE (ICIREPORTACTIONPARAMS)
Property How It's Used
Name Report Action Parameters Interface (ICIReportActionParams)
Path
SERVER INTERFACE METHODS (ICISERVER)
Method How It's Used
AreLingeringTransactions Determining if Lingering Transactions Exist
IsDBConnected Determining if Server is Connected to the ARM Database
TIMER EVENT RULE PARAMETERS INTERFACE (CITIMEREVENTRULEPARAMS)
Method How It's Used
LastPremature Timer Event Rule Parameters Interface (ICITimerEventRuleParams)
LastTime
35
LIST OF METHODS, PROPERTIES, ENUMERATORS, AND CONSTANTS
The tables below list each of the methods, properties, enumerators, and constants used in Secure FTP Server, EFT Server, and EFT Server Enterprise. The Applicable Version column indicates in which product and version number the method/property/enumeration/constant is available. In most cases, the method, property, enumeration, or constant applies to both EFT Server and Secure FTP Server, all versions.
For an alphabetized list, refer to the Index.
SERVER INTERFACE PROPERTIES (ICISERVER)
Property How It's Used Applicable Version
AdminPort Editing the Administrator Port All versions
AllowClearCommandChannel Allowing a Clear Command Channel on the Server EFT Server 5.0.1 and later
AllowRemoteAdministration Allowing Remote Administration All versions
AllowUnprotectedDataChannel Allowing an Unprotected Data Channel on the Server EFT Server 5.0.1 and later
ARMDatabaseName Editing the ARM Database Name Secure FTP Server 3.3
ARMPassword Editing the ARM Password Secure FTP Server 3.3
ARMServerName Editing the ARM Server Name Secure FTP Server 3.3
ARMUserName Editing the ARM Username
Secure FTP Server 3.3
AvailableEvents Retrieving a List of Available Events
EFT Server 6.1 and later
AvailablePGPKeys Retrieving a List of EFT Server's PGP Keys
EFT Server 6.1 and later
AvailableReports Retrieving a List of Available Reports
EFT Server 6.1 and later
AvailableSSHKeys Retrieving List of Available SSH Keys
EFT Server 6.1 and later
CertificateFilePath Editing the File Path for Certificates All versions
CipherList Editing the Cipher List EFT Server 5.0.1 and later
ConnectedUsersNumber Retrieving the Number of Connected Users EFT Server 3.5.1 and later
EnableARM Enabling Auditing and Reporting All versions
GlobalSCAPE COM API
36
Property How It's Used Applicable Version
GenerateReport Generating an EFT Server Report (GenerateReport)
EFT Server 6.1 and later
ImportSSHKey Importing an SSH Public Key (ImportSSHKey)
EFT Server 6.1 and later
IPAccessAllowedDefault Finding or Setting the Default IP Access Mode All versions
KeyFilePath Editing the File Path for Private Key Files All versions
ListenIP Editing the Server Administrator IP Address All versions
LogPath Editing the Server Log Path All versions
LogRotation Rotating Logs All versions
LogType Editing the Server Log Type All versions
ModuleRegistrationState Retrieving the Registration status of an EFT Server Module (ModuleRegistrationState)
EFT Server 6.1 and later
PassPhrase Editing Private Key Passphrases All versions
RemoveSSHKey Removing an SSH Public Key from EFT Server (RemoveSSHKey)
EFT Server 6.1 and later
SetSSLCertificate Specifying SSL Certificate for Administrator Connections (SetSSLCertificate)
EFT Server 6.1 and later
SMTPLogin Editing the Email User Name All versions
SMTPPassword Editing the Email Password All versions
SMTPPort Editing the Mail Server Port All versions
SMTPRecipientAddr Choosing Email Receiver Addresses All versions
SMTPRecipientName Choosing Email Receiver Names All versions
SMTPSenderAddr Choosing the From Address in Server Emails All versions
SMTPSenderName Choosing the Server Email Sender Name All versions
SMTPServer Editing the Mail Server Address All versions
SSLVersionMask Retrieving or Setting the SSL Version Mask EFT Server 5.0.1 and later
UseSSLForAdministration Requiring SSL for Remote Administration All versions
SERVER INTERFACE METHODS (ICISERVER)
Method How It's Used Applicable Version
AddIPAccessRule Adding an IP Mask All versions
ApplyChanges Applying Changes to the Server Versions prior to EFT Server 5.0
List of Methods, Properties, Enumerations, and Constants
37
Method How It's Used Applicable Version
AreLingeringTransactions Determining if Lingering Transactions Exist
EFT Server 5.2 and later
Auditor Retrieving the Audit Interface (Auditor)
EFT Server 6.0 and later
ChangeAdminPassword Changing the Administrator Password EFT Server 4.3.4 and later
Close Closing the Administrator Connection to the Server All versions
Connect Connecting to the Server as an Administrator All versions
GenerateReport Generating an EFT Server Report
EFT Server 6.1 and later
GetAdminIPs Retrieving a List of Administrator IP Addresses EFT Server 4.3.4 and later
GetAllowedMasks Retrieving Allowed IP Address Masks All versions
GetDeniedMasks Retrieving Denied IP Address Masks All versions
GetLocalIP Retrieving the Local IP Address All versions
GetLocalTime Retrieving the Local Server Time All versions
GetServerAdminCount Retrieving the Number of Server Administrator Accounts on the Server
EFT Server 4.3.4 and later
ImportSSHKey Importing an SSH Public Key
EFT Server 6.1 and later
IsDBConnected Determining if Server is Connected to the ARM Database
EFT Server 5.2 and later
ModuleRegistrationState Retrieving the Registration status of an EFT Server Module
EFT Server 6.1 and later
RefreshSettings Refreshing Server Settings All versions
RemoveIPAccessRule Removing an IP Address Mask All versions
RemoveServerAdminAccount Removing a Server Administrator Account EFT Server 4.3.4 and later
RemoveSSHKey Removing an SSH Public Key from EFT Server
EFT Server 6.1 and later
SetSSLCertificate Specifying SSL Certificate for Administrator Connections
EFT Server 6.1 and later
Sites Retrieving a List of Server Sites All versions
GlobalSCAPE COM API
38
MULTIPLE SITES INTERFACE METHODS (ICISITES)
Method How It's Used Applicable Version
Add Adding a Site All versions
AddADSite Adding an Active Directory Authenticated Site All versions
AddLDAPSite Adding an LDAP Site EFT Server 4.3.4 and later
AddLocalSite Adding a Local Site All versions
AddNTLMSite Adding an NT-Authenticated Site All versions
AddODBCSite Adding an ODBC-Authenticated Site All versions
Count Retrieving the Number of Sites All versions
Item Retrieving a Site's COM Interface by Site Number All versions
SiteByID Retrieving a Site's COM Interface by Site ID All versions
SINGLE-SITE INTERFACE PROPERTIES (ICISITE)
Property How It's Used Applicable Version
AssignFullPermissionsForHomeFolder Setting the Grant Full Permissions Option All versions
AutoBanIPsPermanently Banning IP Addresses All versions
AutobanSensitivity Retrieving or Specifying the Auto-Ban Sensitivity
EFT Server version 6.1 and later
AutoCreateHomeFolder Setting the Auto Create Home Folder Option All versions
BanIPOnDOS Banning Connections from Specific IP Addresses All versions
BlockAntiTimeOut Blocking Anti-Timeout Schemes All versions
BlockSiteToSite Blocking Site-to-Site FTP All versions
ConnectMessage Editing the Server Connection Message All versions
DisconnectOnDOS Limiting Consecutive Invalid Commands All versions
DOSLimit Managing the Consecutive Invalid Commands Limit All versions
EnablePortRange Enabling a Range of Ports for PASV Connections All versions
ExitMessage Managing a Site's Exit Message All versions
HasMaxConcurrentLogins Retrieving Maximum Concurrent Logins Secure FTP Server
HasMaxConnectionsPerAccount Retrieving or Setting Number of Connections per User to a Site
All versions
HasMaxIPPerAccount Limiting Connections from the Same IP Address All versions
HasMaxSpeed Enabling or Disabling a Site's Maximum Transfer Speed
All versions
List of Methods, Properties, Enumerations, and Constants
39
Property How It's Used Applicable Version
HasMaxUsers Limiting Concurrent Connections to a Site All versions
ID Retrieving a Site's ID All versions
InvalidAttemptsPeriod Viewing Invalid Attempts Period for a Site
EFT Server 5.1.1 and later
IPAccessAllowedDefault Setting IP Addresses that have Access to a Site All versions
IsStarted Determining if a Site is Started All versions
LimitLoginAttempts Enabling Allowed Login Attempt Limit
EFT Server 5.1.1 and later
LockoutNotDisable Enabling Account Lockout EFT Server 5.1.1 and later
LockoutPeriod Viewing the Lockout Period for a Site
EFT Server 5.1.1 and later
MaxConcurrentConnections Retrieving or Setting Maximum Concurrent Connections
All versions
MaxConnectionsFromSameIP Managing Concurrent Connections Allowed from the Same IP Address
All versions
MaxConcurrentLogins Setting Maximum Concurrent Logins Secure Server, All versions
MaxConnectionsPerUser Retrieving or Setting a Site's User Connection Limit All versions
MaxInvalidLoginAttempts Viewing the Number of Invalid Login Attempts Allowed for a Site
EFT Server 5.1.1 and later
MaxTransferSpeed Retrieving or Setting Maximum Transfer Speed All versions
Name Retrieving a Site's Name All versions
ODBCSettings Retrieving ARM ODBC Settings EFT Server 4.3.4 and later
PASVListenIP Determining the IP Address for PASV Connections All versions
PASVPortMax Determining the High End of a PASV Mode Port Range
All versions
PASVPortMin Determining the Low End of a PASV Mode Port Range
All versions
SetSSLCertificate Specifying the SSL Certificate for a Site (SetSSLCertificate)
EFT Server 6.1 and later
UserLimitMessage Managing the User Limit Message All versions
VFSFilter Retrieving and Modifying a List of Banned File Types All versions
GlobalSCAPE COM API
40
SINGLE-SITE INTERFACE METHODS (ICISITE)
Method How It's Used Applicable Version
AddCerficateToTrusted Adding a Pending Certificate to the Trusted List
All versions
AddIPAccessRule Adding an IP Mask to a Site All versions
AddUserToPermissionGroup Adding a User to a Permission Group All versions
AssignEventRuleCustomCommandWorkingFolder Assigning the Event Rule Custom Command Working Folder
EFT Server 4.3.4 and later
CancelTransfer Cancelling an HTTPS Transfer EFT Server 4.3.4 and later
ChangeUserPassword Changing a User's Password All versions
CreateCommand Creating a New Custom Command All versions
CreateComplexPassword Creating a Complex Password for a User EFT Server 5.0.1 and later
CreatePermissionGroup Creating a Permissions Group All versions
CreatePhysicalFolder Creating a Physical Folder All versions
CreateSettingsLevel Creating a User Settings Level All versions
CreateUser and CreateUserEx Creating a User All versions
CreateVirtualFolder Creating a Virtual Folder All versions
DisableSFTP Enabling or Disabling SFTP on a Site
EFT Server 6.1 and later
EnableSFTP Enabling or Disabling SFTP on a Site
EFT Server 6.1 and later
EventRules Retrieving a List of Event Rules
EFT Server 5.2 and later
ExportTrustedCertificate Retrieving a Certificate's Data String All versions
ForceSynchronizeUserDatabase Synchronizing the User Database All versions
GetAllowedMasks Retrieving a List of Allowed IP Masks All versions
GetAuthManagerID Identifying the Authentication Manager for a Site
All versions
GetAwaitingCertsPath Retrieving the Path to Pending Certificates All versions
GetBlankPermission Creating Blank Permissions All versions
GetCertFilePath Retrieving the File Path for Certificates All versions
GetCheckClientCert Verifying if Client Certificates are Required All versions
GetCommands Retrieving a List of Custom Commands All versions
GetCommandSettings Retrieving a Custom Command's Settings All versions
List of Methods, Properties, Enumerations, and Constants
41
Method How It's Used Applicable Version
GetConnectedCount Retrieving the Number of Connected Users All versions
GetConnectedUsers Retrieving a List of Connected Users EFT Server 4.3.4 and later
GetDeniedMasks Retrieving a List of Denied IP Address Masks All versions
GetDownloadCount Retrieving the Number of Active Downloads All versions
GetDownloadSpeed Retrieving a Site's Download Speed All versions
GetFolderList Retrieving a List of Folders All versions
GetFolderPermissions Retrieving a List of Folder Permissions All versions
GetFTPAccess Verifying if FTP Access is Enabled for a Site All versions
GetHTTPAccess Verifying if HTTP is Enabled for a Site EFT Server 4.3.4 and later
GetHTTPPort Retrieving the HTTP Port for a Site EFT Server 4.3.4 and later
GetHTTPSAccess Verifying if HTTPS is Enabled for a Site EFT Server 4.3.4 and later
GetHTTPSPort Retrieving the HTTPS Port for a Site EFT Server 4.3.4 and later
GetIP Retrieving a Site's IP Address All versions
GetKeyFilePath Retrieving the File Path for Private Keys All versions
GetPassPhrase Retrieving Private Key Passphrases All versions
GetPendingCertificateInfo Retrieving Information for a Pending Certificate
All versions
GetPendingCertificates Retrieving a List of Pending Certificates All versions
GetPermissionGroupList Retrieving a List of Users of Specified Permission Groups
All versions
GetPermissionGroups Retrieving a List of Permission Groups on a Site
All versions
GetPermissionGroupsOfUser Retrieving a List of a User's Permission Groups All versions
GetPhysicalPath Retrieving the Physical Path to a Virtual Folder
EFT Server 5.2.5 and later
GetPort Retrieving a Site's Port Number All versions
GetRootFolder Retrieving a Site's Root Folder All versions
GetSettingsLevels Retrieving a List of User Settings Levels All versions
GetSettingsLevelSettings Retrieving a List of a Settings in a User Settings Level
All versions
GetSettingsLevelUsers Retrieving a List of Users in a User Settings Level
All versions
GlobalSCAPE COM API
42
Method How It's Used Applicable Version
GetSSHKeyFilePath Retrieving the SFTP (SSH) Certificate File Path
EFT Server 4.3.4 and later
GetSSLAuth Verifying if Explicit SSL is Enabled for a Site All versions
GetSSLImp Verifying if Implicit SSL is Enabled for a Site All versions
GetStartTime Retrieving the Site Start Time All versions
GetTrustedCertificateInfo Retrieving Information for a Trusted Certificate
All versions
GetTrustedCertificates Retrieving a List of Trusted Certificates All versions
GetTrustedCertsPath Retrieving the Path to Trusted Certificates All versions
GetUploadCount Retrieving the Number of Active Uploads All versions
GetUploadSpeed Retrieving a Site's Upload Speed All versions
GetUsers Retrieving a List of Users All versions
GetUserSettings Retrieving a User's Settings All versions
ImportTrustedCertificate Saving a Trusted Certificate to a File All versions
KickUser Forcing a User to Log Off of the Site EFT Server 4.3.4 and later
MoveUserToSettingsLevel Moving a User to a User Settings Level All versions
RemapVirtualFolder Remapping a Virtual Folder Path EFT Server 4.3.4 and later
Remove Deleting a Site All versions
RemoveCommand Deleting a Custom Command All versions
RemoveFolder Deleting a Folder All versions
RemoveIPAccessRule Removing an IP Address Mask from a Site All versions
RemovedPendingCertificate Deleting a Pending Certificate All versions
RemovePermission Removing Folder Permissions All versions
RemovePermissionGroup Deleting a Permission Group All versions
RemoveSettingsLevel Deleting a User Settings Level All versions
RemoveTrustedCertificate Deleting a Trusted Certificate All versions
RemoveUser Deleting a User All versions
RemoveUserFromPermissionGroup Deleting a User from a Permission Group All versions
RenameFolder Renaming a Folder All versions
RenamePermissionGroup Renaming a Permission Group All versions
RenameSettingsLevel Renaming a Settings Level All versions
RenameUser Renaming a User All versions
List of Methods, Properties, Enumerations, and Constants
43
Method How It's Used Applicable Version
SetCertFilePath Changing the Certificate File Path All versions
SetCheckClientCert Requiring User Certificates on Implicit SSL Sites
All versions
SetFTPAccess Enabling FTP Access to a Site All versions
SetHTTPAccess Enabling HTTP Access EFT Server 4.3.4 and later
SetHTTPPort Specifying the HTTP Port EFT Server 4.3.4 and later
SetHTTPSAccess Enabling HTTPS Access EFT Server 4.3.4 and later
SetHTTPSPort Specifying the HTTPS Port EFT Server 4.3.4 and later
SetIP Specifying a Site's IP Address All versions
SetKeyFilePath Changing the Private Key File Path All versions
SetPassPhrase Changing a Private Key Passphrase All versions
SetPermission Setting Folder Permissions All versions
SetPort Specifying a Site's Port Number All versions
SetRootFolder Specifying the Site's Root Folder All versions
SetSSHKeyFilePath Specifying the SFTP (SSH) Certificate File Path
EFT Server 4.3.4 and later
SetSSLAuth Allowing Explicit SSL Access to a Site All versions
SetSSLImp Allowing Implicit SSL Access to a Site All versions
Start Starting a Site All versions
Stop Stopping Site All versions
ValidatePassword Validating a User's Password EFT Server 3.5.1 and later
PERMISSION INTERFACE PROPERTIES (ICIPERMISSION)
Property How It's Used Applicable Version
Client Retrieving a Client or Permission Group Name All versions
DirCreate Granting Folder Creation Permission All versions
DirDelete Granting Folder Deletion Permission All versions
DirList Granting Permission to View a List of Folder Contents All versions
DirShowHidden Showing Hidden Files All versions
DirShowInList Showing or Hiding Folders All versions
GlobalSCAPE COM API
44
Property How It's Used Applicable Version
DirShowReadOnly Showing Read-Only Files All versions
FileAppend Granting Append File Permission All versions
FileDelete Granting Delete Permission All versions
FileDownload Granting Download Permission All versions
FileRename Granting Rename Permission All versions
FileUpload Granting Upload Permission All versions
Folder Retrieving a Folder Name All versions
CLIENT SETTINGS INTERFACE PROPERTIES (ICICLIENTSETTINGS)
Property How It's Used Applicable Version
Comment Viewing User Properties - Comments All versions
Custom Viewing User Properties - Custom1, Custom2, Custom3
EFT Server v5.0.1 and later
Email Viewing User Properties - Email All versions
Fax Viewing User Properties - Fax All versions
FullName Viewing User Properties - Full Name All versions
InvalidAttemptsPeriod Viewing Invalid Attempts Period for a User
EFT Server 5.1.1 and later
IPAccessAllowedDefault IP addresses with which a user is allowed to connect to the Server
EFT Server 5.1.1 and later
LockoutPeriod Viewing a User's Lockout Period
EFT Server 5.1.1 and later
MaxInvalidLoginAttempts Viewing the Number of Invalid Login Attempts Allowed for a Client
EFT Server 5.1.1 and later
Pager Viewing User Properties - Pager All versions
Phone Viewing User Properties - Phone All versions
CLIENT SETTINGS INTERFACE METHODS (ICICLIENTSETTINGS)
Method How It's Used Applicable Version
AddIPAccessRule Adding an IP Access IP Mask for a Client EFT Server 5.1.1 and later
ForcePasswordChange Forcing a User to Change Password on Login EFT Server 6.0 and later
GetAllowAnyPwd Determining if Users Can Create Any Password All versions
List of Methods, Properties, Enumerations, and Constants
45
Method How It's Used Applicable Version
GetAllowedMasks Retrieving Allowed IP Masks for a User EFT Server 5.1.1 and later
GetAllowMODEZ Determining if ModeZ is Allowed All versions
GetAllowNoop Determining if the NOOP Command is Allowed All versions
GetAllowXCRC Determining if the XCRC Command is Allowed All versions
GetAnonymousLogin Viewing Anonymous Logins All versions
GetAppletEnabled Determining Web Transfer Client Access EFT Server 3.5.1 and later
GetChangePwd Determining if Users are Allowed to Change their Passwords
All versions
GetClearFTP Determining if Plain FTP Access is Allowed All versions
GetClearHTTP Determining if Plain HTTP Access is Allowed EFT Server 4.3.4 and EFT Server 5.1
GetDeniedMasks Retrieving Denied IP Mask for a User EFT Server 5.1.1 and later
GetDescription Retrieving a User's Description All versions
GetDownloadsPerSession Retrieving a Download per Session Limit All versions
GetEnableAccount Determining if a User Account or User Settings Level is Enabled
All versions
GetEnableDiskQuota Determining if an Account has a Disk Quota All versions
GetEnableTimeOut Determining if a User Can be Timed Out All versions
GetExpirationDate Determining the Expiration Date for a User Account All versions
GetExpirationDateAsVariant Determining the Expiration Date for a User Account EFT Server 4.3.4 and later
GetFTPS Viewing if FTPS is Enabled for a Client (GetFTPS) EFT Server 6.0 and later
GetHasDownloadsPerSession Determining if a User has a Download per Session Limit All versions
GetHasMaxDownloadSize Determining if a User has a Download Size Limit All versions
GetHasMaxIPs Determining for an IP Connection Limit All versions
GetHasMaxSpeed Determining if a User has a Transfer Speed Limit All versions
GetHasMaxUploadSize Determining if a User has an Upload Size Limit All versions
GetHasMaxUsers Determining if the Number of Concurrent Connections is Limited for Users
All versions
GetHasPwdRetries Determining Failed Password Limit All versions
GetHasUploadsPerSession Determining if a User has an Upload per Session Limit All versions
GlobalSCAPE COM API
46
Method How It's Used Applicable Version
GetHomeDir Determining if Users Can Have a Home Folder All versions
GetHomeDirIsRoot Determining if the Account Home Folder is the Default Root Folder
All versions
GetHomeDirString Retrieving Users' Home Folders All versions
GetHTTPS Viewing if HTTPS is Enabled for a Client (GetHTTPS) EFT Server 6.0 and later
GetIncorrectPasswordAttempts Determining the Number of Failed Password Attempts All versions
GetLimitAccessByIP Retrieving Allowed IP Address EFT Server 6.1 and later
GetLimitLoginAttempts Retrieving Number of Login Attempts Allowed EFT Server 5.1.1 and later
GetLockoutNotDisable Viewing Whether Account Lockout is Enabled for a User EFT Server 5.1.1 and later
GetLoginMsg Determining How Users' Login Message is Defined All versions
GetLoginMsgString Retrieving the Login Message All versions
GetMaxDownloadSize Retrieving a User's Download Size Limit All versions
GetMaxIPs Determining Number of Connections Allowed from the Same IP Address
All versions
GetMaxSpace Determining the Disk Quota Size All versions
GetMaxSpeed Determining the Maximum Allowed Transfer Speed All versions
GetMaxUploadSize Retrieving a User's Upload Size Limit All versions
GetMaxUsers Determining the Maximum Concurrent Connections Allowed per User
All versions
GetPwdRetries Retrieving the Failed Password Limit All versions
GetSFTP Viewing if SFTP Access is Enabled for a Client All versions
GetSFTPAuthenticationType Identifying the SFTP Authentication Type All versions
GetSSHKeyID Retrieving the SFTP (SSH) Certificate ID All versions
GetSSL Determining if SSL Access is Allowed All versions
GetSSLAuthenticationType Identifying the SSL Authentication Type EFT Server 5.1 and later
GetSSLKeyID Identifying the SSL Key ID EFT Server 5.1 and later
GetTimeOut Determining How Long a Connection can be Inactive All versions
GetUploadsPerSession Retrieving a User's Upload per Session Limit All versions
GetUsedSpace Determining How Much Disk Space a User has Used All versions
List of Methods, Properties, Enumerations, and Constants
47
Method How It's Used Applicable Version
IsActivityPeriodLimited Determining whether a User Account's Inactivity Period is Limited
EFT Server 6.1 and later
IsPasswordAgeLimited Determining if or when Account Password is to Expire EFT Server 6.1 and later
RemoveIPAccessRule Removing an IP Access Mask for User EFT Server 5.1.1 and later
SetAllowAnyPwd Allowing Users to Create Any Password All versions
SetAllowMODEZ Allowing MODE Z Compression All versions
SetAllowNoop Allowing the NOOP Command All versions
SetAllowXCRC Allowing the XCRC Command All versions
SetAnonymousLogin Allowing or Prohibiting Anonymous Logins All versions
SetAppletEnabled Specifying Web Transfer Client Access EFT Server 3.5.1 and later
SetChangePwd Allowing Users to Change their Passwords All versions
SetClearFTP Allowing Users Plain FTP Connections All versions
SetClearHTTP Allowing Users to Connect Using Clear HTTP EFT Server 4.3.4 and EFT Server 5.1 and later
SetDescription Specifying a User Description All versions
SetDownloadsPerSession Specifying the Maximum Number of Downloads a User is Permitted per Session
All versions
SetEnableAccount Enabling a User Account or User Settings Level All versions
SetEnableDiskQuota Limiting a User's Disk Space All versions
SetEnableTimeOut Enabling Connection Timeout All versions
SetExpirationDate Setting the Expiration Date for a User Account All versions
SetHasDownloadsPerSession Enabling a User's Downloads-per-Session Limit All versions
SetHasMaxDownloadSize Enabling a User's Download Size Limit All versions
SetHasMaxIPs Enabling an IP Address Connection Limit All versions
SetHasMaxSpeed Enabling the Transfer Speed Limit All versions
SetHasMaxUploadSize Enabling a User's Upload Size Limit All versions
SetHasMaxUsers Enabling a User's Connection Limit All versions
SetHasPwdRetries Limiting Failed Password Attempts All versions
SetHasUploadsPerSession Enabling a User's Uploads-per-Session Limit All versions
SetHomeDir Allowing Users to Have a Home Folder All versions
SetHomeDirIsRoot Setting the Default Root Folder All versions
GlobalSCAPE COM API
48
Method How It's Used Applicable Version
SetHomeDirString Specifying the Path to Users' Home Folders All versions
SetIncorrectPasswordAttempts Specifying the Number of Incorrect Password Attempts All versions prior to 6.1
SetLimitAccessByIP Setting Allowed IP Address EFT Server 6.1 and later
SetLimitLoginAttempts Specifying Number of Login Attempts Allowed EFT Server 5.1.1 and later
SetLockoutNotDisable Enabling Account Lockout for a User EFT Server 5.1.1 and later
SetLoginMsg Specifying the Login Message Used All versions
SetLoginMsgString Creating a Login Message All versions
SetMaxDownloadSize Specifying the Maximum File Size a User is Permitted to Download
All versions
SetMaxIPs Specifying the Maximum Connections for IP Addresses All versions
SetMaxSpace Specifying a User's Disk Quota All versions
SetMaxSpeed Specifying the Maximum Allowed Transfer Speed All versions
SetMaxUploadSize Specifying the Maximum File Size a User is Permitted to Upload
All versions
SetMaxUsers Specifying the Maximum Connections Allowed per User All versions
SetPwdRetries Specifying the Failed Password Limit All versions
SetSFTP Allowing SFTP Access for a Client All versions
SetSftpAuthenticationType Specifying the SFTP Authentication Type for the Client All versions
SetSSHKeyID Specifying the SFTP (SSH) Certificate ID All versions
SetSSL Allowing Users SSL Connections All versions
SetSSLAuthenticationType Specifying the SSL Authentication Type EFT Server 5.1 and later
SetSSLKeyID Specifying the SSL Key ID EFT Server 5.1 and later
SetTimeOut Specifying the Timeout Value All versions
SetUploadsPerSession Specifying the Maximum Number of Uploads a User is Permitted per Session
All versions
List of Methods, Properties, Enumerations, and Constants
49
COMMAND SETTINGS INTERFACE PROPERTIES (ICICOMMANDSETTINGS)
Property How It's Used Applicable Version
Description Retrieving or Changing the Description of a Custom Command
All versions
EnableProcessTimeOut Enabling a Time Limit for a Custom Command All versions
Executable Retrieving or Changing the Path to the Executable of a Custom Command
All versions
IsEnabled Enabling a Custom Command All versions
LogPath Specifying or Retrieving the Command Log Path (LogPath) EFT Server 6.1 and later
MinNumOfParams Requiring a Minimum Number of Parameters for Custom Commands
All versions
MinNumOfParamsMsg Defining or Changing a Message for an Invalid Number of Command Parameters
All versions
Name Retrieving or Changing the Name of a Custom Command All versions
Parameters Retrieving or Changing Custom Command Parameters All versions
ProcessTimeOut Specifying the Time Limit for a Custom Command All versions
RedirectOutputToClient Redirecting Command Output to Clients All versions
RedirectOutputToLog Redirecting Command Output to a Log All versions
RequireParams Viewing or Requiring Parameters for Custom Commands All versions
COMMAND SETTINGS INTERFACE METHODS (ICICOMMANDSETTINGS)
Method How It's Used Applicable Version
AddUserPermission Listing Users Allowed to Use a Command All versions
GetUserPermissions Retrieving a List of Users Allowed to Use a Custom Command
All versions
RemoveUserPermission Prohibiting Users from Using a Custom Command All versions
CERTIFICATE INFORMATION INTERFACE PROPERTIES (ICICERTINFO)
Property How It's Used Applicable Version
Description Retrieving a Certificate Description All versions
ID Retrieving a Certificate ID All versions
GlobalSCAPE COM API
50
Property How It's Used Applicable Version
IssuerCName Retrieving a Certificate Issuer's Common Name All versions
IssuerCountry Retrieving a Certificate Issuer's Country All versions
IssuerOneLine Retrieving a Certificate Issuers Information All versions
IssuerOrg Retrieving a Certificate Issuer's Organization All versions
IssuerUnit Retrieving a Certificate Issuer's Unit All versions
NotAfter Retrieving a Certificate's Expiration Date All versions
NotBefore Retrieving a Certificate's Start Date All versions
SubjectCName Retrieving a Certificate Subject's Common Name All versions
SubjectCountry Retrieving Certificate Subject's Country All versions
SubjectOneLine Retrieving a Certificate Subject's Information All versions
SubjectOrg Retrieving a Certificate Subject's Organization All versions
SubjectUnit Retrieving a Certificate Subject's Unit All versions
REPORT INFORMATION INTERFACE PROPERTIES (ICIREPORTINFO)
Property How it's used Applicable Version
Name Report Information Interface
EFT Server 6.1 and later DefinitionPath
SSH KEY INFORMATION INTERFACE PROPERTIES (ICISSHKEYINFO)
Property How it's used Applicable Version
ID SSH Key Information Interface (ICISSHKeyInfo)
EFT Server 6.1 and later
Name EFT Server 6.1 and late
Fingerprint EFT Server 6.1 and late
AUDIT INTERFACE METHODS (ICIAUDIT) -- AUDITING THE SAT MODULE
Property How It's Used Applicable Version
AuditSATEmail Auditing a SAT E-mail in ARM
EFT Server 6.0 and later
List of Methods, Properties, Enumerations, and Constants
51
Property How It's Used Applicable Version
AuditSATFile Auditing a SAT File in ARM
EFT Server 6.0 and later
AuditSATTransaction Auditing a SAT Transaction in ARM
EFT Server 6.0 and later
EVENT RULE INTERFACES
ACTIONSTATEMENT INTERFACE METHODS AND PROPERTIES
Property How it's used Applicable Version
type
Action Statement Interface
EFT Server 5.2 and later
Action
FailSection
ACTIONSTATEMENTS INTERFACE METHODS
Method How it's used Applicable Version
Add Action Statements Interface
EFT Server 5.2 and later
Count EFT Server 5.2 and later
Delete EFT Server 5.2 and later
Item EFT Server 5.2 and later
AS2 SEND ACTION PARAMETERS INTERFACE (ICIAS2SENDACTIONPARAMS)
Property How it's used Applicable Version
LocalPath Specifying or Retrieving the Path to the File to Send
EFT Server 6.1 and later
UseClientProfile Specifying or Retrieving whether a Certain AS2 Outbound Profile is to be Used
EFT Server 6.1 and later
ClientProfile Specifying or Retrieving Username whose AS2 Outbound Profile is Used for this AS2 Send Operation
EFT Server 6.1 and later
DeleteSourceFile Specifying or Retrieving whether Source File will be Removed after Successful Delivery
EFT Server 6.1 and later
Host Specifying or Retrieving the Remote Host to which to Send the AS2 File
EFT Server 6.1 and later
GlobalSCAPE COM API
52
Property How it's used Applicable Version
Port Specifying or Retrieving the Remote Port to Send the AS2 File
EFT Server 6.1 and later
RemotePath Specifying or Retrieving the Path on AS2 Server to Send AS2 File
EFT Server 6.1 and later
User Specifying or Retrieving Username for Authentication on AS2 Server
EFT Server 6.1 and later
Password Specifying or Retrieving Authentication Password for Authentication on the AS2 Server
EFT Server 6.1 and later
Subject Specifying or Retrieving AS2 Message Subject
EFT Server 6.1 and later
ContentType Specifying or Retrieving the Type of AS2 File to Send
EFT Server 6.1 and later
Compress Specifying or Retrieving whether AS2 File will be Compressed before Sending
EFT Server 6.1 and later
Encrypt Specifying or Retrieving whether AS2 Message will be Encrypted with AS2 Partner Certificate
EFT Server 6.1 and later
Sign Specifying or Retrieving whether AS2 Message will be Signed with Site Certificate
EFT Server 6.1 and later
PartnerCertificatePath Specifying or Retrieving Path to AS2 Partner Certificate
EFT Server 6.1 and later
AS2ID Specifying or Retrieving the AS2 ID of File Sender
EFT Server 6.1 and later
PartnerAS2ID Specifying or Retrieving the AS2 ID of the AS2 Partner to which you are Send an AS2 File
EFT Server 6.1 and later
ReceiptPolicy Specifying or Retrieving Type of Receipt Required for AS2 Message
EFT Server 6.1 and later
ReceiptDelivery Specifying or Retrieving Mechanism of Receipt Delivery Required for AS2 Message
EFT Server 6.1 and later
TimeoutSec Specifying or Retrieving the Timeout while Sending AS2 File
EFT Server 6.1 and later
RetriesCount Specifying or Retrieving the Maximum Amount of Sending Retries in the Case of Failure
EFT Server 6.1 and later
RetryDelaySec Specifying or Retrieving the Interval between Sending Retries
EFT Server 6.1 and later
AsyncReceiptTimeoutMin Specifying or Retrieving Maximum Wait Time for Asynchronous AS2 Receipt
EFT Server 6.1 and later
List of Methods, Properties, Enumerations, and Constants
53
AUTOMATED WORKFLOW TASK EVENT ACTION PARAMETERS INTERFACE (ICIAWTASKACTIONPARAMS)
Property How it's used Applicable Version
TaskName Automated Workflow Task Event Action Parameters Interface (ICIAWTaskActionParams)
EFT Server 6.1 and later
BACKUP ACTION PARAMETERS (ICIBACKUPACTIONPARAMS)
Property How it's used Applicable Version
Folder Backup Action Parameters (ICIBackupActionParams)
EFT Server 6.1 and later
CLEANUP ACTION PARAMETERS INTERFACE PROPERTIES (ICICLEANUPACTIONPARAMS)
Property How it's used Applicable Version
DaysToKeepFiles Retrieving or Changing the Period to Keep Files before Removing
EFT Server 5.2 and later
ExcludeFileMask Specifying whether to Remove or Exclude Files from Cleanup
EFT Server 5.2 and later
FileMask Retrieving or Changing Files to Remove
EFT Server 5.2 and later
Folder Retrieving or Changing Folder to Cleanup
EFT Server 5.2 and later
Recursive Specifying whether to Cleanup All Subfolders Recursively
EFT Server 5.2 and later
COMMAND ACTION PARAMETERS INTERFACE PROPERTIES (ICICOMMANDACTIONPARAMS)
Property How it's used Applicable Version
Command Retrieving or Changing Command to Execute
EFT Server 5.2 and later
Parameters Retrieving or Changing Parameters for Command
EFT Server 5.2 and later
WorkingFolder Retrieving or Changing Working Folder for Command
EFT Server 5.2 and later
GlobalSCAPE COM API
54
COMPOUNDCONDITION INTERFACE METHODS AND PROPERTIES (ICICOMPOUNDCONDITION)
Property How it's used Applicable Version
Operator Compound Condition Interface
EFT Server 5.2 and later
Add EFT Server 5.2 and later
Count EFT Server 5.2 and later
Delete EFT Server 5.2 and later
Item EFT Server 5.2 and later
DOWNLOAD ACTION PARAMETERS INTERFACE (ICIDOWNLOADACTIONPARAMS)
Property How it's used Applicable Version
AutoLogin Download Action Parameters Interface Properties (ICIDownloadActionParams)
EFT Server 5.25 and later
DeleteSourceFile EFT Server 5.25 and later
Host EFT Server 5.25 and later
LocalPath EFT Server 5.25 and later
Password EFT Server 5.25 and later
Port EFT Server 5.25 and later
PrivateKeyPassword EFT Server 5.25 and later
PrivateKeyPath EFT Server 5.25 and later
Protocol EFT Server 5.25 and later
PublicKeyPath EFT Server 5.25 and later
RemotePath EFT Server 5.25 and later
User EFT Server 5.25 and later
List of Methods, Properties, Enumerations, and Constants
55
EVENTACTION INTERFACE PROPERTIES (ICIEVENTACTION)
Property How it's used Applicable Version
Params Event Action Interface
EFT Server 5.2 and later type
EVENTACTIONS INTERFACE METHODS (ICIEVENTACTIONS)
Method How it's used Applicable Version
Add Event Actions Interface Methods
EFT Server 5.2 and later
Count
Delete
Item
EVENT INFORMATION INTERFACE PROPERTIES (ICIEVENTINFO)
Property How it's used Applicable Version
Name Event Information Interface
EFT Server 6.1 and later
Type
EVENTRULE INTERFACE METHODS AND PROPERTIES (ICIEVENTRULE)
Property How it's used Applicable Version
Params Event Rule Interface
EFT Server 5.2 and later
AddActionStatement
AddIfStatement
DeleteStatement
Statement
StatementsCount
EVENTRULES INTERFACE METHODS (ICIEVENTRULES)
Method How it's used Applicable Version
Add Event Rules Interface
EFT Server 5.2 and later
Count
GlobalSCAPE COM API
56
Method How it's used Applicable Version
Delete
Find
Item
EVENTRULEPARAMS INTERFACE PROPERTIES (ICIEVENTRULEPARAMS)
Property How it's used Applicable Version
Description Event Rule Parameters Interface
EFT Server 5.2 and later
Enabled
Name
EVENTRULESTATEMENT INTERFACE PROPERTY (ICIEVENTRULESTATEMENT)
Property How it's used Applicable Version
type Event Rule Statement Interface
EFT Server 5.2 and later
FOLDERMONITOREVENTRULEPARAMS INTERFACE PROPERTIES (ICIFOLDERMONITOREVENTRULEPARAMS)
Property How it's used Applicable Version
CheckHealth Folder Monitor Event Rule Parameters Interface EFT Server 5.2 and
later
CheckHealthInterval EFT Server 5.2 and
later
Description EFT Server 5.2 and
later
Enabled EFT Server 5.2 and
later
ForcedlyDisabled EFT Server 5.2.4
and prior
IncludeSubfolders EFT Server 5.2 and
later
Name EFT Server 5.2 and
later
Path EFT Server 5.2 and
later
List of Methods, Properties, Enumerations, and Constants
57
IFSTATEMENT INTERFACE METHODS AND PROPERTIES (ICIIFSTATEMENT )
Property How it's used Applicable Version
Type If Statement Interface
EFT Server 5.2 and later
Condition EFT Server 5.2 and later
ElseSection EFT Server 5.2 and later
IfSection EFT Server 5.2 and later
MAIL ACTION PARAMETERS INTERFACE PROPERTIES (ICIMAILACTIONPARAMS)
Property How it's used Applicable Version
TOAddresses Retrieving or Changing Message Recipients
EFT Server 5.2 and later
CCAddresses EFT Server 5.2 and later
BCCAddresses EFT Server 5.2 and later
CopyToClient Determining whether to CC Message to Client Associated with Event
EFT Server 5.2 and later
Subject Retrieving or Changing Message Subject
EFT Server 5.2 and later
Body Retrieving or Changing Message Body
EFT Server 5.2 and later
OPENPGP ACTION INTERFACE PROPERTIES (ICIPGPACTIONPARAMS)
Property How it's used Applicable Version
FilePath Retrieving or Changing File Path for OpenPGP Event Action
EFT Server 5.2 and later
KeyIDs Retrieving or Changing Keys to Encrypt/Decrypt Data
EFT Server 5.2 and later
Operation Determining Operation for PGP Event Action
EFT Server 5.2 and later
PassPhrase Retrieving or Changing the Passphrase for Signing or Decryption Key
EFT Server 5.2 and later
Sign Determining whether to Sign Encrypted Data
EFT Server 5.2 and later
GlobalSCAPE COM API
58
Property How it's used Applicable Version
SignKeyID Retrieving or Changing Key to Sign Encrypted Data
EFT Server 5.2 and later
ASCIIArmoredOutput Specifying or Retrieving PGP Action Output Encoded in Text Format (ASCIIArmoredOutput)
EFT Server 6.1 and later
CompressionLevel Specifying or Retrieving Compression Level for PGP Encryption Operation (CompressionLevel)
EFT Server 6.1 and later
SignatureInSeparateFile Specifying or Retrieving whether Signature will be Placed in Separate File (SignatureInSeparateFile)
EFT Server 6.1 and later
SigningHash Specifying or Retrieving Hash Algorithm for Signing (SigningHash)
EFT Server 6.1 and later
SDAPassword Specifying or Retrieving Password for SDA Operation
EFT Server 6.1 and later
REPORTACTIONPARAMS INTERFACE PROPERTIES (ICIREPORTACTIONPARAMS)
Property How it's used Applicable Version
CustomDate Report Action Parameters Interface
EFT Server 5.2 and later
DateFormat EFT Server 5.2 and later
FilterAndOr EFT Server 5.2 and later
FilterField1 EFT Server 5.2 and later
FilterField2 EFT Server 5.2 and later
FilterOperator1 EFT Server 5.2 and later
FilterOperator2 EFT Server 5.2 and later
FilterValue1 EFT Server 5.2 and later
FilterValue2 EFT Server 5.2 and later
FromDate EFT Server 5.2 and later
Name (Not available in v6.1. This information now can be set/retrieved via the Report property.)
EFT Server 5.2 and later
List of Methods, Properties, Enumerations, and Constants
59
Property How it's used Applicable Version
OptionalParameters EFT Server 5.2 and later
Path (Not available in v6.1. This information now can be set/retrieved via the Report property.)
EFT Server 5.2 and later
ReportFileFormat EFT Server 5.2 and later
ToDate EFT Server 5.2 and later
SIMPLECONDITION INTERFACE PROPERTIES (ICISIMPLECONDITION)
Property How it's used Applicable Version
Not Simple Condition Interface
EFT Server 5.2 and later
Operator EFT Server 5.2 and later
Property EFT Server 5.2 and later
Value EFT Server 5.2 and later
STOPACTIONPARAMS INTERFACE PROPERTIES (ICISTOPACTIONPARAMS)
Property How it's used Applicable Version
Action Stop Action Parameters Interface
EFT Server 5.2 and later
Enabled EFT Server 5.2 and later
TIMER EVENT RULE PARAMETERS INTERFACE (ICITIMEREVENTRULEPARAMS)
Property How it's used Applicable Version
CustomPeriod EFT Server 5.2 and later
DayIndex EFT Server 5.2 and later
DayOfMonth EFT Server 5.2 and later
GlobalSCAPE COM API
60
Property How it's used Applicable Version
DayPeriod EFT Server 5.2 and later
Enabled EFT Server 5.2 and later
FixedDate EFT Server 5.2 and later
MonthIndex EFT Server 5.2 and later
MonthPeriod EFT Server 5.2 and later
Name EFT Server 5.2 and later
NextRun EFT Server 6.1 and later
Recurrence EFT Server 5.2 and later
TimeStart EFT Server 5.2 and later
WeekDayIndex EFT Server 5.2 and later
Weekdays EFT Server 5.2 and later
WeekPeriod EFT Server 5.2 and later
TRANSFERACTIONPARAMS INTERFACE PROPERTIES (ICITRANSFERACTIONPARAMS)
Property How it's used Applicable Version
AutoLogin Transfer Action Parameters Interface
EFT Server 5.2 and later
DeleteSourceFile EFT Server 5.2.5 and later
Host EFT Server 5.2 and later
Key EFT Server 5.2 and later
KeyPass EFT Server 5.2 and later
LocalPath EFT Server 5.2 and later
List of Methods, Properties, Enumerations, and Constants
61
Property How it's used Applicable Version
Operation EFT Server 5.2 and later
Password EFT Server 5.2 and later
Port EFT Server 5.2 and later
Protocol EFT Server 5.2 and later
PubKey EFT Server 5.2 and later
RemotePath EFT Server 5.2 and later
User EFT Server 5.2 and later
UPLOAD ACTION PARAMETERS INTERFACE (ICIUPLOADACTIONPARAMS)
Property How it's used Applicable Version
AutoLogin Upload Action Parameters Interface Properties (ICIUploadActionParams)
EFT Server 5.25 and later
DeleteSourceFile
Host
LocalPath
Password
Port
PrivateKeyPassword
PrivateKeyPath
Protocol
PublicKeyPath
RemotePath
User
GlobalSCAPE COM API
62
ENUMERATORS AND CONSTANTS The following Enumerators and Constants are used in Event Rule Interfaces.
CONDITIONOPERATOR
Constant How it's used Applicable Version
Contains Contains (0x08) – Contains EFT Server 5.2 and later
Equals Equals (0x01) – Equals EFT Server 5.2 and later
Less Less (0x02) – Less EFT Server 5.2 and later
LessOrEquals LessOrEquals (0x04) – Less or equal EFT Server 5.2 and later
Match Match (0x10) – Match (for file name matching with template such as *.exe)
EFT Server 5.2 and later
MemberOf MemberOf (0x20) – Member of EFT Server 5.2 and later
OneOf OneOf (0x40) – One of EFT Server 5.2 and later
StartsWith StartsWith (0x80) – Starts with EFT Server 5.2 and later
EVENTACTIONTYPE
Constant How it's used Applicable Version
CleanupAction CleanupAction (0x80) – Cleanup in folder EFT Server 5.2 and later
CommandAction CommandAction (0x01) – Execute command EFT Server 5.2 and later
DownloadAction DownloadAction (0x08) – Download file EFT Server 5.2 and later
MailAction MailAction (0x02) – Send E-mail EFT Server 5.2 and later
PGPAction PGPAction (0x20) – PGP action EFT Server 5.2 and later
ReportAction ReportAction (0x100) – Generate report EFT Server 5.2 and later
StopAction StopAction (0x40) – Stop rule execution EFT Server 5.2 and later
List of Methods, Properties, Enumerations, and Constants
63
Constant How it's used Applicable Version
UploadAction UploadAction - Upload file EFT Server 5.2.5 and later
EVENT PROPERTIES
The following properties are used in the Event Rule interfaces.
Category Property How it's used
Applicable Version
General properties: Time (1) – Current time Event Properties
EFT Server 5.2 and later
Name (2) – Event name
Reason (3) – Event reason
TimeStamp (4) – Current time
DateStamp (5) – Current date
MonitorFolderStatus (6) – Folder monitoring status
EventName (7) – Event name
Server Properties: ServerRunning (1000) – Whether server is running Event Properties
EFT Server 5.2 and later
ServerLogOldName (1001) – Old log file name
ServerLogNewName (1002) – New log file name
ServerLogOldPath (1003) – Old log file path
ServerLogNewPath (1004) – New log file path
ServerLogTime (1005) – Log type
ServerLogFolder (1006) – Log folder
ServerServerNodeName (1007) – Name of the node server is running on
Site Properties: SiteRunning (2000) – Whether site is started Event Properties
EFT Server 5.2 and later
SiteName (2001) – Site name
SiteAccountManagementURL (2002) – PCI account management URL
Connection Properties:
LocalIP (3000) – Server IP Event Properties
EFT Server 5.2 and later
RemoteIP (3001) – Remote peer IP
LocalPort (3002) – Server port
RemotePort (3003) – Remote peer port
Protocol (3004) – Connection protocol
WebTransferClientConnection (3005) – Web-Transfer Client connection
GlobalSCAPE COM API
64
Category Property How it's used
Applicable Version
Client Properties: ClientLogin (4000) – Client’s login name Event Properties
EFT Server 5.2 and later
ClientPassword (4001) – Client’s password
ClientAccessGroup (4002) – Whether client belongs to one of the permission groups
ClientEnabled (4003) – Is client’s account enabled
ClientSettingsLevel (4004) – Client’s settings template
ClientFullName (4005) – Client’s full name
ClientDescription (4006 ) – Client’s description
ClientComment (4007) – Comment to client’s account
ClientEMail (4008) – Client’s e-mail
ClientPhone (4009) – Client’s phone number
ClientPager (4010) – Client’s pager
ClientFax (4011) – Client’s fax
ClientHomeFolder (4012) – Client’s home folder
ClientHomeFolderIsRoot (4013) – Is client’s home folder root for them
ClientQuotaMax (4014) – Client’s disk quota (max)
ClientQuotaUsed (4015) – Client’s disk quota (currently used)
ClientInvalidLoginAttempts (4016) – Client’s invalid login attempt count
ClientCanChangePassword (4017) – Has client permission to change their password
ClientIP (4018) – Client’s IP
ClientSSLAllowed (4019) – Has client permission to use SSL encryption
ClientFTPAllowed (4020) – Has client permission to connect via FTP
ClientSFTPAllowed (4021) – Has client permission to connect via SFTP
CClientLastLogin (4022) – Client’s last login timestamp
ClientPasswordExpiration (4023) – Client’s password expiration date
ClientMustResetPasswordAtFirstLogin (4024) – Must client change their password on initial login.
List of Methods, Properties, Enumerations, and Constants
65
Category Property How it's used
Applicable Version
ClientAccountExpirationDate (4025) – Client’s account expiration date
ClientAccountLocked (4026) – Is client’s account locked out
ClientCustomField1 (4027) – Client’s account custom field #1
ClientCustomField2 (4028) – Client’s account custom field #2
ClientCustomField3 (4029) – Client’s account custom field #3
File System Properties:
VirtualPath (5000) – File virtual path Event Properties
EFT Server 5.2 and later
PhysicalPath (5001) – File physical path
DestinationVirtualPath (5002) – Destination file virtual path
DestinationPhysicalPath (5003) – Destination file physical path
FolderName (5004) – Folder
FileName (5005) – File name
DestinationFolderName (5006) – Destination folder
DestinationFileName (5007) – Destination file name
FolderOperation (5008) – Folder operation
FileCreationDate (5009) – File creation date
FileCreationTime (5010) – File creation time
FileSize (5011) – File size
FileCRC (5012) – File CRC
ReportPath (5013) – Report file path (not available in 6.1)
ReportContent (5014) – Report content
ReportFileName (5015) – Report file name
GlobalSCAPE COM API
66
EVENTRULESTATEMENTTYPE
Constant How it's used Applicable Version
ActionStatement ActionStatement (0) – Action statement EFT Server 5.2 and later
IfStatement IfStatement (1) – Conditional statement EFT Server 5.2 and later
EVENT TYPE
Category Event How it's used Applicable Version
Server Events: MonitorFolder Enumerators and Constants
EFT Server 5.2 and later
OnMonitorFolderFailed
OnLogRotate
OnServiceStarted
OnServiceStopped
OnTimer
Site Events: OnSiteStarted Enumerators and Constants
EFT Server 5.2 and later
OnSiteStopped
Connection Events: OnClientConnected Enumerators and Constants
EFT Server 5.2 and later
OnClientConnectonFailed
OnClientDisconnected
Client Events: OnClientCreated Enumerators and Constants
EFT Server 5.2 and later
OnClientDisabled
OnClientQuotaExceeded
OnClientLoggedOut
OnClientLoggedIn
OnClientLoginFailed
OnClientPasswordChanged
File System Events: BeforeFileDownload Enumerators and Constants
EFT Server 5.2 and later
OnChangeFolder
OnFileDeleted
OnFileDownloaded
OnDownloadFailed
OnFileMoved
OnFileRenamed
List of Methods, Properties, Enumerations, and Constants
67
Category Event How it's used Applicable Version
OnFileUploaded
OnFolderCreated
OnFolderDeleted
OnUploadFailed
OnVerifiedUploadSuccess
OnVerifiedUploadFailure
OnVerifiedDownloadSuccess
OnVerifiedDownloadFailure
LOGICALOPERATOR
Constant How it's used Applicable Version
LogicalAnd LogicalOr (0) – OR EFT Server 5.2 and later
LogicalOr LogicalAnd (1) – AND EFT Server 5.2 and later
NETWORK PROTOCOL
Constant How it's used Applicable Version
ProtocolFTP EFT Server 5.2.5 and later
ProtocolFTPS EFT Server 5.2.5 and later
ProtocolFTPSAuthTLS EFT Server 5.2.5 and later
ProtocolFTPSExpl EFT Server 5.2.5 and later
ProtocolHTTP EFT Server 5.2.5 and later
ProtocolHTTPS EFT Server 5.2.5 and later
ProtocolLocal EFT Server 5.2.5 and later
ProtocolSFTP EFT Server 5.2.5 and later
GlobalSCAPE COM API
68
PGP OPERATION
Constant How it's used Applicable Version
Encrypt Determining Operation for PGP Event Action (Operation)
EFT Server 5.2 and later Decrypt
RECURRENCE
Constant How it's used Applicable Version
Custom Custom (0) – Hourly EFT Server 5.2 and later
Daily Daily (1) – Daily EFT Server 5.2 and later
Weekly Weekly (2) – Weekly EFT Server 5.2 and later
Monthly Monthly (3) – Monthly EFT Server 5.2 and later
Yearly Yearly (4) – Yearly EFT Server 5.2 and later
OneTime OneTime (5) – Trigger only once EFT Server 5.2 and later
SFTP ADVBOOL
Constant How it's used Applicable Version
abFalse (0) EFT Server 5.2 and later
abTrue (1) EFT Server 5.2 and later
abInherited (2) EFT Server 5.2 and later
STOPTYPE
Constant How it's used Applicable Version
StopRule (2) EFT Server 5.2.5 and later
StopEvent (4) EFT Server 5.2.5 and later
StopeRuleEvent (6) EFT Server 5.2.5 and later
69
CREATING SCRIPTS
The topics below provide a few sample scripts to demonstrate various of uses to the GlobalSCAPE Server COM API.
Using the COM API in C#
Sample Script: Retrieve List of Users
Sample Script: Setting Permissions
Sample Script: Retrieving the Physical Path to a Virtual Folder
USING THE COM API IN C# To start using the COM API, you create the SFTPCOMInterface.CIServer class object, and then apply the methods and properties in the object. For example:
Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer")
' Get rule's statement with index 0
Below is the general sequence:
1. Add a COM library reference to your project (e.g. ‘Solution Explorer’ => Right click on ‘References’ => ‘Add Reference…’ => ‘COM tab’ => ‘SFTPCOMInterface 1.0 Type Library’)
2. Add a using directive to your sources: using SFTPCOMINTERFACELib;
3. Create the Server object: CIServer server = new CIServer();
4. Connect to EFT Server: server.Connect("Server_host", Server_port, "Admin_login",
"Admin_Password");
5. Retrieve/modify sites, commands, users, event rules, and so on.
For example, to deal with Event Action statements (‘If’ statement and ‘Action’ statement), determine their exact types and then cast to it:
ICIEventRule rule = …;
…
if (((ICIEventRuleStatement)rule.Statement(0)).type ==
EventRuleStatementType.ActionStatement)
{
ICIActionStatement actionStatement =
(ICIActionStatement)rule.Statement(0);
// manipulate with action
}
else
{
ICIIfStatement ifStatement = (ICIIfStatement)rule.Statement(0);
// manipulate with condition
}
MORE INFORMATION
The COM API does not allow changing Event Rules if the change violates the Rule’s integrity (invariant):
You cannot use an Action/Condition if it is forbidden for this Event (e.g., the AS2 Send Action is forbidden for On Server Stopped events).
GlobalSCAPE COM API
70
You cannot change a Condition’s value/operator if the value/operator is inconsistent with the Condition (e.g., If Server Status Condition does not allow the Is One Of operator).
You cannot change an Action’s parameters if new ones are inconsistent (e.g., 'action.Params = PGPParams’ where PGPParams contains an empty file path or inconsistent pair, ‘Operation = Encrypt’ + ‘Empty Key ID list’).
SCRIPTING STANDARDS As you identify tasks that you can perform with scripts, you will quickly have a large collection of scripts that you want to save, share with other administrators, and reuse. For ease of use and maintenance, you should develop a scripting standard that all administrators follow when creating and editing scripts in the collection. Following a standard style allows any administrator to open a script, know its purpose, and make any necessary customization. When you view/create scripts in Notepad, it is very difficult to separate comments from code. Following a standard scripting/coding style will make your scripts easier to read. There are also many tools (e.g., EditPlus) that display the various components in different colors, making reading easier.
Below are some suggestions for scripting standards.
The top of the script should have a commented section that contains the script's name, author, creation date, modified date, modified by, description (its purpose), and requirements/dependencies of the script (e.g., AD-specific, EFT Server Enterprise only), if any.
Comments before each subsection stating the purpose of the section
Comments regarding where the data or result is stored/comes from (e.g., writes the result to the Windows Event Viewer; appears in EFT Server Admin Actions report)
Coding conventions might include naming conventions for objects, variables, and procedures; commenting conventions; and text formatting and indenting guidelines.
Below is part of a vbs script showing a basic script header and commented subsections.
Report Information Interface (ICIReportInfo)
71
SAMPLE SCRIPT: RETRIEVE LIST OF USERS The VB Script below connects to the server, retrieves a list of users and publishes them to an Excel file. To try it, save the script below with a .vbs extension and then run it from the command line. Be sure to first edit the "txt" values based on your server's settings. txtServer is your server's IP address; txtPort is your server' listening port ; txtUserName and txtPassword are the administrator's username/password pair.
'
GlobalSCAPE COM API
72
' FILE: CreateUserListSpreadSheet
' CREATED: 13 OCT 2004 GTH
' PURPOSE: List the users of a site and create an excel spreadsheet.
'
Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer")
CRLF = (Chr(13)& Chr(10))
txtServer = "192.168.134.142"
txtPort = "1100"
txtUserName = "admin"
txtPassword = "admin"
' On Error Resume Next
SFTPServer.Connect txtServer, txtPort, txtUserName, txtPassword
If Err.Number <> 0 Then
WScript.Echo "Error connecting to '" & txtServer & ":" & txtPort & "' -- " &
err.Description & " [" & CStr(err.Number) & "]", vbInformation, "Error"
WScript.Quite(255)
Else
WScript.Echo "Connected to " & txtServer
End If
set Sites=SFTPServer.Sites
Set oExcel = WScript.CreateObject("Excel.Application")
oExcel.visible = true
Set oWorkbook = oExcel.Workbooks.Add
For i = 0 to SFTPServer.Sites.Count-1
set theSite=Sites.Item(i)
Set theSheet = oWorkbook.Worksheets.add
theSheet.name = theSite.Name
theSheet.Cells(1, 1) = "Users:"
arUsers = theSite.GetUsers()
For j = LBound(arUsers) to UBound(arUsers)
theSheet.Cells((j+2), 1) = arUsers(j)
Next
theSheet.Columns("A:A").EntireColumn.Autofit
Next
Set oExcel = nothing
SFTPServer.Close
Set theSite = nothing
Set SFTPServer = nothing
SAMPLE SCRIPT: SETTING PERMISSIONS This sample VBA script creates a user, creates some virtual folders, and sets various permissions. Before testing, be sure to edit the script for your connection parameters (Admin ID, Password, Port, Server).
Private Sub Command1_Click()
Set oSFTPServer = CreateObject("SFTPCOMInterface.CIServer") 'instantiate EFT/GSFTPS
COM Object
'=====================================================================
' Initialize connection parameters
Report Information Interface (ICIReportInfo)
73
'=====================================================================
Dim sAdminID, sAdminPassword, sAdminServer, oSites, oSite
sAdminID = "admin"
sAdminPassword = "test"
sAdminPort = "1100" '1100 for EFT or 1000 for Secure FTP Server by default
sAdminServer = "localhost" 'enter the IP address for the admin connection to the
server
'=====================================================================
' Initialize the user parameters
'=====================================================================
Dim sUsrID, sUsrPasswd, sUsrDesc
sUsrID = "roslin"
sUsrPasswd = "test"
sUsrDesc = "Trading Partner Account"
sGroup = "Trading"
'=====================================================================
' Connect to the server
'=====================================================================
On Error Resume Next
oSFTPServer.Connect sAdminServer, sAdminPort, sAdminID, sAdminPassword
If Err.Number <> 0 Then
Set oSFTPServer = Nothing
MsgBox "Could not connect to the server with the specified parameters.",
vbCritical, vbOKOnly, "Error Connecting to Server"
Exit Sub
End If
'=====================================================================
'Obtain a handle to all sites and then to the first site in this example
'=====================================================================
Set oSites = oSFTPServer.Sites
Set oSite = oSites.Item(0)
'=====================================================================
' Conditionally create the user
'=====================================================================
Dim arUsers() As Variant
Dim bUserExist As Boolean
arUsers = oSite.GetUsers()
j = 0
GlobalSCAPE COM API
74
For j = LBound(arUsers) To UBound(arUsers)
If arUsers(j) = sUsrID Then
bUserExist = True
End If
Next
If bUserExist = False Then
Call oSite.CreateuserEx(sUsrID, sUsrPasswd, 0, sUsrDesc, sUsrID, True, False)
End If
'=====================================================================
' Create some virtual folders and point those to physical ones
'=====================================================================
'note: The physical folders must exist on the drive!
Call oSite.CreateVirtualFolder("/Usr/" & sUsrID & "/INBD",
"D://EDITPS//EDITPS//TradingPartners//" & sUsrID & "//INBD//")
Call oSite.CreateVirtualFolder("/Usr/" & sUsrID & "/OUTBD",
"D://EDITPS//EDITPS//TradingPartners//" & sUsrID & "//OUTBD//")
Call oSite.CreateVirtualFolder("/Usr/" & sUsrID & "/LOG",
"D://EDITPS//EDITPS//TradingPartners//" & sUsrID & "//LOG//")
'=====================================================================
' Add this user to a group
'=====================================================================
'first see if group exists
Dim arGroup() As Variant
Dim bGroupExist As Boolean
arGroup = oSite.GetPermissionGroups()
j = 0
bGroupExist = False
For j = LBound(arGroup) To UBound(arGroup)
If arGroup(j) = sGroup Then
bGroupExist = True
End If
Next
'now check to see if that user exists in the group
Dim arPermGroupOfUser() As Variant
Dim bExistsInGroup As Boolean
arPermGroupOfUser = oSite.GetPermissionGroupsOfUser(sUsrID)
h = 0
bExistsInGroup = False
For h = LBound(arPermGroupOfUser) To UBound(arPermGroupOfUser)
If arPermGroupOfUser(h) = sGroup Then
bExistsInGroup = True
End If
Report Information Interface (ICIReportInfo)
75
Next
'create the group if it doesn't exist
If bGroupExist = False Then
Call oSite.CreatePermissionGroup(sGroup)
End If
'add the user to the group if it doesn't exist
If bExistsInGroup = False Then
Call oSite.AddUserToPermissionGroup(sUsrID, sGroup)
End If
'=====================================================================
' Disable non-secure FTP Access for this user
'=====================================================================
Dim oUsrSettings As Variant
oUsrSettings = oSite.GetUserSettings(sUsrID)
oUsrSettings.SetClearFTP (0)
oUsrSettings.SetSSL (1)
'==================================================================
' Assign folder permissions for this user
'==================================================================
Dim aIN, aOUT, aLo, sUsrDir
sUsrDir = "\Usr\" & sUsrID & "\INBD\"
Set aIN = oSite.GetBlankPermission(sUsrDir, sUsrID)
aIN.DirShowInList = True
aIN.DirList = True
aIN.FileUpload = True
Call oSite.SetPermission(aIN)
sUsrDir = "\Usr\" & sUsrID & "\OUTBD\"
Set aOUT = oSite.GetBlankPermission(sUsrDir, sUsrID)
aOUT.DirShowInList = True
aOUT.DirList = True
aOUT.FileDelete = True
aOUT.FileDownload = True
Call oSite.SetPermission(aOUT)
sUsrDir = "\Usr\" & sUsrID & "\LOG\"
Set aLo = oSite.GetBlankPermission(sUsrDir, sUsrID)
aLo.DirShowInList = True
aLo.DirList = True
aLo.FileDownload = True
Call oSite.SetPermission(aLo)
GlobalSCAPE COM API
76
'==================================================================
' Apply changes and close connection to the server
'==================================================================
Call oSFTPServer.ApplyChanges
Call oSFTPServer.Close
End Sub
SAMPLE SCRIPT: RETRIEVING THE PHYSICAL PATH TO A VIRTUAL FOLDER
The sample script below is an example of using the GetPhysicalPath method to retrieve the physical path to a virtual folder.
Dim SFTPServer
Dim Sites, Site, aUsers
Dim CRLF
CRLF = (Chr(13)& Chr(10))
Set SFTPServer = CreateObject("SFTPCOMInterface.CIServer")
'Get Server address and administrative login
txtServer = inputbox("Host Address" & CRLF & CRLF & "Enter the host address of
the server you want to connect to." & CRLF & _
"Use 'localhost' if you are connecting to the server on the local
machine.","EFT COM Query")
txtPort = "1100"
txtUserName = inputbox("Admin Username" & CRLF & CRLF & "Enter the same username
used for the GlobalSCAPE Enhanced File Transfer Server GUI Interface - a.k.a. your
Administrative Login","EFT COM Query")
txtPassword = inputbox("Admin Password" & CRLF & CRLF & "Enter the same password
used for the GlobalSCAPE Enhanced File Transfer Server GUI Interface - a.k.a. your
Administrative Password","EFT COM Query")
SFTPServer.Connect txtServer, txtPort, txtUserName, txtPassword
set Sites=SFTPServer.Sites
set site = Sites.Item(0)
txtFolder = inputbox("Enter a VFS path" & CRLF & CRLF & "for root you can use /"&
CRLF&"You do not need a trailing slash on the VFS path","EFT COM Query")
msgbox "physical path for " & txtFolder & " is:" & CRLF & CRLF &
site.GetPhysicalPath(txtFolder)
SFTPServer.Close
set Site = nothing
set Sites = nothing
set SFTPServer = nothing
Report Information Interface (ICIReportInfo)
77
SAMPLE SCRIPT: ERROR HANDLING ROUTINE If you change a value via COM that violates the Payment Card Industry (PCI) Data Security Standard (DSS), an error occurs. You can create an error handling routine within your script to catch such exceptions. The example below is in Visual Basic, but could be ported to any other language.
For details of PCI DSS-related settings, refer to "PCI DSS Requirements" in the EFT Server User Guide.
SERVER INTERFACE METHODS AND PROPERTIES (ICISERVER)
The ICIServer interface allows you to manage the Server and access the Server's attributes. Refer to the properties and methods below for details.
Server Interface Methods and Properties provides illustrations of the Server node's tabs, labeled with some of the methods and properties that are available in the ICIServer interface. (Not all methods and properties are represented in the GUIs.)
SERVER ADMINISTRATION The ICIServer interface allows you to manage the Server and access the Server's attributes.
For example:
CIServer server = new CIServer();
server.Connect("Server_host", "Server_port", "Admin_login", "Admin_Password");
The illustration of the Server node's Administration tab below is labeled with some of the methods and properties that are available in the ICIServer interface. (Not all methods and properties are represented in the GUIs.)
GlobalSCAPE COM API
78
Refer to the topics below for details of these parameters
Editing the Server Administrator IP Address (ListenIP)
Retrieving a List of Administrator IP Addresses (GetAdminIPs)
Editing the Administrator Port (AdminPort)
Allowing Remote Administration (AllowRemoteAdministration)
Requiring SSL for Remote Administration (UseSSLForAdministration)
EDITING THE SERVER ADMINISTRATOR IP ADDRESS (LISTENIP)
Use the ICIServer interface ListenIP property to retrieve or modify the Administrator interface's IP address.
Signature:
HRESULT ListenIP([out, retval] long *pVal);
HRESULT ListenIP([in] long newVal);
Report Information Interface (ICIReportInfo)
79
RETRIEVING A LIST OF ADMINISTRATOR IPS (GETADMINIPS)
This method is available in EFT Server 4.3.4 and later.
Use the ICIServer interface GetAdminIPs to retrieve a string list of IP addresses for the machine on which the EFT Server is running. The IP addresses can be used as LISTENING IP addresses for administration or protocol services.
Example:
Dim arIPS : arIPS = oServer.GetAdminIPs()
for i = LBound(arIPS) to UBound(arIPS)
WScript.Echo CStr(i) & " - " & arIPS(i)
next
EDITING THE ADMINISTRATOR PORT (ADMINPORT)
Use the ICIServer interface AdminPort property to retrieve or modify the port used for remote administration connections to administer the Server
Signature:
HRESULT AllowClearCommandChannel([out, retval] VARIANT_BOOL *pVal);
HRESULT AllowClearCommandChannel([in] VARIANT_BOOL newVal);
Example:
oServer.AllowClearCommandChannel = true
You must restart the server to apply any change to the server administrator port.
ALLOWING REMOTE ADMINISTRATION (ALLOWREMOTEADMINISTRATION)
Use the ICIServer interface AllowRemoteAdministration property to allow or prohibit remote administration of the server.
Signature:
HRESULT AllowRemoteAdministration([out, retval] VARIANT_BOOL *pVal);
HRESULT AllowRemoteAdministration([in] VARIANT_BOOL newVal);
REQUIRING SSL FOR REMOTE ADMINISTRATION (USESSLFORADMINISTRATION)
Use the ICIServer interface UseSSLForAdministration property to enable or disable SSL for the administration socket connection.
SSL.DLL must be deployed alongside SFTPCOMInterface.DLL on the remote machine.
Signature:
HRESULT UseSSLForAdministration([out, retval] VARIANT_BOOL *pVal);
HRESULT UseSSLForAdministration([in] VARIANT_BOOL newVal);
You must restart the server to apply changes made with the UseSSLForAdministration property.
GlobalSCAPE COM API
80
FINDING OR SETTING THE DEFAULT IP ACCESS MODE (IPACCESSALLOWEDDEFAULT)
Use the ICIServer interface IPAccessAllowedDefault property to find or set the default IP Access restriction list mode.
Signature:
HRESULT IPAccessAllowedDefault([out, retval] VARIANT_BOOL *pVal);
HRESULT IPAccessAllowedDefault([in] VARIANT_BOOL newVal);
True = All IP addresses are allowed except those specified
False = All IP addresses are denied except those specified
RETRIEVING ALLOWED IP MASKS (GETALLOWEDMASKS)
Use the ICIServer interface GetAllowedMasks method to retrieve a list of allowed IP masks for the server.
Signature:
HRESULT GetAllowedMasks([out, retval] VARIANT *aMasks);
RETRIEVING DENIED IP MASKS (GETDENIEDMASKS)
Use the ICIServer interface GetDeniedMasks method to retrieve a list of all prohibited IP masks for the server.
Signature:
HRESULT GetDeniedMasks([out, retval] VARIANT *aMasks);
ADDING AN IP MASK ON THE SERVER (ADDIPACCESSRULE)
Use the ICIServer interface AddIPAccessRule method to add an allowed or denied IP mask to the server.
Signature:
HRESULT AddIPAccessRule(
[in] BSTR bstrMask,
[in] VARIANT_BOOL bAllow);
REMOVING AN IP MASK (REMOVEIPACCESSRULE)
Use the ICIServer interface RemoveIPAccessRule method to delete an allowed or denied IP mask.
Signature:
HRESULT RemoveIPAccessRule(
[in] BSTR bstrMask,
[in] VARIANT_BOOL bAllow);
RETRIEVING THE LOCAL IP ADDRESS (GETLOCALIP)
Use the ICIServer interface GetLocalIP method to find the local IP address.
Signature:
HRESULT GetLocalIP(
[in] long nIP,
[out, retval] BSTR *prop);
Report Information Interface (ICIReportInfo)
81
CHANGING THE ADMINISTRATOR PASSWORD (CHANGEADMINPASSWORD)
This method is available in EFT Server 4.3.4 and later.
Use the ICIServer interface ChangeAdminPassword method to change the password for an administrator account in the EFT Server.
Parameters:
AdminUser - the name of the delegated administration account that will have a new
password
Password - the new password value
Example:
oServer.ChangeAdminPassword( "subadmin", "newpassword")
RETRIEVING THE NUMBER OF SERVER ADMINISTRATOR ACCOUNTS ON THE SERVER (GETSERVERADMINCOUNT)
This method is available in EFT Server 4.3.4 and later.
Use the ICIServer interface GetServerAdminCount to get a count of active administrator accounts on the server.
Example:
Dim i : i = oServer.GetServerAdminCount()
REMOVING A SERVER ADMINISTRATOR ACCOUNT (REMOVESERVERADMINACCOUNT)
This method is available in EFT Server 4.3.4 and later.
Use the ICIServer interface RemoveServerAdminAccount to remove an administrator account from the server.
Signature:
HRESULT RemoveServerAdminAccount(BSTR bstAdminUser);
Example:
oServer.RemoveServerAdminAccount("subadmin");
RETRIEVING THE REGISTRATION STATUS OF AN EFT SERVER MODULE (MODULEREGISTRATIONSTATE)
Available in EFT Server 6.1 and later.
The ICIServer::ModuleRegistrationState method allows retrieving the registration status of EFT module:
HRESULT ModuleRegistrationState(
[in] ServerModule m, // module to retrieve registration state of
[out, retval] RegistrationState* pRS); // module registration state
Example (VBScript):
If Server.ModuleRegistrationState(EFTServer) = Expired Then
MsgBox "EFT Server is not registered"
End If
GlobalSCAPE COM API
82
SERVERMODULE ENUMERATION
The ServerModule enumeration allows specifying EFT Server or one of its modules.
typedef enum {
EFTServer = 0, // EFT Server
SSHModule = 1, // SSH Module
HTTPModule = 2, // HTTP Module
WTCModule = 4, // WTC Module
ARModule = 5, // ARM
PGPModule = 6, // PGP Module
HSModule = 7, // HSM
AS2Module = 8, // AS2 Module
AWModule = 9 // AW Module
} ServerModule;
SERVER SSL SETTINGS The ICIServer interface allows you to manage the Server, including the Server's SSL Certificate settings. In the Administrator interface, you can access the SSL certificate settings on the Administration tab by clicking Configure next to the Require SSL check box. The illustration below is labeled with some of the methods and properties that are available in the ICIServer interface. (Not all methods and properties are represented in the GUIs.)
Refer to the topics below for details of these parameters
Retrieving or Setting the SSL Version Mask (SSLVersionMask)
Editing the File Path for Certificates (CertificateFilePath)
Editing the File Path for Private Key Files (KeyFilePath)
Editing Private Key Passphrases (PassPhrase)
Editing the Cipher List (CipherList) (Refer to Server Security Settings for an illustration of this setting in the Administrator interface.)
RETRIEVING OR SETTING THE SSL VERSION MASK (SSLVERSIONMASK)
Use the ICIServer interface SSLVersionMask property to retrieve or set the SSL version mask.
This property is available in EFT Server 5.0 and later.
Signature:
HRESULT SSLVersionMask([out, retval] int *pVal);
HRESULT SSLVersionMask([in] int newVal);
Report Information Interface (ICIReportInfo)
83
Example:
Dim iVersionMask: iVersionMask = oServer.SSLVersionMask
WScript.Echo "Version Mask: " & iVersionMask
EDITING THE FILE PATH FOR PRIVATE KEY FILES (KEYFILEPATH)
Use the ICIServer interface KeyFilePath property to retrieve or modify the file path for the server's private key files.
Signature:
HRESULT KeyFilePath([out, retval] BSTR *pVal);
HRESULT KeyFilePath([in] BSTR newVal);
EDITING THE FILE PATH FOR CERTIFICATES (CERTIFICATEFILEPATH)
Use the ICIServer interface CertificateFilePath property to retrieve or modify the file path to the server's certificates.
Signature:
HRESULT CipherList([out, retval] BSTR *pVal);
HRESULT CipherList([in] BSTR newVal);
CipherList must be delimited by a colon (:).
Examples:
Dim strCipherList: strCipherList = oServer.CipherList
"AES256-SHA:CAMELLIA256-SHA:DES-CBC3-SHA:AES128-SHA:IDEA-CBC-SHA:RC4-MD5"
Refer to the OpenSSL Documentation for the format of these strings: http://www.openssl.org/docs/apps/ciphers.html#CIPHER_LIST_FORMAT
EDITING PRIVATE KEY PASSPHRASES (PASSPHRASE)
Use the ICIServer interface PassPhrase property to retrieve or modify any certificate private key pass phrases.
Signature:
HRESULT PassPhrase([out, retval] BSTR *pVal);
HRESULT PassPhrase([in] BSTR newVal);
SPECIFYING SSL CERTIFICATE FOR ADMINISTRATOR CONNECTIONS
Available in EFT Server 6.1 and later.
The ICIServer::SetSSLCertificate method allows you to specify the SSL certificate for serving secure administration connections
HRESULT SetSSLCertificate(
[in] BSTR bzCertFilePath, // Certificate path
[in] BSTR bzKeyFilePath, // Certificate private key path
[in] BSTR bzPassPhrase); // Certificate private key password
GlobalSCAPE COM API
84
Example (VBScript):
Server.SetSSLCertificate "C:\admin.crt", "C:\admin.key", "admin_passwd"
SERVER SSH (SFTP) SETTINGS
RETRIEVING LIST OF AVAILABLE SSH KEYS (AVAILABLESSHKEYS)
Available in EFT Server 6.1 and later.
Use the ICIServer::AvailableSSHKeys read-only property to retrieve a list of SSH public keys available for EFT Server. Its value is a variant containing the array of ICISSKKeyInfo interfaces.
HRESULT AvailableSSHKeys([out, retval] VARIANT* pVal);
Example (VBScript):
For Each key In Server.AvailableSSHKeys
MsgBox "Key " & key.Name & "(" & key.Fingerprint & ") is available"
Next
IMPORTING AN SSH PUBLIC KEY (IMPORTSSHKEY)
Available in EFT Server 6.1 and later.
The ICIServer::ImportSSHKey method allows you to import and SSH public key into EFT Server.
HRESULT ImportSSHKey(
[in] BSTR bstrKeyPath, // Public key path (on the computer running COM)
[out, retval] long *plID);// ID of the key imported (can be used to assign the key to client)
Unlike other SSL certificate-related methods dealing with files, the key to import must be located on the computer running COM, not on the computer running EFT Server. This difference reflects EFT Server Administrator interface behavior.
Example (VBScript):
Client.SetSftpAuthenticationType "key"
keyID = Server.ImportSSHKey("C:\client.pub")
Client.SetSSHKeyID keyID
REMOVING AN SSH PUBLIC KEY FROM EFT SERVER (REMOVESSHKEY)
Available in EFT Server 6.1 and later.
The ICIServer::RemoveSSHKey method allows you to remove an SSH public key from EFT Server.
HRESULT RemoveSSHKey([in] long lID); // key ID
Example (VBScript):
For Each key In Server.AvailableSSHKeys 'remove all keys
Server.RemoveSSHKey key.ID
Next
Report Information Interface (ICIReportInfo)
85
SERVER SECURITY SETTINGS The ICIServer interface allows you to manage the Server, including the Server's security settings. In the Administrator interface, you can view/edit these settings on the Server's Security tab.
The illustration of the Server node's Security tab below is labeled with some of the methods and properties that are available in the ICIServer interface. (Not all methods and properties are represented in the GUIs.)
Refer to the topics below for details of these parameters
Editing the Cipher List (CipherList)
Allowing a Clear Command Channel on the Server (AllowClearCommandChannel)
Allowing an Unprotected Data Channel on the Server (AllowUnprotectedDataChannel)
EDITING THE CIPHER LIST (CIPHERLIST)
Use the ICIServer interface CipherList property to retrieve or modify the cipher list.
This method is available in EFT Server 5.0 and later.
Signature:
HRESULT CipherList([out, retval] BSTR *pVal);
HRESULT CipherList([in] BSTR newVal);
Example:
Dim strCipherList: strCipherList = oServer.CipherList
GlobalSCAPE COM API
86
CipherList must be delimited by colon (‘:’).
For example,
"AES256-SHA:CAMELLIA256-SHA:DES-CBC3-SHA:AES128-SHA:IDEA-CBC-SHA:RC4-MD5"
ALLOWING A CLEAR COMMAND CHANNEL ON THE SERVER (ALLOWCLEARCOMMANDCHANNEL)
This method is available in EFT Server 5.0 and later.
Use the ICIServer interface AllowClearCommandChannel property to allow or prohibit a clear command channel on the server.
Signature:
HRESULT AllowClearCommandChannel([out, retval] VARIANT_BOOL *pVal);
HRESULT AllowClearCommandChannel([in] VARIANT_BOOL newVal);
Example:
oServer.AllowClearCommandChannel = true
ALLOWING AN UNPROTECTED DATA CHANNEL ON THE SERVER (ALLOWUNPROTECTEDDATACHANNEL)
This method is available in EFT Server 5.0 and later.
Use the ICIServer interface AllowUnprotectedDataChannel property to allow or prohibit an unprotected data channel on the server for the FTP Protocol.
Signature:
HRESULT AllowUnprotectedDataChannel([out, retval] VARIANT_BOOL *pVal);
HRESULT AllowUnprotectedDataChannel([in] VARIANT_BOOL newVal);
Example:
oServer. AllowUnprotectedDataChannel = true
SERVER LOG FILE SETTINGS The ICIServer interface allows you to manage the Server, including the Server's log settings. The illustration below of the Server node's Logs tab is labeled with some of the methods and properties that are available in the ICIServer interface. (Not all methods and properties are represented in the GUIs.)
Report Information Interface (ICIReportInfo)
87
Refer to the topics below for details of these parameters
Editing the Server Log Path (LogPath)
Editing the Server Log Type (LogType)
Rotating Logs (LogRotation)
EDITING THE SERVER LOG PATH (LOGPATH)
Use the ICIServer interface LogPath property to retrieve or set the file path to the Server's log. You must restart the Server to complete any changes to the server's log path.
Signature:
HRESULT LogPath([out, retval] BSTR *pVal);
HRESULT LogPath([in] BSTR newVal);
Example (VBScript):
Retrieving:
logPath = Command.LogPath
Specifying:
Command.LogPath = "C:\" & Command.Name & ".log"
EDITING THE SERVER LOG TYPE (LOGTYPE)
Use the ICIServer interface LogType property to retrieve or set the server's log format. You can choose no log, or you can choose to generate a log in one of three formats.
GlobalSCAPE COM API
88
Signature:
HRESULT LogType([out, retval] int *pVal);
HRESULT LogType([in] int newVal);
0 = W3C
1 = IIS
2 = NCSA
3 = No logging
You must restart the server for any changes to the log format to take effect.
ROTATING LOGS (LOGROTATION)
Use the ICIServer interface LogRotation property to retrieve or set the amount of time before a new log is started.
You can choose from no rotation or three different lengths of time.
Signature:
HRESULT LogRotation([out, retval] int *pVal);
HRESULT LogRotation([in] int newVal);
0 = Never
1 = Daily
2 = Weekly
3 = Monthly
You must restart the server to complete any change to the log rotation period.
SERVER DATABASE SETTINGS The ICIServer interface allows you to manage the Server, including the Server's database (ARM) settings. The illustration of the Server node's Logs tab below is labeled with some of the methods and properties that are available in the ICIServer interface. (Not all methods and properties are represented in the GUIs.)
Report Information Interface (ICIReportInfo)
89
Refer to the topics below for details of these parameters
Enabling Auditing and Reporting (EnableARM)
Editing the ARM Database Name (ARMDatabaseName)
Editing the ARM Server Name (ARMServerName)
Editing the ARM Username (ARMUserName)
Editing the ARM Password (ARMPassword)
Determining if Transactions are Audited to a File instead of the Database (AreLingeringTransactions)
Determining if Server is Connected to the ARM Database (IsDBConnected)
ENABLING AUDITING AND REPORTING (ENABLEARM)
Use the ICIServer interface EnableARM property to enable or disable Auditing and Reporting, or evaluate status of Auditing and Reporting.
Signature:
HRESULT EnableARM([out, retval] VARIANT_BOOL *pVal);
HRESULT EnableARM([in] VARIANT_BOOL newVal);
Examples:
Dim bARMStatus: bARMStatus = oServer.EnableARMo
To set the state:
oServer.EnableARM = false
GlobalSCAPE COM API
90
EDITING THE ARM DATABASE NAME (ARMDATABASENAME)
Use the ICIServer interface ARMDatabaseName property to retrieve or set the Auditing and Reporting database name.
Signature:
HRESULT ARMDatabaseName([out, retval] BSTR *pVal);
HRESULT ARMDatabaseName([in] BSTR newVal);
Example:
Dim strDBName: strDBName = oServer.ARMDatabaseName
WScript.Echo "ARM Database: " & strDBName
EDITING THE ARM SERVER NAME (ARMSERVERNAME)
Use the ICIServer interface ARMServerName property to retrieve the name of the server on which the Auditing and Reporting database is located.
Signature:
HRESULT ARMServerName([out, retval] BSTR *pVal);
HRESULT ARMServerName([in] BSTR newVal);
Example:
Dim strServerName: strServerName = oServer.ARMServerName
oServer. ARMServerName = "localhost\GlobalSCAPE"
EDITING THE ARM USERNAME (ARMUSERNAME)
Use the ICIServer interface ARMUserName property to retrieve or set the username used to connect to the Auditing and Reporting database.
Signature:
HRESULT ARMServerName([out, retval] BSTR *pVal);
HRESULT ARMServerName([in] BSTR newVal);
Example:
Dim strUserName : strUserName = oServer.ARMUserName
oServer. ARMUserName = "admin"
EDITING THE ARM PASSWORD (ARMPASSWORD)
Use the ICIServer interface ARMPassword property to retrieve or set the password for logging in to the ARM Database.
Signature:
HRESULT ARMPassword([out, retval] BSTR *pVal);
HRESULT ARMPassword([in] BSTR newVal);
Example:
Dim strNewPassword: strNewPassword = "newpassword"
oServer.ARMPassword = strNewPassword
Report Information Interface (ICIReportInfo)
91
DETERMINING IF TRANSACTIONS ARE AUDITED TO A FILE INSTEAD OF THE DATABASE (ARELINGERINGTRANSACTIONS)
This method is available only in EFT Server 5.2 through 6.0.x.
Use the ICIServer interface AreLingeringTransactions method to determine whether there is socket session/Event Rule/etc that is audited to a file instead of the database.
Signature
HRESULT AreLingeringTransactions([out,retval] VARIANT_BOOL * pVal);
Example
If server. AreLingeringTransactions then
' Do something
End if
DETERMINING IF SERVER IS CONNECTED TO THE ARM DATABASE (ISDBCONNECTED)
This method is available only in EFT Server version 5.2 through 6.0.x.
Use the ICIServer interface IsDBConnected method to determine whether the ARM database is connected
Signature
HRESULT IsDBConnected([out,retval] VARIANT_BOOL * pVal);
Example
If server.IsDBConnected then
' Do something
End if
SERVER SMTP SETTINGS The ICIServer interface allows you to manage the Server, including the Server's SMTP settings. The illustrations of the Server node's SMTP tab below is labeled with some of the methods and properties that are available in the ICIServer interface. (Not all methods and properties are represented in the GUIs.)
GlobalSCAPE COM API
92
Refer to the topics below for details of these parameters
Editing the Mail Server Address (SMTPServer)
Editing the Mail Server Port (SMTPPort)
Editing the Email User Name (SMTPLogin)
Editing the Email Password (SMTPPassword)
Choosing the From Address in Server Emails (SMTPSenderAddr)
Choosing the Server Email Sender Name (SMTPSenderName)
Choosing Email Receiver Addresses (SMTPRecipientAddr)
Choosing Email Receiver Names (SMTPRecipientName)
EDITING THE MAIL SERVER ADDRESS (SMTPSERVER)
Use the ICIServer interface SMTPServer property to retrieve or modify the address for the email server used by the Server for sending event notifications.
Signature:
HRESULT SMTPServer([out, retval] BSTR *pVal);
HRESULT SMTPServer([in] BSTR newVal);
EDITING THE MAIL SERVER PORT (SMTPPORT)
Use the ICIServer interface SMTPPort property to retrieve or modify the port number for connection to the SMTP server used by the Server for event notifications.
Signature:
HRESULT SMTPPort([out, retval] long *pVal);
HRESULT SMTPPort([in] long newVal);
Report Information Interface (ICIReportInfo)
93
EDITING THE EMAIL USER NAME (SMTPLOGIN)
Use the ICIServer interface SMTPLogin property to retrieve or modify the user name for the email server used by the Server for event notifications, if authentication is required.
Signature:
HRESULT SMTPLogin([out, retval] BSTR *pVal);
HRESULT SMTPLogin([in] BSTR newVal);
EDITING THE EMAIL PASSWORD (SMTPPASSWORD)
Use the ICIServer interface SMTPPassword property to retrieve or modify the password for the email server used by the Server for event notifications, if authentication is required.
Signature:
HRESULT SMTPPassword([out, retval] BSTR *pVal);
HRESULT SMTPPassword([in] BSTR newVal);
CHOOSING THE FROM ADDRESS IN SERVER EMAILS (SMTPSENDERADDR)
Use the ICIServer interface SMTPSenderAddr property to retrieve or modify the administrator email address for email notifications sent by the Server.
Signature:
HRESULT SMTPSenderAddr([out, retval] BSTR *pVal);
HRESULT SMTPSenderAddr([in] BSTR newVal);
CHOOSING THE SERVER EMAIL SENDER NAME (SMTPSENDERNAME)
Use the ICIServer interface SMTPSenderName property to retrieve or modify the From name used in email notifications sent by the Server.
Signature:
HRESULT SMTPSenderName([out, retval] BSTR *pVal);
HRESULT SMTPSenderName([in] BSTR newVal);
CHOOSING EMAIL RECEIVER NAMES (SMTPRECIPIENTNAME)
Use the ICIServer interface SMTPRecipientName property to retrieve or modify the administrator email name for email notifications sent by the Server.
Signature:
HRESULT SMTPRecipientName([out, retval] BSTR *pVal);
HRESULT SMTPRecipientName([in] BSTR newVal);
CHOOSING EMAIL RECEIVER ADDRESSES (SMTPRECIPIENTADDR)
Use the ICIServer interface SMTPRecipientAddr property to retrieve or modify the email address of the recipient notifications sent by the Server.
Signature:
HRESULT SMTPRecipientAddr([out, retval] BSTR *pVal);
GlobalSCAPE COM API
94
HRESULT SMTPRecipientAddr([in] BSTR newVal);
RETRIEVING THE AUDIT INTERFACE (AUDITOR)
This method is available in EFT Server 6.0.
Use the ICIServer interface Auditor method to log audit information in the Auditing and Reporting Module (ARM) related to the Secure Ad Hoc Transfer module.
Related Topics
Auditing a SAT E-mail in ARM
Auditing a SAT File in ARM
Auditing a SAT Transaction in ARM
APPLYING CHANGES TO THE SERVER (APPLYCHANGES)
This method is available in Secure FTP Server, and EFT Server 4.34 and prior. As of EFT Server 5.0, any "Set" or other "Write" method applies the change made immediately.
Use the ICIServer interface ApplyChanges method to confirm and set changes you have made.
Signature:
HRESULT ApplyChanges();
REFRESHING SERVER SETTINGS (REFRESHSETTINGS) Use the ICIServer interface RefreshSettings method to bring the COM object up to date with the latest set of data from the Server to which it is connected.
If a call to any COM method throws an "MX Error: 52 (0x00000034)", this means that the COM object needs to invoke RefreshSettings.
Signature:
HRESULT RefreshSettings();
RETRIEVING A LIST OF SERVER SITES (SITES) Use the ICIServer Interface Sites method to access the list of Sites and open the ICISites interface. You can subsequently use the ICISites Item method to retrieve a pointer to a particular Site. This method returns a pointer to an ICISites interface.
Signature:
HRESULT Sites([out, retval] ICISites** prop);
Example in VB:
Dim Server As CIServer 'assumes the SFTPCOMInterface Type Library is referenced by
the VB IDE
Dim Site As CISite 'instantiates the ISite interface
Dim Sites As CISites 'instantiates the ISites interface
'insert connection routines here
'no retrieve the list of sites and then set a pointer to the first one
Report Information Interface (ICIReportInfo)
95
Set Sites = Server.Sites 'now retrieve the list of sites in the server
Set Site = Sites.Item(0)
'continue rest of code...
RETRIEVING THE LOCAL SERVER TIME (GETLOCALTIME) Use the ICIServer interface GetLocalTime method to retrieve the time of day on the server.
Signature:
HRESULT GetLocalTime([out, retval] BSTR *pTime);
RETRIEVING THE NUMBER OF CONNECTED USERS (CONNECTEDUSERSNUMBER)
Use the ICIServer interface ConnectedUsersNumber property to retrieve the number of users connected to the Server. (You can also view the number of connected users on the Status tab of the Administrator interface.)
This method is available in EFT Server 3.5 and later.
Signature:
HRESULT ConnectedUsersNumber([out, retval] BSTR *pVal);
Example:
Dim iConnectedUses: iConnectedUsers = oServer.ConnectedUsersNumber
ConnectedUsersNumber is a read-only property.
CONNECTING TO THE SERVER AS THE ADMINISTRATOR (CONNECT) Use the ICIServer interface Connect method to connect to the local or remote server as the administrator.
Signature:
HRESULT Connect([in] BSTR Host, [in] UINT nPort, [in] BSTR Login, [in] BSTR
Password);
VB Example:
Dim Server As CIServer 'assumes the SFTPCOMInterface Type Library is referenced by
the VB IDE
Dim Site As CISite 'instantiates the ISite interface
Dim Sites As CISites 'instantiates the ISites interface
txtServer = "127.0.0.1" 'local IP address of server
txtPort = "1000" 'admin port
txtUserName = "Admin" 'admin username
txtPassword = "mypass" 'admin password
On Error Resume Next 'verify it could connect ok
Server.Connect txtServer, txtPort, txtUserName, txtPassword 'now connect using
supplied information
If Err.Number <> 0 Then
MsgBox "Error connecting to '" & txtServer & ":" & txtPort & "' -- " &
Err.Description & " [" & CStr(Err.Number) & "]", vbInformation, "Error" 'all this
on one line!
GlobalSCAPE COM API
96
End If
Set Sites = Server.Sites 'now retrieve the list of sites in the server
Set Site = Sites.Item(0) 'Instantiate the first and only, site (note, this script
assumes only one site present)
'continue rest of code...
CLOSING THE ADMINISTRATOR CONNECTION TO THE SERVER (CLOSE)
Use the ICIServer interface Close method to close the COM administrative connection to the server.
Signature:
HRESULT Close();
RETRIEVING A LIST OF AVAILABLE REPORTS (AVAILABLEREPORTS)
Available in EFT Server 6.1 and later.
The ICIServer::AvailableReports read-only property allows you to retrieve a list of the reports available on EFT Server. Its value is a variant containing the array of ICIReportInfo interfaces:
HRESULT AvailableReports([out, retval] VARIANT* pVal);
Example (VBScript):
For Each report In Server.AvailableReports
MsgBox report.Name & " report is available"
Next
RETRIEVING A LIST OF EFT SERVER'S PGP KEYS (AVAILABLEPGPKEYS)
Available in EFT Server 6.1 and later.
The ICIServer::AvailablePGPKeys read-only property allows you to retrieve a list of EFT Server’s PGP Keys. Its value is a variant containing the array of ICIPGPKeyInfo interfaces.
HRESULT AvailablePGPKeys([out, retval]VARIANT* pVal);
Example (VBScript):
For Each key In Server.AvailablePGPKeys
MsgBox key.Name & " key is available"
Next
RETRIEVING A LIST OF AVAILABLE EVENTS (AVAILABLEEVENTS)
Available in EFT Server 6.1 and later.
The ICIServer::AvailableEvents read-only property allows you to retrieve a list of the Events defined on EFT Server. Its value is a variant containing the array of ICIEventInfo interfaces.
HRESULT AvailableEvents([out, retval] VARIANT* pVal);
Report Information Interface (ICIReportInfo)
97
Example (VBScript):
For Each event In Server.AvailableRvents
MsgBox event.Name & " event is available"
Next
GENERATING AN EFT SERVER REPORT (GENERATEREPORT)
Available in EFT Server 6.1 and later.
The ICIServer::GenerateReport method allows you to generate an EFT Server report.
HRESULT GenerateReport(
IDispatch* pdispReportParams, //[in] ICIReportActionParams in-terface
// containing report parameters
BSTR bzGeneratedReportPath); //[in] Local file to put the report to
Example (VBScript):
Set ReportParams = CreateOb-ject("SFTPCOMInterface.CIReportActionParams")
'Setup report name, filters, period
' ...
ReportParams.ReportFileFormat = PDFFormat
Server.GenerateReport(ReportParams, "C:\Report\Report.pdf")
MULTIPLE SITES INTERFACE (ICISITES) The ICISites interface represents the list of all Sites on the Server. Obtain it by using the Sites method of the ICIServer interface.
Set Sites = SFTPServer.Sites
RETRIEVING A SITE'S COM INTERFACE BY SITE NUMBER (ITEM) Use the ICISites interface Item method and an integer to retrieve the ICISite interface for a specific Site.
Example:
Item(
[in] VARIANT* Index,
[out, retval] ICISite** prop);
The Index value must be between 0 and (Count-1).
Example:
Set Sites = Server.Sites 'Retrieve list of sites
Set Site = Sites.Item(0) 'Instantiate the first one
RETRIEVING A SITE'S COM INTERFACE BY SITE ID (SITEBYID) Use the ICISites interface SiteByID method to retrieve the ICISite interface.
Signature:
HRESULT SiteByID(
GlobalSCAPE COM API
98
[in] long ID,
[out, retval] ICISite** prop);
RETRIEVING THE NUMBER OF SITES (COUNT) Use the ICISites interface Count method to retrieve the number of Sites you have in the Server.
Signature:
HRESULT Count([out, retval] long* prop);
ADDING A SITE (ADD) Use the ICISites interface Add method to create a new Site and retrieve the Site's ICISite interface.
Signature:
HRESULT Add(
[in] BSTR bstrName,
[in] BSTR bstrRootFolder,
[in] int nAMID,
[in] BSTR bstrAMDB,
[in] VARIANT_BOOL bEncryptPasswords,
[in] int nIP,
[in] UINT nPort,
[in] VARIANT_BOOL bCreateHomeFolder,
[in] VARIANT_BOOL bPermHomeFolder,
[in] VARIANT_BOOL bAutoStart,
[out, retval] ICISite** prop);
Parameters Definition
bstrName New site name
bstrRootFolder Site root folder, as a full path for example, "c:\inetpub\eftroot\new site"
nAMID Authentication manager identifier; this must be a number between 0 and 3 (inclusive), as follows:
0 : GlobalSCAPE EFT Server Authentication (proprietary flat file with an ".aud" extension)
1 : NTLM/Active Directory Authentication
2 : ODBC Authentication
3 : LDAP Authentication
Report Information Interface (ICIReportInfo)
99
Parameters Definition
bstrAMDB Authentication manager database configuration string. This is specific to the Authentication Manager chosen by the nAMID parameter.
NT: "NTLM=1;(DC=<<domain controller name>>;)(GROUP=<<group name>>;)"
AD: ";(DC=<<domain controller name>>;)(GROUP=<<group name>>;)"
ODBC: "<<dsn connection string>>"
LOCAL: "<<path to AUD file>>"
LDAP: "LDAPDB=<<path to AUD file>>;LDAPSERVER=<<host>>;LDAPPORT=<<port>>; BASEDN="<<base dn for users>>;USERFILTER=<<user query filter>>;USERATTRIBUTE=<<logon attribute>>;SSL={0|1};(USERNAME=<<ldap simple bind username>>;PASSWORD=<<ldap simple bind password>>;)"
bEncryptPasswords TRUE if database should contain encrypted passwords. This applies only to ODBC Authentication sites, and determines if password in the database are to be considered one-way hashed passwords or stored as plain-text in the columns (useful if you have external processes manipulating rows in the database).
nIP Index of the site IP address. A "0" value means "all incoming." A number greater than 0 refers to the index in the IP Address list for all addresses on the machine.
nPort Port number of the site
bCreateHomeFolder TRUE means that a home folder for new site users should be created
bPermHomeFolder TRUE means that new site users should be granted full permissions in their home folders
bAutoStart TRUE means that the site should start automatically
ADDING A LOCAL SITE (ADDLOCALSITE) Use the ICISites interface AddLocalSite method to create a new unauthenticated Site and retrieve the Site's ICISite interface.
Signature:
HRESULT AddLocalSite(
[in] BSTR bstrName, //Name
[in] BSTR bstrRootFolder, //Root folder
[in] BSTR bstrFilePath, //User database (AUD file) path
[in] int nIP, //Listening IP
[in] long nPort, //FTP port
[in] VARIANT_BOOL bCreateHomeFolder,// Create home folders
// for newly-added users?
[in] VARIANT_BOOL bPermHomeFolder, //Give newly-added users full
//permission for their
//home folders?
GlobalSCAPE COM API
100
[in] VARIANT_BOOL bAutoStart, //Start site
//immediately after creation?
[in] VARIANT_BOOL bCreateFTPFolders, //Create standard FTP folders
//(Usr, Bin, Incoming, Pub)?
[out, retval] ICISite** prop); //New site
Example:
Set Site = Sites.AddLocalSite("Local Site", "C:\sites\Local",_
"C:\sites\Local.aud", 0, 21, True, True, True, True)
Parameters Definition
bstrName New site name
bstrRootFolder Site root folder
bstrFilePath Path to the file that will contain user data
nIP Index of the site IP address
nPort Port number of the site
bCreateHomeFolder TRUE means that a home folder for new site users should be created
bPermHomeFolder TRUE means that new site users should be granted full permissions in their home folders
bAutoStart TRUE means that the site should start automatically
bCreateFTPFolders TRUE means to create standard FTP folders (Usr, Bin, Incoming, Pub)
ADDING AN ACTIVE DIRECTORY AUTHENTICATED SITE (ADDADSITE) Use the ICISites interface AddADSite method to add a Site that requires Active Directory authentication to the Server and retrieve the Site's COM interface.
Signature:
HRESULT AddADSite(
[in] BSTR bstrName,
[in] BSTR bstrRootFolder,
[in] BSTR bstrDomainContext,
[in] BSTR bstrAllowGroup,
[in] int nIP,
[in] UINT nPort,
[in] VARIANT_BOOL bCreateHomeFolder,
[in] VARIANT_BOOL bPermHomeFolder,
[in] VARIANT_BOOL bAutoStart,
[in] VARIANT_BOOL bCreateFTPFolders, //Create standard FTP folders
Report Information Interface (ICIReportInfo)
101
//(Usr, Bin, Incoming, Pub)?
[out, retval] ICISite** prop);
Example (VBScript):
Set Site = Sites.AddADSite("AD Site", "C:\sites\AD", "", 0, 21, True, True, True,
True)
Parameters Definition
bstrName New site name
bstrRootFolder Site root folder
bstrDomainName Default domain context for Active Directory
bstrAllowGroup Group name
nIP Index of the site IP address
nPort Port number of the site
bCreateHomeFolder TRUE means that a home folder for new site users should be created
bPermHomeFolder TRUE means that new site users should be granted full permissions in their home folders
bAutoStart TRUE means that the site should start automatically
bCreateFTPFolders TRUE means to create standard FTP folders (Usr, Bin, Incoming, Pub)
ADDING AN NT AUTHENTICATED SITE (ADDNTLMSITE) Use the ICISites interface AddNTLMSite method to add a Site that requires NTLM authentication to the Server, and retrieve the Site's COM interface.
Signature:
HRESULT AddNTLMSite(
[in] BSTR bstrName,
[in] BSTR bstrRootFolder,
[in] BSTR bstrDomainName,
[in] BSTR bstrAllowGroup,
[in] int nIP,
[in] UINT nPort,
[in] VARIANT_BOOL bCreateHomeFolder,
[in] VARIANT_BOOL bPermHomeFolder,
[in] VARIANT_BOOL bAutoStart,
//(Usr, Bin, Incoming, Pub)?
[out, retval] ICISite** prop);
[out, retval] ICISite** prop);
GlobalSCAPE COM API
102
Example (VBScript):
Set Site = Sites.AddNTLMSite("NTLM Site", "C:\sites\NTLM", "", 0, 21, True, True,
True, True)
Parameters Definition
bstrName New site name
bstrRootFolder Site root folder
bstrDomainName NT domain name
bstrAllowGroup NT group name
nIP Index of the site IP address
nPort Port number of the site
bCreateHomeFolder TRUE means that a home folder for new site users should be created
bPermHomeFolder TRUE means that new site users should be granted full permissions in their home folders
bAutoStart TRUE means that the site should start automatically
bCreateFTPFolders TRUE means to create standard FTP folders (Usr, Bin, Incoming, Pub)
ADDING AN ODBC-AUTHENTICATED SITE (ADDODBCSITE) Use the ICISites interface AddODBCSite method to add a Site that uses an ODBC database for user authentication to the Server and retrieve the Site's COM interface.
Signature:
HRESULT AddODBCSite(
[in] BSTR bstrName,
[in] BSTR bstrRootFolder,
[in] BSTR bstrDSN,
[in] VARIANT_BOOL bEncryptPasswords,
[in] int nIP,
[in] UINT nPort,
[in] VARIANT_BOOL bCreateHomeFolder,
[in] VARIANT_BOOL bPermHomeFolder,
[in] VARIANT_BOOL bAutoStart,
//(Usr, Bin, Incoming, Pub)?
[out, retval] ICISite** prop);
[out, retval] ICISite** prop);
Report Information Interface (ICIReportInfo)
103
Example (VBScript):
Set Site = Sites.AddODBCSite("ODBC Site", "C:\sites\ODBC", "", 0, 21, True, True,
True, True)
Parameters Definition
bstrName New site name
bstrRootFolder Site root folder
bstrDSN Database DSN
bEncryptPasswords TRUE if the database should contain encrypted passwords
nIP Index of the site IP address
nPort Port number of the site
bCreateHomeFolder TRUE means that a home folder for new site users should be created
bPermHomeFolder TRUE means that new site users should be granted full permissions in their home folders
bAutoStart TRUE means that the site should start automatically
bCreateFTPFolders TRUE means to create standard FTP folders (Usr, Bin, Incoming, Pub)
ADDING AN LDAP SITE (ADDLDAPSITE) Use the ICISites interface AddLDAPSite method to add a Site that uses LDAP.
This method is available in EFT Server 4.3.4 and later.
HRESULT AddLDAPSite(
[in] BSTR bstrName, //Name
[in] BSTR bstrRootFolder, //Root folder
[in] BSTR bstrDomainContext, //LDAP domain context
[in] int nIP, //Listening IP
[in] long nPort, //FTP port
[in] VARIANT_BOOL bCreateHomeFolder,// Create home folders
// for newly-added users?
[in] VARIANT_BOOL bPermHomeFolder, //Give newly-added users full
//permission for their
// home folders?
[in] VARIANT_BOOL bAutoStart, //Start site
//immediately after creation?
[in] VARIANT_BOOL bCreateFTPFolders, //Create standard FTP folders
//(Usr, Bin, Incoming, Pub)?
GlobalSCAPE COM API
104
[out, retval] ICISite** pSite); //New site interface
Example (VBScript):
Set Site = Sites.AddLDAPSite("LDAP Site", "C:\sites\LDAP", "", 0, 21, True, True,
True, True)
Parameters Definition
bstrName New site name
bstrRootFolder Site root folder
bstrDomainContext LDAP domain components (e.g., DNS domain name)
bstrAllowGroup LDAP group name (not used in version 6.1)
nIP Index of the site IP address
nPort Port number of the site
bCreateHomeFolder TRUE means that a home folder for new site users should be created
bPermHomeFolder TRUE means that new site users should be granted full permissions in their home folders
bAutoStart TRUE means that the site should start automatically
bCreateFTPFolders TRUE means to create standard FTP folders (Usr, Bin, Incoming, Pub)
You can also call Add(), setting "3" as the nAMID parameter to create an LDAP site.
Configuration Notes
The "bstrDomainContext" string that is passed in must be composed properly to define the parameters of the LDAP Site. The syntax is the same for both methods: a semicolon separated list of name/value pairs that defines the LDAP options.
The entire string is:
LDAPSERVER={IP or Hostname for LDAP server};LDAPPORT={port on LDAP
server};BASEDN={base dn for users};USERFILTER={filter for LDAP query to return
users};USERATTRIBUTE={what user attribute to use as client login};TYPE={1 for
anonymous bind, 0 for simple bind};USERNAME={cn of the user to bind as for querying
users};PASSWORD={password for that user};LDAPDB={path to AUD file};SSL={0 for no
SSL, 1 for SSL};USESEARCHSCOPE={1 to set search scope, 0
otherwise};SEARCHSCOPE={search scope: 0 => base, 1 => one level,
=>subtree};USESEARCHSIZELIMIT={1 to override search page size, 0
otherwise};SEARCHSIZELIMIT={new search page size};USETIMEOUT={1 to use timeout, 0
otherwise};TIMEOUT={timeout in seconds};USEVERSION={1 to use specific version,
otherwise 0};VERSION={LDAP version (2 or 3)};USEPAGECONTROL={1 to use LDAP server
side page control, 0 otherwise};USEREFERRALS={1 to turn on referral changing; 0
otherwise};USESEARCHATTRIBUTES={1 to select attributes; 0 otherwise
};SEARCHATTRIBUTES={search attributes};
Report Information Interface (ICIReportInfo)
105
You do not have to include the entire string. Any options from USESEARCHSCOPE to the end can be omitted and EFT Server will use their default values.
Examples:
Set Site = Sites.AddLDAPSite("LDAP Site", "C:\sites\LDAP", "", 0, 21, True, True,
True, True)
LDAPSERVER=fileserver;LDAPPORT=389;BASEDN=dc=s5development,dc=local;USERFILTER=(obj
ectClass=person);USERATTRIBUTE=cn;TYPE=0;USERNAME=cn=Ivan
Smithe,cn=users,dc=development,dc=local;PASSWORD=XXX;LDAPDDB=C:\EFT
AppData\MySite.aud;SSL=0;USESEARCHSCOPE=1;SEARCHSCOPE=2;USESEARCHSIZELIMIT=1;SEARCH
SIZELIMIT=1000;USETIMEOUT=1;TIMEOUT=60;USEVERSION=1;VERSION=3;USEPAGECONTROL=1;USER
EFERRALS=0;USESEARCHATTRIBUTES=1;SEARCHATTRIBUTES=mail,e-mail,name,cn;
SINGLE-SITE INTERFACE (ICISITE)
The ICISite interface represents an FTP/HTTP Site. Use this interface to manage individual Sites and to access their attributes. The interface can be obtained by using the Item and SiteByID methods of the ICISites interface.
RETRIEVING A SITE'S ID (ID) Use the ICISite interface ID property to retrieve the Site Identifier. This returns a read-only version of the ID.
Signature:
HRESULT ID([out, retval] long *pVal);
RETRIEVING A SITE'S NAME (NAME) Use the ICISite interface Name property to retrieve the name of the site. This returns a read-only version of the name.
Signature:
HRESULT Name([out, retval] BSTR *pVal);
DETERMINING IF A SITE IS STARTED (ISSTARTED) Use the ICISite interface IsStarted property to determine whether a Site is active and available.
HRESULT IsStarted([out, retval] VARIANT_BOOL *pVal);
Example (VBScript):
If Not Site.IsStarted Then
Site.Start
End If
To start or stop a Site via the COM API, refer to:
Starting a Site (Start)
Stopping Site (Stop)
STARTING A SITE (START) Use the ICISite interface Start method to start an individual site (start listening for incoming connections).
GlobalSCAPE COM API
106
Signature:
HRESULT Start();
STOPPING SITE (STOP) Use the ICISite interface Stop method to stop an individual Site from listening for incoming connections.
Signature:
HRESULT Stop();
DELETING A SITE (REMOVE) Use the ICISite interface Remove method to delete a Site from the Server. After a Site is removed with the COM interface, the object is no longer valid.
Signature:
HRESULT Remove();
CANCELLING AN HTTPS TRANSFER (CANCELTRANSFER) Use the ICISite interface CancelTransfer method to close all HTTP sockets that upload/download (including POST upload) a file specified by the path parameter. Note that this is not effective for FTP or SFTP.
This method is available in EFT Server 4.3.4 and later.
Signature:
HRESULT CancelTransfer(
[in] BSTR bstrPath,
[out, retval] VARIANT_BOOL *pSuccess);
RETRIEVING A LIST OF EVENT RULES (EVENTRULES)
This method is available in EFT Server 5.2 and later.
Use the ICISite interface EventRules method to retrieve the list of Event Rules of a certain type (e.g., all Timer Event Rules).
Signature
HRESULT EventRules([in] EventType type, [out, retval] IDispatch** ppdispRules);
Example
Set timerRules = site.EventRules (&H1001) 'Retrieve all the Timer event rules
RETRIEVING ARM ODBC SETTINGS (ODBCSETTINGS) Use the ICISite interface ODBCSettings property to manage the database connection settings for an ODBC Authentication Site.
This method is available in EFT Server 4.3.4 and later.
Signature:
STDMETHOD(get_ODBCSettings)(/*[out, retval]*/ BSTR *pVal);
Report Information Interface (ICIReportInfo)
107
STDMETHOD(put_ODBCSettings)(/*[in]*/ BSTR newVal);
SETTING THE AUTO CREATE HOME FOLDER OPTION (AUTOCREATEHOMEFOLDER)
Use the ICISite interface AutoCreateHomeFolder property to check if the Server will automatically create a home folder for users, and to either enable or disable the automatic folder creation.
In the Administrator interface, this property is enabled on the Site's Security tab, in the Account Security area.
Signature:
HRESULT AutoCreateHomeFolder([out, retval] VARIANT_BOOL *pVal);
HRESULT AutoCreateHomeFolder([in] VARIANT_BOOL newVal);
True = Enabled
False = Disabled
The AutoCreateHomeFolder property must be set to TRUE before you can use the AssignFullPermissionsForHomeFolder property. If you do not grant users full permissions to their home folders, they will inherit permissions from their groups.
SETTING THE GRANT FULL PERMISSIONS OPTION (ASSIGNFULLPERMISSIONSFORHOMEFOLDER)
Use the ICISite interface AssignFullPermissionsForHomeFolder property to check if new users will have full permissions in their home folders, and to either grant or deny users full permissions to their home folders.
In the Administrator interface, this property is enabled on the Site's Security tab, in the Account Security area.
Signature:
HRESULT AssignFullPermissionsForHomeFolder([out, retval] VARIANT_BOOL *pVal);
HRESULT AssignFullPermissionsForHomeFolder([in] VARIANT_BOOL newVal);
True = Granted (check box selected)
False = Denied (check box cleared)
The AutoCreateHomeFolder property must be set to TRUE before you can use this property. If you do not grant users full permissions to their home folders, they will inherit permissions from their groups.
SITE FTP SETTINGS The ICISite interface properties below are used to set FTP properties for the Site.
The dialog box below is labeled with some of the properties that are available in the ICISite interface.
GlobalSCAPE COM API
108
Refer to the topics below for details of these properties
Blocking Site-to-Site FTP (BlockSiteToSite)
Blocking Anti-Timeout Schemes (BlockAntiTimeOut)
Enabling a Range of Ports for PASV Connections (EnablePortRange)
Determining the IP Address for PASV Connections (PASVListenIP)
Determining the Low End of a PASV Mode Port Range (PASVPortMin)
Determining the High End of a PASV Mode Port Range (PASVPortMax)
Editing the Server Connection Message (ConnectMessage)
Managing the User Limit Message (UserLimitMessage)
Managing a Site's Exit Message (ExitMessage)
BLOCKING SITE-TO-SITE FTP (BLOCKSITETOSITE)
Use the ICISite interface BlockSiteToSite property to check if site-to-site transfers are blocked, and to allow or prohibit site-to-site transfers.
Signature:
HRESULT BlockSiteToSite([out, retval] VARIANT_BOOL *pVal);
HRESULT BlockSiteToSite([in] VARIANT_BOOL newVal);
True = Blocked
False = Allowed
Refer to Site FTP Settings Properties for an illustration of how this and other ICISite properties can be accessed in the Administrator interface.
Report Information Interface (ICIReportInfo)
109
BLOCKING ANTI-TIMEOUT SCHEMES (BLOCKANTITIMEOUT)
Use the ICISite interface BlockAntiTimeOut property to check if the site is blocking anti-time-out traffic, or to block or allow anti-time-out traffic from clients.
Signature:
HRESULT BlockAntiTimeOut([out, retval] VARIANT_BOOL *pVal);
HRESULT BlockAntiTimeOut([in] VARIANT_BOOL newVal);
True = Blocked
False = Allowed
Refer to Site FTP Settings Properties for an illustration of how this and other ICISite properties can be accessed in the Administrator interface.
ENABLING A RANGE OF PORTS FOR PASV CONNECTIONS (ENABLEPORTRANGE)
Use the ICISite interface EnablePortRange property to determine if a specific IP address and port ranges have been assigned for PASV connections to the Site. Use the same property to enable or disable the use of a specific IP address and port ranges.
Signature:
HRESULT EnablePortRange([out, retval] VARIANT_BOOL *pVal);
HRESULT EnablePortRange([in] VARIANT_BOOL newVal);
Refer to Site FTP Settings Properties for an illustration of how this and other ICISite properties can be accessed in the Administrator interface.
DETERMINING THE IP ADDRESS FOR PASV CONNECTIONS (PASVLISTENIP)
Use the ICISite interface PASVListenIP property to determine or set the IP address where the Site listens for PASV mode connections.
Signature:
HRESULT PASVListenIP([out, retval] long *pVal);
HRESULT PASVListenIP([in] long newVal);
Refer to Site FTP Settings Properties for an illustration of how this and other ICISite properties can be accessed in the Administrator interface.
DETERMINING THE LOW END OF A PASV MODE PORT RANGE (PASVPORTMIN)
Use the ICISite interface PASVPortMin property to determine or set the lowest port in a range where a Site listens for PASV connections.
Signature:
HRESULT PASVPortMin([out, retval] long *pVal);
HRESULT PASVPortMin([in] long newVal);
Refer to Site FTP Settings Properties for an illustration of how this and other ICISite properties can be accessed in the Administrator interface.
GlobalSCAPE COM API
110
DETERMINING THE HIGH END OF A PASV MODE PORT RANGE (PASVPORTMAX)
Use the ICISite interface PASVPortMax property to determine or set the highest port in a range where a Site listens for PASV connections.
Signature:
HRESULT PASVPortMax([out, retval] long *pVal);
HRESULT PASVPortMax([in] long newVal);
Refer to Site FTP Settings Properties for an illustration of how this and other ICISite properties can be accessed in the Administrator interface.
EDITING THE SERVER CONNECTION MESSAGE (CONNECTMESSAGE)
Use the ICISite interface ConnectMessage property to retrieve or set the connection message sent to clients when users connect to the server.
Signature:
HRESULT ConnectMessage([out, retval] BSTR *pVal);
HRESULT ConnectMessage([in] BSTR newVal);
Refer to Site FTP Settings Properties for an illustration of how this and other ICISite properties can be accessed in the Administrator interface.
MANAGING THE USER LIMIT MESSAGE (USERLIMITMESSAGE)
Use the ICISite interface UserLimitMessage property to retrieve or edit the text of the message shown when the site's user limit is reached.
Signature:
HRESULT UserLimitMessage([out, retval] BSTR *pVal);
HRESULT UserLimitMessage([in] BSTR newVal);
Refer to Site FTP Settings Properties for an illustration of how this and other ICISite properties can be accessed in the Administrator interface.
MANAGING A SITE'S EXIT MESSAGE (EXITMESSAGE)
Use the ICISite interface ExitMessage property to retrieve or edit the exit message shown when users disconnect.
Signature:
HRESULT ExitMessage([out, retval] BSTR *pVal);
HRESULT ExitMessage([in] BSTR newVal);
Refer to Site FTP Settings Properties for an illustration of how this and other ICISite properties can be accessed in the Administrator interface.
SITE CONNECTION LIMITS The ICISite interface properties below are used to set connection limits for the Site.
The dialog box below is labeled with some of the properties that are available in the ICISite interface.
Report Information Interface (ICIReportInfo)
111
Refer to the topics below for details of these properties
Enabling or Disabling a Site's Maximum Transfer Speed (HasMaxSpeed)
Retrieving or Setting Maximum Transfer Speed (MaxTransferSpeed)
Enabling the Concurrent Connections Limit (HasMaxUsers)
Retrieving or Setting Maximum Concurrent Connections (MaxConcurrentConnections)
Retrieving Maximum Concurrent Logins (HasMaxConcurrentLogins)
Setting Maximum Concurrent Logins (MaxConcurrentLogins)
Retrieving or Setting Number of Connections per User to a Site (HasMaxConnectionsPerAccount)
Retrieving or Setting a Site's User Connection Limit (MaxConnectionsPerUser)
Limiting Connections from the Same IP Address (HasMaxIPPerAccount)
Managing Concurrent Connections Allowed from the Same IP Address (MaxConnectionsFromSameIP)
ENABLING OR DISABLING A SITE'S MAXIMUM TRANSFER SPEED (HASMAXSPEED)
Use the ICISite interface HasMaxSpeed property to determine if the site has a maximum transfer speed limit. Also use this property to enable or disable a transfer speed limit.
Signature:
HRESULT HasMaxSpeed([out, retval] VARIANT_BOOL *pVal);
HRESULT HasMaxSpeed([in] VARIANT_BOOL newVal);
True = Enabled
False = Disabled
Refer to Site Connection Limits Properties for an illustration of how this and other ICISite properties can be accessed in the Administrator interface.
RETRIEVING OR SETTING MAXIMUM TRANSFER SPEED (MAXTRANSFERSPEED)
Use the ICISite interface MaxTransferSpeed property to retrieve or set the maximum transfer speed allowed on a site.
Signature:
HRESULT MaxTransferSpeed([out, retval] long *pVal);
HRESULT MaxTransferSpeed([in] long newVal);
Refer to Site Connection Limits Properties for an illustration of how this and other ICISite properties can be accessed in the Administrator interface.
GlobalSCAPE COM API
112
ENABLING THE CONCURRENT CONNECTIONS LIMIT (HASMAXUSERS)
Use the ICISite interface HasMaxUsers property to determine if the site has a maximum concurrent users limit. Also use this property to enable or disable the concurrent connections limit.
Signature:
HRESULT HasMaxUsers([out, retval] VARIANT_BOOL *pVal);
HRESULT HasMaxUsers([in] VARIANT_BOOL newVal);
True = Enabled
False = Disabled
Refer to Site Connection Limits Properties for an illustration of how this and other ICISite properties can be accessed in the Administrator interface.
RETRIEVING OR SETTING MAXIMUM CONCURRENT CONNECTIONS (MAXCONCURRENTCONNECTIONS)
Use the ICISite interface MaxConcurrentConnections property to retrieve or set the maximum number of concurrent socket connections allowed on a Site.
Signature:
HRESULT MaxConcurrentConnections([out, retval] long *pVal);
HRESULT MaxConcurrentConnections([in] long newVal);
Refer to Site Connection Limits Properties for an illustration of how this and other ICISite properties can be accessed in the Administrator interface.
RETRIEVING MAXIMUM CONCURRENT LOGINS (HASMAXCONCURRENTLOGINS)
Currently only available in Secure FTP Server.
Use the ICISite interface HasMaxConcurrentLogins property to return a BOOLEAN value when read indicating whether the Site has the "Max Concurrent Logins" feature enabled. You can set the value by assigning a BOOLEAN value.
Signature:
HRESULT HasMaxConcurrentLogins([out, retval] BOOL *pVal);
HRESULT HasMaxConcurrentLogins([in] BOOL newVal);
Refer to Site Connection Limits Properties for an illustration of how this and other ICISite properties can be accessed in the Administrator interface.
SETTING MAXIMUM CONCURRENT LOGINS (MAXCONCURRENTLOGINS)
Currently only available in Secure FTP Server.
Use the ICISite interface MaxConcurrentLogins property to return a LONG value when read indicating the maximum number of concurrent logins allowed on the Site. You can set this value by assigning a LONG value.
HRESULT MaxConcurrentLogins(??);
Refer to Site Connection Limits Properties for an illustration of how this and other ICISite properties can be accessed in the Administrator interface.
Report Information Interface (ICIReportInfo)
113
RETRIEVING OR SETTING NUMBER OF CONNECTIONS PER USER TO A SITE (HASMAXCONNECTIONSPERACCOUNT)
Use the ICISite interface HasMaxConnectionsPerAccount property to determine if the site limits the number of socket connections per user. Also use this property to enable or disable the user connection limit.
Signature:
HRESULT HasMaxConnectionsPerAccount([out, retval] VARIANT_BOOL *pVal);
HRESULT HasMaxConnectionsPerAccount([in] VARIANT_BOOL newVal);
True = Enabled
False = Disabled
Refer to Site Connection Limits Properties for an illustration of how this and other ICISite properties can be accessed in the Administrator interface.
RETRIEVING OR SETTING A SITE'S USER CONNECTION LIMIT (MAXCONNECTIONSPERUSER)
Use the ICISite interface MaxConnectionsPerUser property to retrieve or set the maximum number of concurrent socket connections a user can make to a site.
Signature:
HRESULT MaxConnectionsPerUser([out, retval] long *pVal);
HRESULT MaxConnectionsPerUser([in] long newVal);
Refer to Site Connection Limits Properties for an illustration of how this and other ICISite properties can be accessed in the Administrator interface.
LIMITING CONNECTIONS FROM THE SAME IP ADDRESS (HASMAXIPPERACCOUNT)
Use the ICISite interface HasMaxIPPerAccount property to determine if the site limits the number of concurrent connections from one IP address. Also use this property to enable or disable a limit of concurrent connections from one IP address.
Signature:
HRESULT HasMaxIPPerAccount([out, retval] VARIANT_BOOL *pVal);
HRESULT HasMaxIPPerAccount([in] VARIANT_BOOL newVal);
True = Enabled
False = Disabled
Refer to Site Connection Limits Properties for an illustration of how this and other ICISite properties can be accessed in the Administrator interface.
MANAGING CONCURRENT CONNECTIONS ALLOWED FROM THE SAME IP ADDRESS (MAXCONNECTIONSFROMSAMEIP)
Use the ICISite interface MaxConnectionsFromSameIP property to retrieve or set the maximum number of concurrent connections allowed from one IP address to a site.
Signature:
HRESULT MaxConnectionsFromSameIP([out, retval] long *pVal);
GlobalSCAPE COM API
114
HRESULT MaxConnectionsFromSameIP([in] long newVal);
Refer to Site Connection Limits Properties for an illustration of how this and other ICISite properties can be accessed in the Administrator interface.
SITE LOGIN SECURITY AND ANTI-FLOOD/HAMMER SETTINGS The ICISite interface properties below are used to set login security and anti-flood/hammer settings for the Site.
The dialog boxes below are labeled with some of the properties that are available in the ICISite interface.
Refer to the topics below for details of these properties
Limiting Consecutive Invalid Commands (DisconnectOnDOS)
Banning Connections from Specific IP Addresses (BanIPOnDOS)
Banning IP Addresses (AutoBanIPsPermanently)
Enabling Account Lockout (LockoutNotDisable)
Viewing Invalid Attempts Period for a Site (InvalidAttemptsPeriod)
Viewing the Lockout Period for a Site (LockoutPeriod)
Viewing the Number of Invalid Login Attempts Allowed for a Site (MaxInvalidLoginAttempts)
Enabling Allowed Login Attempt Limit (LimitLoginAttempts)
Managing the Consecutive Invalid Commands Limit (DOSLimit)
Report Information Interface (ICIReportInfo)
115
LIMITING CONSECUTIVE INVALID COMMANDS (DISCONNECTONDOS)
Use the ICISite interface DisconnectOnDOS property to determine if the Site will disconnect after a certain number consecutive invalid commands. Also use this property to enable or disable such disconnections.
Signature:
HRESULT DisconnectOnDOS([out, retval] VARIANT_BOOL *pVal);
HRESULT DisconnectOnDOS([in] VARIANT_BOOL newVal);
True = Enabled
False = Disabled
Refer to Site Login Security and Anti-Flood/Hammer Settings for an illustration of how this and other ICISite properties can be accessed in the Administrator interface.
BANNING CONNECTIONS FROM SPECIFIC IP ADDRESSES (BANIPONDOS)
Use the ICISite interface BanIPOnDOS property to determine if the server will automatically ban connections from an IP address that has sent too many consecutive invalid commands. Use the same property to enable or disable automatic bans.
Signature:
HRESULT BanIPOnDOS([out, retval] VARIANT_BOOL *pVal);
HRESULT BanIPOnDOS([in] VARIANT_BOOL newVal);
True = Enabled
False = Disabled
Refer to Site Login Security and Anti-Flood/Hammer Settings for an illustration of how this and other ICISite properties can be accessed in the Administrator interface.
BANNING IP ADDRESSES (AUTOBANIPSPERMANENTLY)
Use the ICISite interface AutoBanIPsPermanently property to determine if the Server will permanently or temporarily ban connections from an IP address that has sent too many consecutive invalid commands.
Signature:
HRESULT AutoBanIPsPermanently([out, retval] VARIANT_BOOL *pVal);
HRESULT AutoBanIPsPermanently([in] VARIANT_BOOL newVal);
True = Permanently
False = Temporarily
Refer to Site Login Security and Anti-Flood/Hammer Settings for an illustration of how this and other ICISite properties can be accessed in the Administrator interface.
VIEWING THE LOCKOUT PERIOD FOR A SITE (LOCKOUTPERIOD)
Use the ICISite interface LockoutPeriod property to view a Site's lockout period.
This method is available in EFT Server 5.1.1 and later.
Signature:
HRESULT LockoutPeriod([in] BSTR bstrLogin);
Values are 30, 60, or 90 minutes
GlobalSCAPE COM API
116
Refer to Site Login Security and Anti-Flood/Hammer Settings for an illustration of how this and other ICISite
properties can be accessed in the Administrator interface.
ENABLING ALLOWED LOGIN ATTEMPT LIMIT (LIMITLOGINATTEMPTS)
Use the ICISite interface LimitLoginAttempts property to view whether a login attempt limit is enabled. This property represents whether the "disable/lockout account after n incorrect login attempts in an n-minute period" feature is enabled. See also Enabling Account Lockout (LockoutNotDisable).
This method is available in EFT Server 5.1.1 and later.
Signature:
HRESULT LimitLoginAttempts([out, retval] VARIANT_BOOL *pVal);
HRESULT LimitLoginAttempts([in] VARIANT_BOOL newVal);
True = Enabled
False = Disabled
Refer to Site Login Security and Anti-Flood/Hammer Settings for an illustration of how this and other ICISite properties can be accessed in the Administrator interface.
ENABLING ACCOUNT LOCKOUT (LOCKOUTNOTDISABLE)
Use the ICISite interface LockoutNotDisable property to view whether account lockout is enabled. This property represents whether the "disable/lockout account after n incorrect login attempts in an n-minute period" feature is enabled. See also Enabling Allowed Login Attempt Limit (LimitLoginAttempts).
This method is available in EFT Server 5.1.1 and later.
Signature:
HRESULT LockoutNotDisable([out, retval] VARIANT_BOOL *pVal);
HRESULT LockoutNotDisable([in] VARIANT_BOOL newVal);
True = Lockout is not disabled
False = Lockout is disabled
Refer to Site Login Security and Anti-Flood/Hammer Settings for an illustration of how this and other ICISite properties can be accessed in the Administrator interface.
VIEWING THE NUMBER OF INVALID LOGIN ATTEMPTS ALLOWED FOR A SITE (MAXINVALIDLOGINATTEMPTS)
Use the ICISite interface MaxInvalidLoginAttempts property to view the maximum number of invalid login attempts allowed to a Site. Relates to the "Lock out / disable account after N invalid login attempts during time period" option in EFT Server.
This method is available in EFT Server 5.1.1 and later.
Signature:
HRESULT MaxInvalidLoginAttempts([out, retval] long *pVal);
HRESULT MaxInvalidLoginAttempts([in] long newVal);
Refer to Site Login Security and Anti-Flood/Hammer Settings for an illustration of how this and other ICISite properties can be accessed in the Administrator interface.
Report Information Interface (ICIReportInfo)
117
VIEWING INVALID ATTEMPTS PERIOD FOR A SITE (INVALIDATTEMPTSPERIOD)
This method is available in EFT Server 5.1.1.and later.
Use the ICISite interface InvalidAttemptsPeriod property to set/retrieve length of time for "Lock out / disable account after N invalid login attempts during time period" option.
Signature
HRESULT InvalidAttemptsPeriod([out, retval] long *pVal);
HRESULT InvalidAttemptsPeriod([in] long newVal);
Example
Site.InvalidAttemptsPeriod = 30
Refer to Site Login Security and Anti-Flood/Hammer Settings for an illustration of how this and other ICISite properties can be accessed in the Administrator interface.
SETTING THE NUMBER OF INVALID COMMANDS ALLOWED (DOSLIMIT)
Use the ICISite interface DOSLimit property to retrieve or set the number of consecutive invalid commands that will cause the Site to disconnect a user.
Signature:
HRESULT DOSLimit([out, retval] long *pVal);
HRESULT DOSLimit([in] long newVal);
Refer to Site Login Security and Anti-Flood/Hammer Settings for an illustration of how this and other ICISite properties can be accessed in the Administrator interface.
RETRIEVING AND MODIFYING A LIST OF BANNED FILE TYPES (VFSFILTER)
Use the ICISite interface VFSFilter property to retrieve or edit the list of file types banned from the site.
In the Administrator interface, you can set this property on the Site's Security tab, in the Banned File Types dialog box.
Signature:
HRESULT VFSFilter([out, retval] BSTR *pVal);
HRESULT VFSFilter([in] BSTR newVal);
Refer to Site Login Security and Anti-Flood/Hammer Settings for an illustration of how this and other ICISite properties can be accessed in the Administrator interface.
GlobalSCAPE COM API
118
RETRIEVING OR SPECIFYING THE AUTO-BAN SENSITIVITY (AUTOBANSENSITIVITY)
This property is available only in EFT Server version 6.1 and later.
Use the ICISite::AutobanSensitivity property to retrieve/set the sensitivity level for the flood/hammer auto-ban mechanism.
HRESULT AutobanSensitivity([out, retval] AutobanSensitivity *pVal);
HRESULT AutobanSensitivity([in] AutobanSensitivity newVal);
Example (VBScript):
Retrieving:
If Site.AutobanSensitivity <> SensitivityOff Then
MsgBox "Flood/Hammer Autoban is on for the site"
End If
Specifying:
Site.AutobanSensitivity = SensitivityVeryHigh
In the EFT Server Administrator interface, the level can be set on the Site's Connections tab, in the Denial of Service settings.
SITE INFORMATION The methods below are used to retrieve information about or change a Site's settings.
Retrieving the Number of Connected Users (GetConnectedCount)
Identifying the Authentication Manager for a Site (GetAuthManagerID)
Retrieving a Site's Root Folder (GetRootFolder)
Specifying the Site's Root Folder (SetRootFolder)
Retrieving a Site's IP Address (GetIP)
Specifying a Site's IP Address (SetIP)
Retrieving a Site's Port Number (GetPort)
Specifying a Site's Port Number (SetPort)
Retrieving a Site's Download Speed (GetDownloadSpeed)
Retrieving a Site's Upload Speed (GetUploadSpeed)
Retrieving the Number of Active Downloads (GetDownloadCount)
Retrieving the Number of Active Uploads (GetUploadCount)
Retrieving the Site Start Time (GetStartTime)
Report Information Interface (ICIReportInfo)
119
Editing the Server Connection Message (ConnectMessage)
RETRIEVING THE NUMBER OF CONNECTED USERS (GETCONNECTEDCOUNT)
Use the ICISite interface GetConnectedCount method to retrieve the number of clients currently connected to the server through any protocol engine.
Signature:
HRESULT GetConnectedCount([out, retval] long* prop);
IDENTIFYING THE AUTHENTICATION MANAGER FOR A SITE (GETAUTHMANAGERID)
Use the ICISite Interface GetAuthManagerID method to identify or retrieve the authentication manager ID of a site. The authentication manager ID is the type of authentication used (GS Auth, NT/AD, or ODBC).
Signature:
HRESULT GetAuthManagerID([out, retval] long *prop);
RETRIEVING A SITE'S ROOT FOLDER (GETROOTFOLDER)
Use the ICISite interface GetRootFolder method to retrieve the root folder for an individual site.
Signature:
HRESULT GetRootFolder([out, retval] BSTR *prop);
SPECIFYING THE SITE'S ROOT FOLDER (SETROOTFOLDER)
Use the ICISite interface SetRootFolder method to designate the root folder for an individual site. If the site has to be restarted for the change to take effect, the SetRootFolder method will return TRUE.
Signature:
HRESULT SetRootFolder(
[in] BSTR newVal,
[out, retval] VARIANT_BOOL *pNeedRestart);
RETRIEVING A SITE'S IP ADDRESS (GETIP)
Use the ICISite interface GetIP method to retrieve the IP address where a site listens for incoming connections.
Signature:
HRESULT GetIP([out, retval] long *prop);
SPECIFYING A SITE'S IP ADDRESS (SETIP)
Use the ICISite interface SetIP method to set the IP address on which a Site listens for incoming connections. If the Site must be restarted after changing IP address, the SetIP method returns TRUE.
Signature:
HRESULT SetIP(
[in] long newVal,
[out, retval] VARIANT_BOOL *pNeedRestart);
GlobalSCAPE COM API
120
RETRIEVING A SITE'S PORT NUMBER (GETPORT)
Use the ICISite interface GetPort method to retrieve the port number a site uses for connections (default for FTP connections).
Signature:
HRESULT GetPORT([out, retval] UINT *prop);
SPECIFYING A SITE'S PORT NUMBER (SETPORT)
Use the ICISite interface SetPort method to set a Site's default Port used for FTP connections. If the Site must be restarted after changing the port, the SetPort method returns TRUE.
Signature:
HRESULT SetPort(
[in] UINT newVal,
[out, retval] VARIANT_BOOL *pNeedRestart);
RETRIEVING A SITE'S DOWNLOAD SPEED (GETDOWNLOADSPEED)
Use the ICISite interface GetDownloadSpeed method to retrieve the download speed of a Site.
Signature:
HRESULT GetDownloadSpeed([out, retval] ULONG *pSpeed);
RETRIEVING A SITE'S UPLOAD SPEED (GETUPLOADSPEED)
Use the ICISite interface GetUploadSpeed method to retrieve the upload speed of a site.
Signature:
HRESULT GetUploadSpeed([out, retval] ULONG *pSpeed);
RETRIEVING THE NUMBER OF ACTIVE DOWNLOADS (GETDOWNLOADCOUNT)
Use the ICISite interface GetDownloadCount method to retrieve the number of current active downloads.
Signature:
HRESULT GetDownloadCount([out, retval] UINT *pCnt);
RETRIEVING THE NUMBER OF ACTIVE UPLOADS (GETUPLOADCOUNT)
Use the ICISite interface GetUploadCount method to retrieve the number of current active uploads.
Signature:
HRESULT GetUploadCount([out, retval] UINT *pCnt);
RETRIEVING THE SITE START TIME (GETSTARTTIME)
Use the ICISite interface GetStartTime method to retrieve the time the Site was started.
Signature:
HRESULT GetStartTime([out, retval] BSTR *bstrStartTime);
Report Information Interface (ICIReportInfo)
121
EDITING THE SERVER CONNECTION MESSAGE (CONNECTMESSAGE)
Use the ICISite interface ConnectMessage property to retrieve or set the connection message sent to clients when users connect to the server.
Signature:
HRESULT ConnectMessage([out, retval] BSTR *pVal);
HRESULT ConnectMessage([in] BSTR newVal);
Refer to Site FTP Settings Properties for an illustration of how this and other ICISite properties can be accessed in the Administrator interface.
SITE LISTENER SETTINGS The methods below are used to retrieve information about or change a Site's listener (protocol) settings.
Site Listener Settings Parameters
Verifying FTP is Enabled for a Site (GetFTPAccess)
Enabling FTP Access to a Site (SetFTPAccess)
Verifying if HTTP is Enabled for a Site (GetHTTPAccess)
Enabling HTTP Access (SetHTTPAccess)
Retrieving the HTTP Port for a Site (GetHTTPPort)
Specifying the HTTP Port (SetHTTPPort)
Verifying if HTTPS is Enabled for a Site (GetHTTPSAccess)
Enabling HTTPS Access (SetHTTPSAccess)
Retrieving the HTTPS Port for a Site (GetHTTPSPort)
Specifying the HTTPS Port (SetHTTPSPort)
Verifying if Explicit SSL is Enabled for a Site (GetSSLAuth)
Allowing Explicit SSL Access to a Site (SetSSLAuth)
Verifying if Implicit SSL is Enabled for a Site (GetSSLImp)
Allowing Implicit SSL Access to a Site (SetSSLImp)
SITE LISTENER SETTINGS PARAMETERS
The dialog box below is labeled with the Site listener settings parameters that are available in the ICISite interface. These parameters also can be viewed/set in the Administrator interface on the Connections tab of the Site.
GlobalSCAPE COM API
122
Currently, you cannot enable or set the port of SFTP via COM.
For SFTP and SSL certificate settings, refer to Site Certificates and Keys.
Refer to the topics below for details of these parameters
Verifying FTP is Enabled for a Site (GetFTPAccess)
Enabling FTP Access to a Site (SetFTPAccess)
Verifying if Explicit SSL is Enabled for a Site (GetSSLAuth)
Allowing Explicit SSL Access to a Site (SetSSLAuth)
Verifying if Implicit SSL is Enabled for a Site (GetSSLImp)
Allowing Implicit SSL Access to a Site (SetSSLImp)
Verifying if HTTP is Enabled for a Site (GetHTTPAccess)
Enabling HTTP Access (SetHTTPAccess)
Verifying if HTTPS is Enabled for a Site (GetHTTPSAccess)
Enabling HTTPS Access (SetHTTPSAccess)
Retrieving the HTTP Port for a Site (GetHTTPPort)
Specifying the HTTP Port (SetHTTPPort)
Retrieving the HTTPS Port for a Site (GetHTTPSPort)
Specifying the HTTPS Port (SetHTTPSPort)
VERIFYING FTP IS ENABLED FOR A SITE
Use the ICISite interface GetFTPAccess method to verify that FTP access is enabled for a site.
Signature:
HRESULT GetFTPAccess([out, retval] VARIANT_BOOL *prop);
True = Access enabled
False = Access disabled
Report Information Interface (ICIReportInfo)
123
Refer to Site Listener Settings Parameters for an illustration of how this and other ICISite methods can be accessed in the Administrator interface.
ENABLING FTP ACCESS TO A SITE (SETFTPACCESS)
Use the ICISite interface SetFTPAccess method to enable or disable FTP access for a Site. If the site must be restarted for the change to take effect, the SetFTPAccess method returns TRUE.
Signature:
HRESULT SetFTPAccess(
[in] VARIANT_BOOL newVal,
[out, retval] VARIANT_BOOL *pNeedRestart);
True = Access enabled
False = Access disabled
Refer to Site Listener Settings Parameters for an illustration of how this and other ICISite methods can be accessed in the Administrator interface.
VERIFYING IF HTTP IS ENABLED FOR A SITE (GETHTTPACCESS)
Use the ICISite interface GetHTTPAccess method to verify whether HTTP access is enabled for a site.
This method is available in EFT Server 4.3.4 and later.
Signature:
HRESULT GetHTTPAccess([out, retval] VARIANT_BOOL *prop);
True = Access enabled
False = Access disabled
Refer to Site Listener Settings Parameters for an illustration of how this and other ICISite methods can be accessed in the Administrator interface.
ENABLING HTTP ACCESS (SETHTTPACCESS)
Use the ICISite interface SetHTTPAccess method to configure the HTTP engine ON or OFF for this site based on the parameter you pass in.
This method is available in EFT Server 4.3.4 and later.
True = Access enabled
False = Access disabled
Refer to Site Listener Settings Parameters for an illustration of how this and other ICISite methods can be accessed in the Administrator interface.
RETRIEVING THE HTTP PORT FOR A SITE (GETHTTPPORT)
Use the ICISite interface GetHTTPPort method to retrieve the HTTP port number on which the HTTP engine is listening for a Site.
This method is available in EFT Server 4.3.4 and later.
Signature:
HRESULT GetHTTPPort([out, retval] VARIANT_BOOL *prop);
GlobalSCAPE COM API
124
Refer to Site Listener Settings Parameters for an illustration of how this and other ICISite methods can be accessed in the Administrator interface.
SPECIFYING THE HTTP PORT (SETHTTPPORT)
Use the ICISite interface SetHTTPPort method to configure the HTTP port for this Site.
This method is available in EFT Server 4.3.4 and later.
Signature:
HRESULT SetHTTPPort(long newVal, [returns] VARIANT_BOOL bNeedRestart);
Refer to Site Listener Settings Parameters for an illustration of how this and other ICISite methods can be accessed in the Administrator interface.
VERIFYING IF HTTPS IS ENABLED FOR A SITE (GETHTTPSACCESS)
Use the ICISite interface GetHTTPSAccess method to verify whether HTTPs access is enabled for a site.
This method is available in EFT Server 4.3.4 and later.
Signature:
HRESULT GetHTTPSAccess([out, retval] VARIANT_BOOL *prop);
True = Access enabled
False = Access disabled
Refer to Site Listener Settings Parameters for an illustration of how this and other ICISite methods can be accessed in the Administrator interface.
ENABLING HTTPS ACCESS (SETHTTPSACCESS)
Use the ICISite interface SetHTTPSAccess method to configure the HTTPS engine ON or OFF for this site based on the parameter you pass in.
This method is available in EFT Server 4.3.4 and later.
Refer to Site Listener Settings Parameters for an illustration of how this and other ICISite methods can be accessed in the Administrator interface.
RETRIEVING THE HTTPS PORT FOR A SITE (GETHTTPSPORT)
Use the ICISite interface GetHTTPSPort method to retrieve the HTTPS port number on which the HTTPS engine is listening for a Site.
This method is available in EFT Server 4.3.4 and later.
Signature:
HRESULT GetHTTPSPort([out, retval] VARIANT_BOOL *prop);
Refer to Site Listener Settings Parameters for an illustration of how this and other ICISite methods can be accessed in the Administrator interface.
SPECIFYING THE HTTPS PORT (SETHTTPSPORT)
Use the ICISite interface SetHTTPSPort method to configure the HTTPS Port for this site.
Report Information Interface (ICIReportInfo)
125
This method is available in EFT Server 4.3.4 and later.
Signature:
HRESULT SetHTTPSPort(long newVal, [returns] VARIANT_BOOL bNeedRestart);
Refer to Site Listener Settings Parameters for an illustration of how this and other ICISite methods can be accessed in the Administrator interface.
VERIFYING IF EXPLICIT SSL IS ENABLED FOR A SITE (GETSSLAUTH)
Use the ICISite interface GetSSLAuth method to verify that explicit SSL is enabled for a site.
Signature:
HRESULT GetSSLAuth([out, retval] VARIANT_BOOL *prop);
True = Enabled
False = Disabled
Refer to Site Listener Settings Parameters for an illustration of how this and other ICISite methods can be accessed in the Administrator interface.
ALLOWING EXPLICIT SSL ACCESS TO A SITE (SETSSLAUTH)
Use the ICISite interface SetSSLAuth method to enable or disable explicit SSL for a site. If the site must be restarted for the change to take effect, the SetSSLAuth method returns TRUE.
Signature:
HRESULT SetSSLAuth(
[in] VARIANT_BOOL newVal,
[out, retval] VARIANT_BOOL *pNeedRestart);
Refer to Site Listener Settings Parameters for an illustration of how this and other ICISite methods can be accessed in the Administrator interface.
VERIFYING IF IMPLICIT SSL IS ENABLED FOR A SITE (GETSSLIMP)
Use the ICISite interface GetSSLImp method to verify that implicit SSL is enabled for a site.
Signature:
HRESULT GetSSLAuth([out, retval] VARIANT_BOOL *prop);
True = Enabled
False = Disabled
Refer to Site Listener Settings Parameters for an illustration of how this and other ICISite methods can be accessed in the Administrator interface.
ALLOWING IMPLICIT SSL ACCESS TO A SITE (SETSSLIMP)
Use the ICISite interface SetSSLImp method to enable or disable implicit SSL for a site. If the site must be restarted for the change to take effect, the SetSSLImp method returns TRUE.
Signature:
HRESULT SetSSLImp(
[in] VARIANT_BOOL newVal,
[out, retval] VARIANT_BOOL *pNeedRestart);
GlobalSCAPE COM API
126
Refer to Site Listener Settings Parameters for an illustration of how this and other ICISite methods can be accessed in the Administrator interface.
ENABLING OR DISABLING SFTP ON A SITE (ENABLESFTP, DISABLESFTP)
This interface is available in EFT Server 6.1.
The ICISite interface provides methods to enable or disable SFTP access on the Site via the COM interface:
Sub DisableSFTP()
Sub EnableSFTP(SFTPKeyFile As String, SFTPKeyPassword As String)
SITE CERTIFICATES AND KEYS The methods below are used to retrieve information about or change a Site's certificates and keys.
Verifying that Client Certificates are Required (GetCheckClientCert)
Requiring User Certificates on Implicit SSL Sites (SetCheckClientCert)
Changing the Certificate File Path (SetCertFilePath)
Retrieving the File Path for Certificates (GetCertFilePath)
Retrieving the File Path for Private Keys (GetKeyFilePath)
Changing the Private Key File Path (SetKeyFilePath)
Retrieving Private Key Passphrases (GetPassPhrase)
Changing a Private Key Passphrase (SetPassPhrase)
Retrieving the Path to Trusted Certificates (GetTrustedCertsPath)
Retrieving the Path to Pending Certificates (GetAwaitingCertsPath)
Retrieving a List of Trusted Certificates (GetTrustedCertificates)
Retrieving Information for a Trusted Certificate (GetTrustedCertificateInfo)
Retrieving a List of Pending Certificates (GetPendingCertificates)
Retrieving Information for a Pending Certificate (GetPendingCertificateInfo)
Retrieving a Certificate's Data String (ExportTrustedCertificate)
Saving a Trusted Certificate to a File (ImportTrustedCertificate)
Deleting a Trusted Certificate (RemoveTrustedCertificate)
Deleting a Pending Certificate (RemovedPendingCertificate)
Adding a Pending Certificate to the Trusted List (AddCerficateToTrusted)
SITE CERTIFICATES AND KEYS PARAMETERS
The dialog box below is labeled with the Site certificates and keys parameters that are available in the ICISite interface. These parameters also can be viewed/set in the Administrator interface on the Connections tab of the Site. (Currently, you cannot enable or set the port of SFTP via COM.)
Report Information Interface (ICIReportInfo)
127
Refer to the topics below for details of these parameters
Retrieving the File Path for Certificates (GetCertFilePath)
Changing the Certificate File Path (SetCertFilePath)
Retrieving the File Path for Private Keys (GetKeyFilePath)
Changing the Private Key File Path (SetKeyFilePath)
Retrieving Private Key Passphrases (GetPassPhrase)
Changing a Private Key Passphrase (SetPassPhrase)
Verifying if Client Certificates are Required (GetCheckClientCert)
Requiring User Certificates on Implicit SSL Sites (SetCheckClientCert)
Retrieving the SFTP (SSH) Certificate File Path (GetSSHKeyFilePath)
Specifying the SFTP (SSH) Certificate File Path (SetSSHKeyFilePath)
GlobalSCAPE COM API
128
RETRIEVING THE FILE PATH FOR CERTIFICATES (GETCERTFILEPATH)
Use the ICISite interface GetCertFilePath method to retrieve the file path for SSL certificates.
Signature:
HRESULT GetCertFilePath([out, retval] BSTR *prop);
Refer to Site Certificates and Keys Parameters for an illustration of how this and other ICISite methods can be accessed in the Administrator interface.
CHANGING THE CERTIFICATE FILE PATH (SETCERTFILEPATH)
Use the ICISite interface SetCertFilePath method to change the file path to server certificates.
Signature:
HRESULT SetCertFilePath(
[in] BSTR newVal,
[out, retval] VARIANT_BOOL *pNeedRestart);
Refer to Site Certificates and Keys Parameters for an illustration of how this and other ICISite methods can be accessed in the Administrator interface.
RETRIEVING THE FILE PATH FOR PRIVATE KEYS (GETKEYFILEPATH)
Use the ICISite interface GetKeyFilePath method to retrieve the file path for private keys.
Signature:
HRESULT GetKeyFilePath([out, retval] BSTR *prop);
Refer to Site Certificates and Keys Parameters for an illustration of how this and other ICISite methods can be accessed in the Administrator interface.
CHANGING THE PRIVATE KEY FILE PATH (SETKEYFILEPATH)
Use the ICISite interface SetKeyFilePath method to change the file path to private keys. If you must restart the server for the changes to take effect, the SetKeyFilePath method returns a value of TRUE.
Signature:
HRESULT SetKeyFilePath(
[in] BSTR newVal,
[out, retval] VARIANT_BOOL *pNeedRestart);
Refer to Site Certificates and Keys Parameters for an illustration of how this and other ICISite methods can be accessed in the Administrator interface.
RETRIEVING PRIVATE KEY PASSPHRASES (GETPASSPHRASE)
Use the ICISite interface GetPassPhrase method to retrieve private key passphrases.
Signature:
HRESULT GetPassPhrase([out, retval] BSTR *prop);
Refer to Site Certificates and Keys Parameters for an illustration of how this and other ICISite methods can be accessed in the Administrator interface.
Report Information Interface (ICIReportInfo)
129
CHANGING A PRIVATE KEY PASSPHRASE (SETPASSPHRASE)
Use the ICISite interface SetPassPhrase method to change a private key pass phrase. If you must restart the server for the changes to take effect, the SetPassPhrase method returns a value of TRUE.
Signature:
HRESULT SetPassPhrase(
[in] BSTR newVal,
[out, retval] VARIANT_BOOL *pNeedRestart);
Refer to Site Certificates and Keys Parameters for an illustration of how this and other ICISite methods can be accessed in the Administrator interface.
VERIFYING IF CLIENT CERTIFICATES ARE REQUIRED (GETCHECKCLIENTCERT)
Use the ICISite interface GetCheckClientCert method to determine if the server requires certificates from users connecting via implicit SSL. If the Server requires certificates, the GetCheckClientCert method returns a value of TRUE.
Signature:
HRESULT GetCheckClientCert([out, retval] VARIANT_BOOL *prop);
True = Required
False = Not required
Refer to Site Certificates and Keys Parameters for an illustration of how this and other ICISite methods can be accessed in the Administrator interface.
REQUIRING USER CERTIFICATES ON IMPLICIT SSL SITES (SETCHECKCLIENTCERT)
Use the ICISite interface SetCheckClientCert method to enable or disable the requirement of certificates on implicit SSL sites. If you must restart the server for the change to take effect the SetCheckClientCert method returns a value of TRUE.
Signature:
HRESULT SetCheckClientCert(
[in] VARIANT_BOOL newVal,
[out, retval] VARIANT_BOOL *pNeedRestart);
Refer to Site Certificates and Keys Parameters for an illustration of how this and other ICISite methods can be accessed in the Administrator interface.
RETRIEVING THE SFTP (SSH) CERTIFICATE FILE PATH (GETSSHKEYFILEPATH)
User the ICISite interface GetSSHKeyFilePath method to retrieve the SSH Certificate file path.
This method is available in EFT Server 4.3.4 and later.
Signature:
HRESULT GetSSHKeyFilePath([out, retval] VARIANT_BOOL *prop);
Refer to Site Certificates and Keys Parameters for an illustration of how this and other ICISite methods can be accessed in the Administrator interface.
GlobalSCAPE COM API
130
SPECIFYING THE SFTP (SSH) CERTIFICATE FILE PATH (SETSSHKEYFILEPATH)
Use the ICISite interface SetSSHKeyFilePath method to change the SSH Certificate file path. If the site must be restarted for the change to take effect, SetSSHKeyFilePath method returns TRUE.
This method is available in EFT Server 4.3.4 and later.
Signature:
HRESULT SetSSHKeyFilePath(
[in] VARIANT_BOOL newVal,
[out, retval] VARIANT_BOOL *pNeedRestart);
Example:
Dim bNeedRestart: bNeedRestart = oSite.SetSSHKeyFilePath("C:\Keys\Key.pvk")
If bNeedRestart Then
Call oSite.Stop()
Call oSite.Start()
End If
Refer to Site Certificates and Keys Parameters for an illustration of how this and other ICISite methods can be accessed in the Administrator interface.
RETRIEVING THE PATH TO TRUSTED CERTIFICATES (GETTRUSTEDCERTSPATH)
Use the ICISite interface GetTrustedCertsPath method to retrieve the file path to the Server's trusted certificates.
Signature:
HRESULT GetTrustedCertsPath([out, retval] BSTR *prop);
Refer to Site Certificates and Keys Parameters for an illustration of how this and other ICISite methods can be accessed in the Administrator interface.
RETRIEVING THE PATH TO PENDING CERTIFICATES (GETAWAITINGCERTSPATH)
Use the ICISite interface GetAwaitingCertsPath method to retrieve the file path to the server's trusted certificates.
Signature:
HRESULT GetAwaitingCertsPath([out, retval] BSTR *prop);
Refer to Site Certificates and Keys Parameters for an illustration of how this and other ICISite methods can be accessed in the Administrator interface.
RETRIEVING INFORMATION FOR A TRUSTED CERTIFICATE (GETTRUSTEDCERTIFICATEINFO)
Use the ICISite interface GetTrustedCertificateInfo method and a trusted certificate's ID to retrieve the trusted certificate's information from the Server. This method will open the ICICertInfo interface.
Signature:
HRESULT GetTrustedCertificateInfo(
[in] long lID,
[out, retval] ICICertInfo **prop);
Refer to Site Certificates and Keys Parameters for an illustration of how this and other ICISite methods can be accessed in the Administrator interface.
Report Information Interface (ICIReportInfo)
131
RETRIEVING A LIST OF TRUSTED CERTIFICATES (GETTRUSTEDCERTIFICATES)
Use the ICISite interface GetTrustedCertificates method to retrieve a list of trusted certificates.
Signature:
HRESULT GetTrustedCertificates([out, retval] VARIANT *aCerts);
Refer to Site Certificates and Keys Parameters for an illustration of how this and other ICISite methods can be accessed in the Administrator interface.
RETRIEVING A LIST OF PENDING CERTIFICATES (GETPENDINGCERTIFICATES)
Use the ICISite interface GetPendingCertificates method to retrieve a list of untrusted, pending certificates.
Signature:
HRESULT GetPendingCertificates([out, retval] VARIANT *aCerts);
Refer to Site Certificates and Keys Parameters for an illustration of how this and other ICISite methods can be accessed in the Administrator interface.
RETRIEVING INFORMATION FOR A PENDING CERTIFICATE (GETPENDINGCERTIFICATEINFO)
Use the ICISite interface GetPendingCertificateInfo method and a pending certificate's ID to retrieve the pending certificate's information from the server. This method will open the ICICertInfo interface.
Signature:
HRESULT GetPendingCertificateInfo(
[in] long lID,
[out, retval] ICICertInfo **prop);
Refer to Site Certificates and Keys Parameters for an illustration of how this and other ICISite methods can be accessed in the Administrator interface.
RETRIEVING A CERTIFICATE'S DATA STRING (EXPORTTRUSTEDCERTIFICATE)
Use the ICISite interface ExportTrustedCertificate method and a trusted certificate's ID to retrieve the actual certificate data string from the server.
Signature:
HRESULT ExportTrustedCertificate(
[in] long lID,
[out, retval] BSTR *bstrCertData);
Refer to Site Certificates and Keys Parameters for an illustration of how this and other ICISite methods can be accessed in the Administrator interface.
SAVING A TRUSTED CERTIFICATE TO A FILE (IMPORTTRUSTEDCERTIFICATE)
Use the ICISite interface ImportTrustedCertificate method, to save a trusted certificate to a file on the server.
Signature:
HRESULT ImportTrustedCertificate([in] BSTR bstrCertPath);
Refer to Site Certificates and Keys Parameters for an illustration of how this and other ICISite methods can be accessed in the Administrator interface.
GlobalSCAPE COM API
132
DELETING A TRUSTED CERTIFICATE (REMOVETRUSTEDCERTIFICATE)
Use the ICISite interface RemoveTrustedCertificate method to delete a trusted certificate from the server.
Signature:
HRESULT RemoveTrustedCertificate([in] long lID);
Refer to Site Certificates and Keys Parameters for an illustration of how this and other ICISite methods can be accessed in the Administrator interface.
DELETING A PENDING CERTIFICATE (REMOVEDPENDINGCERTIFICATE)
Use the ICISite interface RemovePendingCertificate method to delete a pending certificate from the server.
Signature:
HRESULT RemovePendingCertificate([in] long lID);
Refer to Site Certificates and Keys Parameters for an illustration of how this and other ICISite methods can be accessed in the Administrator interface.
ADDING A PENDING CERTIFICATE TO THE TRUSTED LIST (ADDCERFICATETOTRUSTED)
Use the ICISite interface AddCertificateToTrusted method to retrieve the ID of an imported trusted SSL certificate. The returned value can be used to assign the imported certificate to a client with the ICIClientSettings::SetSSLKeyID() method.
HRESULT AddCertificateToTrusted(
[in] long lID, // ID of pending certificate
[out, retval] long *lNewID); // ID of imported trusted certificate
Example (VBScript):
'Loop through pending certificates
'and assign certificate to a client
'if the certificate common name
'coincides with client's full name
For Each pID in Site.GetPendingCertificates
If Site.GetPendingCertificateInfo(pID).SubjectCName = C.FullName Then
tID = Site.AddCertificateToTrusted(pID)
C.SetSSLAuthenticationType "key"
C.SetSSLKeyID tID
End If
Next
SPECIFYING THE SSL CERTIFICATE FOR A SITE (SETSSLCERTIFICATE)
Available in EFT Server 6.1 and later.
Use the ICISite::SetSSLCertificate method to specify the SSL certificate for serving SSL-based connections (HTTPS/FTPS/AS2/Web Services).
HRESULT SetSSLCertificate(
[in] BSTR bzCertFilePath, // Certificate path
[in] BSTR bzKeyFilePath, // Certificate private key path
[in] BSTR bzPassPhrase); // Certificate private key password
Report Information Interface (ICIReportInfo)
133
Example (VBScript):
Site.SetSSLCertificate "C:\MySite.crt", "C:\ MySite.key", "My-Site_passwd"
SITE VFS FOLDERS The methods below are used to manage a Site's folders using the ICISite interface. Also refer to Permission Interface (IPermission) for other VFS-related settings.).
Retrieving a List of Folders (GetFolderList)
Retrieving a List of Folder Permissions (GetFolderPermissions)
Setting Folder Permissions (SetPermission)
Removing Folder Permissions (RemovePermission)
Creating Blank Permissions (GetBlankPermission)
Creating a Physical Folder (CreatePhysicalFolder)
Creating a Virtual Folder (CreateVirtualFolder)
Deleting a Folder (RemoveFolder)
Renaming a Folder (RenameFolder)
Remapping a Virtual Folder Path (RemapVirtualFolder)
RETRIEVING A LIST OF FOLDERS (GETFOLDERLIST)
Use the ICISite interface GetFolderList method and a folder name to retrieve a list of all the folder's physical and virtual subfolders. Each subfolder will be followed by a carriage return (0D0A).
Signature:
HRESULT GetFolderList(
[in] BSTR bstrFolderAlias,
[out, retval] BSTR *prop);
Each folder that appears in the folder list MIGHT have a trailing character to indicate something special about that folder.
The colon character (:) is used to denote that a folder is EFS encrypted. If you need to use the subfolder name in your script or program, parse out the colon character.
The double quotation mark (") is used to denote that the folder has subfolders. If you need to use the subfolder name in your script or program, parse out the double quotation mark.
For example, CISite.GetFolderList( "/" ) might return something like:
Bin:
Pub
Usr"
Where:
The colon : at the end of Bin indicates that the folder is EFS encrypted.
The quotation mark " at the end of Usr indicates that the folder has subfolders.
The absence of a colon or quotation mark after Pub indicates that it is not EFS encrypted and does not have subfolders.
GlobalSCAPE COM API
134
RETRIEVING A LIST OF FOLDER PERMISSIONS (GETFOLDERPERMISSIONS)
Use the ICISite interface GetFolderPermissions method to retrieve a list of all folder permissions, including inherited permissions.
Signature:
HRESULT GetFolderPermissions(
[in] BSTR bstrFolder,
[out, retval] VARIANT *aPermissions);
Example:
Dim arPermissions: arPermissions = oSite.GetFolderPermissions("/usr/test")
For iCount = LBound(arPermissions) To UBound(arPermissions)
Set oPermission = arPermissions(iCount)
WScript.Echo oPermission.Folder & " - " & oPermission.Client
Next
SETTING FOLDER PERMISSIONS (SETPERMISSION)
Use the ICISite interface SetPermission method to add folder permissions or to change existing permissions.
Signature:
HRESULT SetPermission (
[in]IPermission *pPermission,
[in, optional] VARIANT_BOOL bRemoveOtherPermissions);
Optional Parameter
If you want to set permissions on a folder for a user and remove all other permissions, pass TRUE to the second parameter of setPermission(). This will REMOVE all other permissions from a folder (that is, break the inheritance).
For example,
set perm = Site.GetBlankPermission( "/usr/foo", "foo" )
perm.FileDelete = True
perm.FileUpload = True
perm.FileDownload = False
Site.SetPermission( perm, True )
REMOVING FOLDER PERMISSIONS (REMOVEPERMISSION)
Use the ICISite interface RemovePermission method, a folder name, and a client name to delete permissions from folders.
Signature:
HRESULT RemovePermission(
[in] BSTR bstrFolder,
[in] BSTR bstrClient);
CREATING BLANK PERMISSIONS (GETBLANKPERMISSION)
Use the ICISite interface GetBlankPermission method, a folder name, and a client name to create a new set of permissions.
Report Information Interface (ICIReportInfo)
135
Signature:
HRESULT GetBlankPermission(
[in] BSTR bstrFolder,
[in] BSTR bstrClient,
[out, retval] IPermission **pPermission);
After you have defined the permissions you must use the SetPermisson method to apply the changes you have made.
CREATING A PHYSICAL FOLDER (CREATEPHYSICALFOLDER)
Use the ICISite interface CreatePhysicalFolder method and a relative path to create a new physical folder on the server.
Signature:
HRESULT CreatePhysicalFolder([in] BSTR bstrNewFolder);
Use forward slashes instead of back slashes.
Example in VB:
Call Object.CreatePhysicalFolder("/folderpath/")
'another example:
MySite.CreatePhysicalFolder("/Usr/jsmith/")
'Note that backslashes "\" will not work:
MySite.CreatePhysicalFolder("\Usr\jsmith\") <--will fail!
CREATING A VIRTUAL FOLDER (CREATEVIRTUALFOLDER)
Use the ICISite interface CreateVirtualFolder method with relative path and a physical target path to create a new virtual folder on a site.
Signature:
HRESULT CreateVirtualFolder(/*[in]*/ BSTR bstrNewFolder,
/*[in]*/ BSTR bstrTarget );
Example:
Call oSite.CreateVirtualFolder("/pub/temp/", "C:\Temp\")
DELETING A FOLDER (REMOVEFOLDER)
Use the ICISite interface RemoveFolder method to delete a folder from a site.
Signature:
HRESULT RemoveFolder([in] BSTR bstrFolder);
RENAMING A FOLDER (RENAMEFOLDER)
Use the ICISite interface RenameFolder method to change a folder's name.
GlobalSCAPE COM API
136
Signature:
HRESULT RenameFolder(
[in] BSTR bstrSrcFolder,
[in] BSTR bstrDstFolder);
REMAPPING A VIRTUAL FOLDER PATH (REMAPVIRTUALFOLDER)
Use the ICISite interface RemapVirtualFolder method to update an existing virtual folder path to point to a new physical folder.
This method is available in EFT Server 4.3.4 and later.
Examples:
var bResult = oSite.RemapVirtualFolder( "/usr/name", \\\\filer01\\home\\name")
var bResult = oSite.RemapVirtualFolder "/MyVirtualFolder", "c:\testfolder"
RETRIEVING THE PHYSICAL PATH TO A VIRTUAL FOLDER
Use the ICISite interface GetPhysicalPath method to retrieve the physical path linked to a virtual folder.
This method is available in EFT Server 5.2.5 and later.
Example:
Msgbox Site.GetPhysicalPath("/Usr")
Returns a message box displaying the physical path, such as:
SITE PERMISSION GROUPS The methods below are used to manage a Site's Permission Groups.
Creating a Permissions Group (CreatePermissionGroup)
Retrieving a List of Permission Groups on a Site (GetPermissionGroups)
Retrieving a List of Users of Specified Permission Groups (GetPermissionGroupList)
Deleting a Permission Group (RemovePermissionGroup)
Renaming a Permission Group (RenamePermissionGroup)
Adding a User to a Permission Group (AddUserToPermissionGroup)
Deleting a User from a Permission Group (RemoveUserFromPermissionGroup)
Retrieving a List of a User's Permission Groups (GetPermissionGroupsOfUser)
CREATING A PERMISSIONS GROUP (CREATEPERMISSIONGROUP)
Use the ICISite interface CreatePermissionGroup method to add a new permission group to a site.
Signature:
HRESULT CreatePermissionGroup([in] BSTR bstrName);
Report Information Interface (ICIReportInfo)
137
Permission Groups control user access to files and folders. Settings Levels control user access (bandwidth resources, banned file times, disk quota, etc.) to the server's resources.
RETRIEVING A LIST OF PERMISSION GROUPS ON A SITE (GETPERMISSIONGROUPS)
Use the ICISite interface GetPermissionGroups method to retrieve a list of permission groups on a site.
Signature:
HRESULT GetPermissionGroups([out, retval] VARIANT *aGroups);
Permission Groups control user access to files and folders. Settings Levels control user access (bandwidth resources, banned file times, disk quota, etc.) to the server's resources.
RETRIEVING A LIST OF USERS OF SPECIFIED PERMISSION GROUPS (GETPERMISSIONGROUPLIST)
Use the ICISite interface GetPermissionGroupList method to retrieve a list of users of specified permission groups.
Signature:
HRESULT GetPermissionGroupList(
/*[in]*/ BSTR bstrGroup,
/*[out, retval]*/ VARIANT *aUsers);
Example:
Dim arUsers: arUsers = oSite.GetPermissionGroupList("Administrative")
For iCount = LBound(arUsers) To UBound(arUsers)
WScript.Echo arUsers(iCount)
Next
DELETING A PERMISSION GROUP (REMOVEPERMISSIONGROUP)
Use the ICISite interface RemovePermissionGroup method to delete a permission group from a site.
Signature:
HRESULT RemovePermissionGroup([in] BSTR bstrName);
RENAMING A PERMISSION GROUP (RENAMEPERMISSIONGROUP)
Use the ICISite interface RenamePermissionGroup method to change the name of a permission group.
Signature:
HRESULT RenamePermissionGroup(
[in] BSTR bstrOldName,
[in] BSTR bstrNewName);
ADDING A USER TO A PERMISSION GROUP (ADDUSERTOPERMISSIONGROUP)
Use the ICISite interface AddUserToPermissionGroup method to add a user to a permission group.
GlobalSCAPE COM API
138
Signature:
HRESULT AddUserToPermissionGroup(
[in] BSTR bstrUser,
[in] BSTR bstrGroup);
DELETING A USER FROM A PERMISSION GROUP (REMOVEUSERFROMPERMISSIONGROUP)
Use the ICISite interface RemoveUserFromPermissionGroup method to delete a user from a permission group.
Signature:
HRESULT RemoveUserFromPermissionGroup(
[in] BSTR bstrUser,
[in] BSTR bstrGroup);
RETRIEVING A LIST OF A USER'S PERMISSION GROUPS (GETPERMISSIONGROUPSOFUSER)
Use the ICISite interface GetPermissionGroupsOfUser method to list all of a user's permission groups.
Signature:
HRESULT GetPermissionGroupsOfUser(
[in] BSTR bstrUser,
[out, retval] VARIANT *aGroups);
SITE USERS AND SETTINGS LEVELS The methods below are used to manage a Site's Users and Settings Levels.
Creating a User (CreateUser and CreateUserEx)
Retrieving a List of Users (GetUsers)
Deleting a User (RemoveUser)
Renaming a User (RenameUser)
Retrieving a List of User Settings Levels (GetSettingsLevels)
Retrieving a List of Users in a User Settings Level (GetSettingsLevelUsers)
Creating a User Settings Level (CreateSettingsLevel)
Deleting a User Settings Level (RemoveSettingsLevel)
Renaming a Settings Level (RenameSettingsLevel)
Moving a User to a User Settings Level (MoveUserToSettingsLevel)
Changing a User's Password (ChangeUserPassword)
Validating a User's Password (ValidatePassword)
Creating a Complex Password for a User (CreateComplexPassword)
Retrieving a List of Connected Users (GetConnectedUsers)
Retrieving a List of a Settings in a User Settings Level (GetSettingsLevelSettings)
Retrieving a User's Settings (GetUserSettings)
Synchronizing the User Database (ForceSynchronizeUserDatabase)
Forcing a User to Log Off of the Site (KickUser)
Report Information Interface (ICIReportInfo)
139
CREATING A USER (CREATEUSER AND CREATEUSEREX)
Use the ICISite interface CreateUser method or the CreateUserEx method to create a new user on a site. The CreateUser method creates users with the default values. The CreateUserEx method allows you to set values for all parameters.
Signature:
HRESULT CreateUser(
[in] BSTR bstrLogin,
[in] BSTR bstrPwd,
[in] int nPwdType,
[in] BSTR bstrDescription);
HRESULT CreateUserEx(
[in] BSTR bstrLogin,
[in] BSTR bstrPwd,
[in] int nPwdType,
[in] BSTR bstrDescription,
[in] BSTR bstrFullName,
[in] VARIANT_BOOL bCreateHomeFolder,
[in] VARIANT_BOOL bFullPermissionsForHomeFolder,
[in, optional] BSTR bstrSettingsLevel);
The CreateUser[Ex] method will fail if a simple password is provided and enforce complex passwords is enabled in EFT Server. For example, the following will fail if enforce complex passwords is enabled in EFT Server:
oSite.CreateUser "tuser1", "testpassword", 0 "New User"
For the method to work, you must do one of the following:
Disable enforcement of complex passwords.
Provide a complex password. For example:
oSite.CreateUser "test", "$1$Bn3YdWKv$.BS3Qb2UQTV4SmV1JNN.w/", 0, "New
User"
Call the CreateComplexPassword method and use the resulting string in the CreateUser[Ex] method. For example (in pseudo code):
strUserPass = oUserSettings.CreateComplexPassword()
oSite.CreateUser "test", strUserPass, 0, "New User"
Parameters Table
Parameter Input
bstrLogin User name
bstrPwd User password
nPwdType Password type (see Password Table)
bstrDescription Description of user
GlobalSCAPE COM API
140
Parameter Input
bstrFullName User's full name
bCreateHomeFolder TRUE if user home folder should be created and assigned
bFullPermissionsForHomeFolder TRUE if the user should have administrator rights for their home folder
bstrSettingsLevel User's settings level name or ID.
Password Table
Value Password type
0 Regular (hashed)
1 Anonymous (regular with empty password)
2 Anonymous (require email as password)
3 OTP-MD4
4 OTP-MD5
5
Literal (no hash) - For use when importing shadow passwords from a *nix password file. The format must follow: $1$*$* For example, user: test, password: test would be:
site.ChangeUserPassword "test", "$1$Bn3YdWKv$.BS3Qb2UQTV4SmV1JNN.w/", 5
DES-format passwords are not supported. These are password formats without the salt defined, that is, without the $1$.
RETRIEVING A LIST OF USERS (GETUSERS)
Use the ICISite interface GetUsers method to retrieve a list of users on a site.
Signature:
HRESULT GetUsers([out, retval] VARIANT *aUsers);
DELETING A USER (REMOVEUSER)
Use the ICISite interface RemoveUser method to delete a user from a site.
Signature:
HRESULT RemoveUser([in] BSTR bstrLogin);
Report Information Interface (ICIReportInfo)
141
RENAMING A USER (RENAMEUSER)
Use the ICISite interface RenameUser method to change a user's name.
Signature:
HRESULT RenameUser(
[in] BSTR bstrOldName,
[in] BSTR bstrNewName);
RETRIEVING A LIST OF USER SETTINGS LEVELS (GETSETTINGSLEVELS)
Use the ICISite interface GetSettingsLevels method to retrieve a list of Settings Levels on a site.
Signature:
HRESULT GetSettingsLevels([out, retval] VARIANT *aGroups);
Settings Levels control user access (bandwidth resources, banned file times, disk quota, etc.) to the server's resources. Permission Groups control user access to files and folders.
RETRIEVING A LIST OF USERS IN A USER SETTINGS LEVEL (GETSETTINGSLEVELUSERS)
Use the ICISite interface GetSettingsLevelUsers method to retrieve a list of users assigned to a Settings Level.
Signature:
HRESULT GetSettingsLevelUsers(
[in] BSTR bstrGroup,
[out, retval] VARIANT *aUsers);
Settings Levels control user access (bandwidth resources, banned file times, disk quota, etc.) to the server's resources. Permission Groups control user access to files and folders.
CHANGING A USER'S PASSWORD (CHANGEUSERPASSWORD)
Use the ICISite interface ChangeUserPassword method to change a user's password and password type.
Signature:
HRESULT ChangeUserPassword([in] BSTR bstrUser,
[in] BSTR bstrPwd,
[in] int nPwdType);
Password Table
Value Password type
0 Regular (hashed)
1 Anonymous (regular with empty password)
2 Anonymous (require email as password)
GlobalSCAPE COM API
142
Value Password type
3 OTP-MD4
4 OTP-MD5
5
Literal (no hash) - For use when importing shadow passwords from a *nix password file. The format must follow: $1$*$* For example, user: test, password: test would be:
site.ChangeUserPassword "test",
"$1$Bn3YdWKv$.BS3Qb2UQTV4SmV1JNN.w/", 5
DES-format passwords are not supported. These are password formats without the salt defined (that is, without the $1$).
VALIDATING A USER'S PASSWORD (VALIDATEPASSWORD)
Use the ICISite interface ValidatePassword method to validate a user's password.
This method is available in EFT Server 4.3.4 and later.
Signature:
HRESULT ValidatePassword(
[in] BSTR bstrUser,
[in] BSTR bstrPwd,
[out, retval] VARIANT_BOOL *bValid);
Example:
If oSite.ValidatePassword( "test", "pass") Then
WScript.Echo "Valid password"
End If
CREATING A COMPLEX PASSWORD FOR A USER (CREATECOMPLEXPASSWORD)
Use the ICISite interface CreateComplexPassword method to generate a complex password that meets the complexity criteria specified for the site.
This method is available in EFT Server 5.0 and later.
Signature:
HRESULT CreateComplexPassword([in, optional] BSTR bstrUserName, [out, retval], BSTR
*bstrPassword);
Example:
The following example generates a password that adheres to the complexity policy enforced for an existing user:
Dim strNewPassword
strNewPassword = oUserSettings.CreateComplexPassword("test")
WScript.Echo "New Password: " strNewPassword
Call oUserSettings.ChangeUserPassword("test", strNewPassword, 1)
Report Information Interface (ICIReportInfo)
143
This example illustrates how to obtain a password from the Server that meets the complexity requirements for the Setting Level that is configured as the default for the site, which is useful when creating new users:
Dim strNewPassword
strNewPassword = oUserSettings.CreateComplexPassword()
WScript.Echo "New Password: " strNewPassword
Call oUserSettings.CreateUser("test", strNewPassword, 0, "New User Description")
RETRIEVING A USER'S SETTINGS (GETUSERSETTINGS)
Use the ICISite interface GetUserSettings method to retrieve a list of a user's settings.
In versions 5.2.5 and later, GetUserSettings is case insensitive. That is, in many non-windows environments “KMarsh” and “kmarsh” are two different usernames and case matters. With this method, “KMarsh”, “KMARSH”, and “kmarsh” are all the same user account.
Signature:
HRESULT GetUserSettings(
[in] BSTR bstrUser,
[out, retval] ICIClientSettings **prop);
Example:
Site.GetUserSettings("kmarsh")
FORCING A USER TO LOG OFF OF THE SITE (KICKUSER)
Use the ICISite interface KickUser method to force a user to log off/disconnect from a Site.
This method is available in EFT Server 4.3.4 and later.
Signature:
HRESULT KickUser(
/*[in]*/ long nUserID,
/*[out, retval]*/ VARIANT_BOOL *pSuccess)
Example:
Dim bResult: bResult = oSite.KickUser(1)
If bResult Then
WScript.Echo "User disconnected successfully."
Else
WScript.Echo "Failed to disconnect the user."
End If
CREATING A USER SETTINGS LEVEL (CREATESETTINGSLEVEL)
Use the ICISite interface CreateSettingsLevel method to add a new Settings Level to a Site.
Signature:
HRESULT CreateSettingsLevel(
[in] BSTR bstrName,
[in] BSTR bstrDescription);
GlobalSCAPE COM API
144
Settings Levels control user access (bandwidth resources, banned file times, disk quota, etc.) to the server's resources. Permission Groups control user access to files and folders.
DELETING A USER SETTINGS LEVEL (REMOVESETTINGSLEVEL)
Use the ICISite interface RemoveSettingsLevel method to delete a Settings Level from a site.
Signature:
HRESULT RemoveSettingsLevel([in] BSTR bstrName);
RENAMING A SETTINGS LEVEL (RENAMESETTINGSLEVEL)
Use the ICISite interface RenameSettingsLevel method to rename a Settings Level.
Signature:
HRESULT RenameSettingsLevel(
[in] BSTR bstrOldName,
[in] BSTR bstrNewName);
MOVING A USER TO A USER SETTINGS LEVEL (MOVEUSERTOSETTINGSLEVEL)
Use the ICISite interface MoveUserToSettingsLevel method to move a user to a new Settings Level.
Signature:
HRESULT MoveUserToSettingsLevel(
[in] BSTR bstrUser,
[in] BSTR bstrGroup);
RETRIEVING A LIST OF CONNECTED USERS (GETCONNECTEDUSERS)
Use the ICISite interface GetConnectedUsers method to retrieve the a list of users currently connected to a site.
This method is available in EFT Server 4.3.4 and later.
Signature:
HRESULT GetConnectedUsers([out, retval] VARIANT *user);
Example:
dim arConnectedUsers: oSite.GetConnectedUsers()
For iCount = LBound(arConnectedUsers) To UBound(arConnectedUsers)
WScript.Echo arConnectedUsers(iCount)
Next
RETRIEVING A LIST OF SETTINGS IN A USER SETTINGS LEVEL (GETSETTINGSLEVELSETTINGS)
Use the ICISite interface GetSettingsLevelSettings method to retrieve a list of settings in a Settings Level.
Signature:
HRESULT GetSettingsLevelSettings(
Report Information Interface (ICIReportInfo)
145
[in] BSTR bstrGroup,
[out, retval] ICIClientSettings **prop);
Settings Levels control user access to the Server. Permission Groups control user access to files and folders.
REFRESHING THE USER DATABASE (FORCESYNCHRONIZEUSERDATABASE)
Use the ICISite interface ForceSynchronizeUserDatabase method to synchronize with the user database. This will reload the user list and settings from the authentication store.
Signature:
HRESULT ForceSynchronizeUserDatabase();
SITE CUSTOM COMMANDS The methods below are used to manage a Site's Custom Commands.
Retrieving a List of Custom Commands (GetCommands)
Retrieving a Custom Command's Settings (GetCommandSettings)
Creating a New Custom Command (CreateCommand)
Assigning the Event Rule Custom Command Working Folder (AssignEventRuleCustomCommandWorkingFolder)
Deleting a Custom Command (RemoveCommand)
RETRIEVING A LIST OF CUSTOM COMMANDS (GETCOMMANDS)
Use the ICISite interface GetCommands method to retrieve a list of custom commands.
Signature:
HRESULT GetCommands([out, retval] VARIANT *aCommands);
RETRIEVING A CUSTOM COMMAND'S SETTINGS (GETCOMMANDSETTINGS)
Use the ICISite interface GetCommandSettings method to retrieve a list of a custom commands settings and to access the ICICommandSettings interface.
Signature:
HRESULT GetCommandSettings(
[in] BSTR bstrCommand,
[out, retval] ICICommandSettings **prop);
CREATING A NEW CUSTOM COMMAND (CREATECOMMAND)
Use the ICISite interface CreateCommand method to create a new custom command for a site and to open the ICICommandSettings interface.
Signature:
HRESULT CreateCommand(
[in] BSTR bstrName,
[out, retval] ICICommandSettings **prop);
GlobalSCAPE COM API
146
ASSIGNING THE EVENT RULE CUSTOM COMMAND WORKING FOLDER (ASSIGNEVENTRULECUSTOMCOMMANDWORKINGFOLDER)
Use the ICISite interface AssignEventRuleCustomCommandWorkingFolder method to update all instances of a given custom command in the Event Rule list to use a specified working folder.
This activity is also recorded in the database as an administrator action.
This method is available in EFT Server 4.3.4 and later.
Signature:
HRESULT AssignEventRuleCustomCommandWorkingFolder (
[in] BSTR bstrCustomCommandName,
[in] BSTR bstrWorkingFolder);
Example:
Dim strCommandName: strCommandName = "RunScript"
Dim strNewWorkingFolder: strNewWorkingFolder = "C:\Script\folder"
oSite.AssignEventRuleCustomCommandWorkingFolder(strCommandName,
strNewWorkingFolder)
DELETING A CUSTOM COMMAND (REMOVECOMMAND)
Use the ICISite interface RemoveCommand method to delete a custom command from a Site.
Signature:
HRESULT RemoveCommand([in] BSTR bstrName);
SITE IP MASKS The methods below are used to manage a Site's IP masks.
Adding an IP Mask to a Site (AddIPAccessRule)
Removing an IP Mask from a Site (RemoveIPAccessRule)
Retrieving a List of Allowed IP Masks (GetAllowedMasks)
Retrieving a List of Denied IP Masks (GetDeniedMasks)
SETTING IP ADDRESSES THAT HAVE ACCESS TO A SITE (IPACCESSALLOWEDDEFAULT)
Use the ICISite interface IPAccessAllowedDefault property to specify whether IP addresses are denied or allowed by default. Use the same property to deny or allow a range of IP addresses based on masks you choose with the AddIPAccessRule method.
In the Administrator interface, you can set this property on the Site's Connections tab, in the IP Access/Ban List.
Signature:
HRESULT IPAccessAllowedDefault([out, retval] VARIANT_BOOL *pVal);
HRESULT IPAccessAllowedDefault([in] VARIANT_BOOL newVal);
True = Allowed
False = Denied
ADDING AN IP MASK TO A SITE (ADDIPACCESSRULE)
Use the ICISite interface AddIPAccessRule method to add an allowed or denied IP mask to a site.
Report Information Interface (ICIReportInfo)
147
Signature:
HRESULT AddIPAccessRule(
[in] BSTR bstrMask,
[in] VARIANT_BOOL bAllow);
REMOVING AN IP MASK FROM A SITE (REMOVEIPACCESSRULE)
Use the ICISite interface RemoveIPAccessRule method to delete an allowed or denied IP mask from a site.
Signature:
HRESULT RemoveIPAccessRule(
[in] BSTR bstrMask,
[in] VARIANT_BOOL bAllow);
RETRIEVING A LIST OF ALLOWED IP MASKS FOR A SITE (GETALLOWEDMASKS)
Use the ICISite interface GetAllowedMasks method to retrieve a list of allowed IP masks for a site.
Signature:
HRESULT GetAllowedMasks([out, retval] VARIANT *aMasks);
RETRIEVING A LIST OF DENIED IP MASKS (GETDENIEDMASKS)
Use the ICISite interface GetDeniedMasks method to retrieve a list of IP masks prohibited for a site.
Signature:
HRESULT GetDeniedMasks([out, retval] VARIANT *aMasks);
PERMISSION INTERFACE (ICIPERMISSION)
The ICIPermissions interface represents the permissions for folders. Obtain it by using the GetFolderPermissions method of the ICISite interface. You can also use the GetBlankPermission method to start with no permissions. (Refer to Site VFS Folders for details of ICISite methods related to the VFS.)
Example:
aPerm = s.GetFolderPermissions("\pub\")
Set p = s.GetBlankPermission("\pub\", "Administrative")
Available Properties
Retrieving a Folder Name (Folder)
Retrieving a Client or Permission Group Name (Client)
Granting Upload Permission (FileUpload)
Granting Delete Permission (FileDelete)
Granting Rename Permission (FileRename)
Granting Append File Permission (FileAppend)
Granting Download Permission (FileDownload)
Granting Folder Creation Permission (DirCreate)
Granting Folder Deletion Permission (DirDelete)
GlobalSCAPE COM API
148
Granting Permission to View a List of Folder Contents (DirList)
Showing Hidden Files (DirShowHidden)
Showing Read-Only Files (DirShowReadOnly)
Showing or Hiding Folders (DirShowInList)
Changing properties in the IPermission interface has no effect until you call the ICISite SetPermission method.
PERMISSION INTERFACE PROPERTIES The VFS permissions can be viewed/set in the Administrator interface on the VFS tab.
The illustration below is labeled with the methods that are available in the IPermission interface.
Refer to the topics below for details of these parameters
Retrieving a Folder Name (Folder)
Retrieving a Client or Permission Group Name (Client)
Granting Upload Permission (FileUpload)
Granting Download Permission (FileDownload)
Granting Append File Permission (FileAppend)
Granting Delete Permission (FileDelete)
Granting Rename Permission (FileRename)
Granting Permission to View a List of Folder Contents (DirList)
Showing or Hiding Folders (DirShowInList)
Granting Folder Creation Permission (DirCreate)
Granting Folder Deletion Permission (DirDelete)
Showing Hidden Files (DirShowHidden)
Showing Read-Only Files (DirShowReadOnly)
Report Information Interface (ICIReportInfo)
149
RETRIEVING A FOLDER NAME (FOLDER) Use the Permission interface Folder property to retrieve a folder's name.
Signature:
HRESULT Folder([out, retval] BSTR *pVal);
Refer to Permission Interface Properties for an illustration of how this and other Permission properties can be accessed in the Administrator interface.
RETRIEVING A CLIENT OR PERMISSION GROUP NAME (CLIENT) Use the Permission interface Client property to retrieve a client's name or a permission group's name.
Signature:
HRESULT Client([out, retval] BSTR *pVal);
Refer to Permission Interface Properties for an illustration of how this and other Permission properties can be accessed in the Administrator interface.
GRANTING UPLOAD PERMISSION (FILEUPLOAD) Use the Permission interface FileUpload property to determine if group or client has permission to upload to a folder, and to allow or deny uploading permission.
Signature:
HRESULT FileUpload([out, retval] VARIANT_BOOL *pVal);
HRESULT FileUpload([in] VARIANT_BOOL newVal);
True = Allowed
False = Prohibited
Refer to Permission Interface Properties for an illustration of how this and other Permission properties can be accessed in the Administrator interface.
GRANTING DOWNLOAD PERMISSION (FILEDOWNLOAD) Use the Permission interface FileDownload property to determine if group or client has permission to download from a folder, and to allow or deny downloading permisson.
Signature:
HRESULT FileDownload([out, retval] VARIANT_BOOL *pVal);
HRESULT FileDownload([in] VARIANT_BOOL newVal);
True = Allowed
False = Prohibited
Refer to Permission Interface Properties for an illustration of how this and other Permission properties can be accessed in the Administrator interface.
GRANTING APPEND FILE PERMISSION (FILEAPPEND) Use the Permission interface FileAppend property to determine if a group or client has permissions to append files in a folder, and to allow or deny appending permission.
GlobalSCAPE COM API
150
Signature:
HRESULT FileAppend([out, retval] VARIANT_BOOL *pVal);
HRESULT FileAppend([in] VARIANT_BOOL newVal);
True = Allowed
False = Prohibited
Refer to Permission Interface Properties for an illustration of how this and other Permission properties can be accessed in the Administrator interface.
GRANTING DELETE PERMISSION (FILEDELETE) Use the Permission interface FileDelete property to determine if a group or client has permissions to delete files and folders from a folder, and to allow or deny deletions.
Signature:
HRESULT FileDelete([out, retval] VARIANT_BOOL *pVal);
HRESULT FileDelete([in] VARIANT_BOOL newVal);
True = Allowed
False = Prohibited
Refer to Permission Interface Properties for an illustration of how this and other Permission properties can be accessed in the Administrator interface.
GRANTING RENAME PERMISSION (FILERENAME) Use the Permission interface FileRename property to determine if a group or client has permissions to rename files and folders in a folder, and to allow or deny renaming permission.
Signature:
HRESULT FileRename([out, retval] VARIANT_BOOL *pVal);
HRESULT FileRename([in] VARIANT_BOOL newVal);
True = Allowed
False = Prohibited
Refer to Permission Interface Properties for an illustration of how this and other Permission properties can be accessed in the Administrator interface.
GRANTING PERMISSION TO VIEW A LIST OF FOLDER CONTENTS (DIRLIST)
Use the Permission interface Dirlist property to determine if a group or client has permissions to see a list of folder contents, and to allow or deny permission to see folder lists.
Signature:
HRESULT DirList([out, retval] VARIANT_BOOL *pVal);
HRESULT DirList([in] VARIANT_BOOL newVal);
True = Allowed
False = Prohibited
Refer to Permission Interface Properties for an illustration of how this and other Permission properties can be accessed in the Administrator interface.
Report Information Interface (ICIReportInfo)
151
Difference between DirList and DirShowInList Permission
Within the VFS system, the DirList file permission and the DirShowInList folder permission can confuse users as to the intended operation of the server. At first glance, it would appear that DirList refers to the ability to see files in the directory and DirShowInList would refer to the ability to see folders in the directory, but this is incorrect.
The DirList file permission refers to the user’s ability to retrieve a directory listing from the Server. If this option is enabled, the user is able to see a list of files in the directory. If it is disabled, no files or directories will be visible.
The DirShowInList permission is a bit more complex in that the permission corresponds to whether or not the directory will show up when a directory listing is retrieved in the parent directory. The interaction between inheritance and this setting can therefore lead to a bit of confusion.
Let’s use the following folder structure as an example:
If you select the folder Alex and disable the DirShowInList permission for folder Jane, then when user Jane navigates to the /Usr/ directory and retrieves a directory listing, the folder Alex will NOT appear in her directory listing. To complicate matters, however, Jane still has access to the folder and if someone tells her to manually navigate to that folder she will still be able to perform actions within the Alex folder (provided she has appropriate permissions). In this scenario, by default, when user Jane retrieves a directory listing from within the folder Alex, she will only see a list of files in the folder; she will not see any subfolders in the folder. Why? Because the subfolders (incoming, outgoing, and shared) have all inherited the disabled DirShowInList setting!
Summary:
The DirList permission applies to both files and folders in the current folder.
The DirShowInList permission applies to the visibility of the current folder in its parent directory.
Default inheritance rules will not allow the display of subfolders of a DirShowInList-disabled folder.
SHOWING OR HIDING FOLDERS (DIRSHOWINLIST) Use the Permission interface DirShowInList property to determine if a group or client can see a folder, and to display or hide the folder.
Signature:
HRESULT DirShowInList([out, retval] VARIANT_BOOL *pVal);
HRESULT DirShowInList([in] VARIANT_BOOL newVal);
True = Displayed
False = Hidden
Refer to "Difference between DirList and DirShowInList Permission" in Granting Permission to View a List of Folder Contents (DirList) to view and example of the two permissions and how they differ.
Refer to Permission Interface Properties for an illustration of how this and other Permission properties can be accessed in the Administrator interface.
GlobalSCAPE COM API
152
GRANTING FOLDER CREATION PERMISSION (DIRCREATE) Use the Permission interface DirCreate property to determine if a group or client has permissions to create folders within a folder, and to allow or deny folder creation permission.
Signature:
HRESULT DirCreate([out, retval] VARIANT_BOOL *pVal);
HRESULT DirCreate([in] VARIANT_BOOL newVal);
True = Allowed
False = Prohibited
Refer to Permission Interface Properties for an illustration of how this and other Permission properties can be accessed in the Administrator interface.
GRANTING FOLDER DELETION PERMISSION (DIRDELETE) Use the Permission interface DirDelete property to determine if a group or client has permissions to delete folders within a folder, and to allow or prohibit folder deletion.
Signature:
HRESULT DirDelete([out, retval] VARIANT_BOOL *pVal);
HRESULT DirDelete([in] VARIANT_BOOL newVal);
True = Allowed
False = Prohibited
Refer to Permission Interface Properties for an illustration of how this and other Permission properties can be accessed in the Administrator interface.
SHOWING HIDDEN FILES (DIRSHOWHIDDEN) Use the Permission interface DirShowHidden property to determine if a group or client can see hidden files, and to display or hide hidden files.
Signature:
HRESULT DirShowHidden([out, retval] VARIANT_BOOL *pVal);
HRESULT DirShowHidden([in] VARIANT_BOOL newVal);
True = Displayed
False = Hidden
You must allow folder listing before you can choose to hide or display hidden files.
Refer to Permission Interface Properties for an illustration of how this and other Permission properties can be accessed in the Administrator interface.
SHOWING READ-ONLY FILES (DIRSHOWREADONLY) Use the Permission interface DirShowReadOnly property to determine if a group or client can see read-only files, and to display or hide read-only files.
Signature:
HRESULT DirShowReadOnly([out, retval] VARIANT_BOOL *pVal);
HRESULT DirShowReadOnly([in] VARIANT_BOOL newVal);
True = Displayed
Report Information Interface (ICIReportInfo)
153
False = Hidden
You must allow folder listing before you can choose to hide or display read-only files.
Refer to Permission Interface Properties for an illustration of how this and other Permission properties can be accessed in the Administrator interface.
AUDIT INTERFACE (ICIAUDIT)
These methods are available in EFT Server 6.0.
The ICIAudit interface methods are used to log audit information related to the Secure Ad Hoc Transfer (SAT) module.
Available Methods
Auditing a SAT E-mail in ARM
Auditing a SAT File in ARM
Auditing a SAT Transaction in ARM
AUDITING A SAT E-MAIL IN ARM (AUDITSATEMAIL)
This method is available in EFT Server 6.0.
Use the ICIAudit interface AuditSATEmail method to audit SAT e-mails in the Auditing and Reporting Module (ARM). (Use the ICIServer Auditor method to retrieve the audit interface.)
Signature:
HRESULT AuditSATEmail(
BSTR Email, LONG EmailType, BSTR TransGUID);
AUDITING A SAT FILE IN ARM (AUDITSATFILE)
This method is available in EFT Server 6.0.
Use the ICIAudit interface AuditSATFile method to audit files transferred in the Auditing and Reporting Module (ARM). (Use the ICIServer Auditor method to retrieve the audit interface.)
Signature:
HRESULT AuditSATFile(
BSTR FileName, LONGLONG FileSize, BSTR TransGUID);
AUDITING A SAT TRANSACTION IN ARM (AUDITSATTRANSACTION)
This method is available in EFT Server 6.0.
Use the ICIAudit interface AuditSATTransaction method to audit SAT transactions in the Auditing and Reporting Module (ARM). (Use the ICIServer Auditor method to retrieve the audit interface.)
Signature:
HRESULT AuditSATTransaction(
GlobalSCAPE COM API
154
BSTR From, BSTR Subject, BSTR Body, BSTR TempUserName, BSTR TempPassword,
BSTR SiteName, LONG ExpireDays, BSTR TransGUID, BSTR Reserved1, BSTR
Reserved2);
CLIENT SETTINGS INTERFACE (ICICLIENTSETTINGS)
The ICIClientSettings interface displays the user properties defined for a user in EFT Server.
This method is available in EFT Server 5.0 and later.
Use GetUserSettings or GetSettingsLevelSettings methods in the ICISite interface to manage user account or settings level (template) settings.
Example
Set oUser = oSite.GetUserSettings(aUsr(j))
Set 0SettingsLevel = oSite.GetSettingsLevelSettings("Default Settings")
Once you obtain a handle to the user or settings level settings, you can Get or Set permissions for that user or template.
When you call methods or change properties of the ICIClientSettings interface, you must call ICIServer's ApplyChanges method in order for the changes to take effect.
SFTPAdvBool Data Type
Some methods of the ICIClientSettings interface use the SFTPAdvBool data type. It is an enumeration data type and it is similar to VARIANT_BOOL, but it has one additional value: abInherited. When a user setting is given the abInherited value, it means the user setting is inherited from the user's Settings Level.
SFTPAdvBool Data Type Definition
typedef enum
{
abFalse = 0,
abTrue = 1,
abInherited = -2
} SFTPAdvBool;
USER ACCOUNT DETAILS User account details include the user's full name, phone, e-mail, fax, and pager, and can include custom fields and comments. You can view/set the user account details in the Administrator interface on the user's General tab by clicking Account Details. The dialog box below is labeled with some of the parameters that are available in the ICIClientSettings interface
Report Information Interface (ICIReportInfo)
155
.
Refer to the topics below for details of these parameters
Viewing User Properties - (FullName)
Viewing User Properties - (Phone)
Viewing User Properties - (Email)
Viewing User Properties - (Fax)
Viewing User Properties - (Pager)
Viewing User Properties - (Custom)
Viewing User Properties - (Comment)
VIEWING USER PROPERTIES - (FULLNAME)
Use the ICIClientSettings Interface FullName property to view a user's full name.
This method is available in EFT Server 5.0 and later.
Signature:
HRESULT FullName([in] BSTR bstrLogin);
Refer to User Account Details Properties for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
RETRIEVING A USER'S DESCRIPTION (GETDESCRIPTION)
Use the ICIClientSettings interface GetDescription method to retrieve the description for a user or User Settings Level.
Signature:
HRESULT GetDescription([out, retval] BSTR *prop);
GlobalSCAPE COM API
156
SPECIFYING A USER DESCRIPTION (SETDESCRIPTION)
Use the ICIClientSettings interface SetDescription method to enter the description for a user or Settings Level.
Signature:
HRESULT SetDescription([in] BSTR bstrVal);
VIEWING USER PROPERTIES - (PHONE)
Use the ICIClientSettings Interface Phone property to view a user's telephone number.
This method is available in EFT Server 5.0 and later.
Signature:
HRESULT Phone([in] BSTR bstrLogin);
Refer to User Account Details Properties for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
VIEWING USER PROPERTIES - (EMAIL)
Use the ICIClientSettings Interface Email property to view a user's email address.
This method is available in EFT Server 5.0 and later.
Signature:
HRESULT Email([in] BSTR bstrLogin);
Refer to User Account Details Properties for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
VIEWING USER PROPERTIES - (FAX)
Use the ICIClientSettings Interface Fax property to view a user's fax number.
This method is available in EFT Server 5.0 and later.
Signature:
HRESULT Fax([in] BSTR bstrLogin);
Refer to User Account Details Properties for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
VIEWING USER PROPERTIES - (PAGER)
Use the ICIClientSettings Interface Pager property to view a user's pager number.
This method is available in EFT Server 5.0 and later.
Signature:
HRESULT pager([in] BSTR bstrLogin);
Refer to User Account Details Properties for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Report Information Interface (ICIReportInfo)
157
VIEWING USER PROPERTIES - (CUSTOM)
Use the ICIClientSettings Interface Custom1, Custom2, or Custom3 property to view the custom fields of a user object.
Refer to User Account Details Properties for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
This method is available in EFT Server 5.0 and later.
Signature:
HRESULT Custom1([in] BSTR bstrLogin);
HRESULT Custom1([in] BSTR bstrLogin);
HRESULT Custom1([in] BSTR bstrLogin);
Example
// eftTestCustomFields.js
// CREATED: 24 May 2007
// Script to confirm use of EFT5 Custom Fields properties of a CClientSettings in
Javascript through COM API.
//
var args = WScript.Arguments;
if ( args.length < 5 )
{
WScript.Echo("Usage: eftTestCustomFields <eft host> <eft port> <userid> <password>
<user id>\n");
WScript.Echo("Example: cscript eftTestCustomFields.js 192.168.20.101 1100 admin
admin foo\n");
WScript.Quit(1);
}
var sHost = args(0);
var iPort = args(1);
var sUser = args(2);
var sPass = args(3);
var sAccountName = args(4);
var server = new ActiveXObject("SFTPCOMInterface.CIServer");
WScript.Echo("Connecting...");
server.Connect(sHost, iPort, sUser, sPass);
WScript.Echo("Connected!");
var site = server.Sites().SiteByID(1); // for simplicity, assume first site
var oSettings = site.GetUserSettings(sAccountName);
WScript.Echo("Obtained user settings for user account '" + oSettings.FullName + "'
with home directory: " + oSettings.GetHomeDirString() );
WScript.Echo("Custom1='" + oSettings.Custom1 + "'");
WScript.Echo("Custom2='" + oSettings.Custom2 + "'");
WScript.Echo("Custom3='" + oSettings.Custom3 + "'");
// Now set the custom fields to new values
GlobalSCAPE COM API
158
WScript.Echo("\nSetting new values...");
oSettings.Custom1 = "Random=" + Math.floor((65535*Math.random())) + " [" + (new
Date()).toLocaleString() + "]";
oSettings.Custom2 = "Random=" + Math.floor((65535*Math.random())) + " [" + (new
Date()).toLocaleString() + "]";
oSettings.Custom3 = "Random=" + Math.floor((65535*Math.random())) + " [" + (new
Date()).toLocaleString() + "]";
server.ApplyChanges();
// Now REQUERY to CONFIRM the custom fields are the new values
WScript.Echo("Requerying values...");
var oSettings = site.GetUserSettings(sAccountName);
WScript.Echo("\nObtained NEW user settings for user account '" + oSettings.FullName
+ "' with home directory: " + oSettings.GetHomeDirString() );
WScript.Echo("Custom1='" + oSettings.Custom1 + "'");
WScript.Echo("Custom2='" + oSettings.Custom2 + "'");
WScript.Echo("Custom3='" + oSettings.Custom3 + "'");
server.Close();
WScript.Echo("\nDone");
WScript.Quit(0);
VIEWING USER PROPERTIES - (COMMENT)
Use the ICIClientSettings Interface Comment property to view comments for a user object.
This method is available in EFT Server 5.0 and later.
Signature:
HRESULT Comment([in] BSTR bstrLogin);
Refer to User Account Details Properties for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
USER ACCOUNT GENERAL SETTINGS User account general settings include whether the account is enabled, get/set expiration date, get/set the home folder, and get/set user disk quota. You can view/set the user account general settings in the Administrator interface on the user's General tab. The illustration below is labeled with some of the parameters that are available in the ICIClientSettings interface for the user account's general settings.
Report Information Interface (ICIReportInfo)
159
.
Refer to the topics below for details of these parameters
Determining if a User Account or User Settings Level is Enabled (GetEnableAccount)
Enabling a User Account or User Settings Level (SetEnableAccount)
Determining if the Account Home Folder is the Default Root Folder (GetHomeDirIsRoot)
Specifying the Default Root Folder (SetHomeDirIsRoot)
Determining if Users Can Have a Home Folder (GetHomeDir)
Allowing Users to Have a Home Folder (SetHomeDir)
Determining the Expiration Date for a User Account (GetExpirationDate)
Specifying the Expiration Date for a User Account (SetExpirationDate)
Determining the Expiration Date for a User Account (GetExpirationDateAsVariant)
Retrieving Users' Home Folders (GetHomeDirString)
Determining if an Account has a Disk Quota (GetEnableDiskQuota)
Limiting a User's Disk Space (SetEnableDiskQuota)
Specifying the Path to Users' Home Folders (SetHomeDirString)
Determining the Disk Quota Size (GetMaxSpace)
Specifying a User's Disk Quota (SetMaxSpace)
Determining How Much Disk Space a User has Used (GetUsedSpace)
DETERMINING IF A USER ACCOUNT OR USER SETTINGS LEVEL IS ENABLED (GETENABLEACCOUNT)
Use the ICIClientSettings interface GetEnableAccount method to check if a user account or Settings level is enabled.
Signature:
HRESULT GetEnableAccount(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] VARIANT_BOOL *pVal);
0 = Disabled
GlobalSCAPE COM API
160
1 = Enabled
Refer to User Account General Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
ENABLING A USER ACCOUNT OR USER SETTINGS LEVEL (SETENABLEACCOUNT)
Use the ICIClientSettings interface SetEnableAccount method to enable a user account or Settings Level. Refer to User Account General Settings for an illustration of how this and other ICIClientSettings can be accessed in the Administrator interface.
Signature:
HRESULT SetEnableAccount([in] SFTPAdvBool val);
0 = Disable
1 = Enable
-2 = Inherit
You need to obtain a handle to the specific user or settings level from ICISite's GetUserSettings method or ICISite's GetSettingsLevelSettings method before you can perform an action upon that user or settings level. Below is a sample code snippet using PHP that demonstrates this technique:
<?php
// first create server object
$Server = new COM("SFTPCOMInterface.CIServer") or die("Unable to
instantiate Server");
// connect to server
$Server->Connect("localhost",1000,"admin","admin");
// get handle to list of sites
$Sites = $Server->Sites();
// chose your site. On most one-site systems this will be "0"
$MySite = $Sites->Item(0);
// Pull the settings for the user that you want.
$Settings = $MySite->GetUserSettings("juser");
// enable or disable or inherit.
// Enable is 1. Disable is 0. Inherit is -2
// Notice that you apply this to the settings for the user that you just
pulled
$Settings->SetEnableAccount(1);
// Be sure to apply the settings or else nothing will really change
$Server->ApplyChanges();
// close the connection.
$Server->Close();
?>
DETERMINING IF THE ACCOUNT HOME FOLDER IS THE DEFAULT ROOT FOLDER (GETHOMEDIRISROOT)
Use the ICIClientSettings interface GetHomeDirIsRoot method to check if a user account home folder is set as the user's default root folder. Refer to User Account General Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT GetHomeDirIsRoot(
[out, optional] VARIANT_BOOL *pInherited,
Report Information Interface (ICIReportInfo)
161
[out, retval] VARIANT_BOOL *pVal);
0 = No
1 = Yes
SPECIFYING THE DEFAULT ROOT FOLDER (SETHOMEDIRISROOT)
Use the ICIClientSettings interface SetHomeDirIsRoot method to set a user's home folder as the user's default root folder. Refer to User Account General Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT SetHomeDirIsRoot([in] SFTPAdvBool val);
0 = Not default
1 = Is default
-2 = Inherited from User Settings Level
DETERMINING IF USERS CAN HAVE A HOME FOLDER (GETHOMEDIR)
Use the ICIClientSettings interface GetHomeDir method to find the whether the user or User Settings Level can have a home folder. Refer to User Account General Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT GetHomeDir(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] long *pVal);
SPECIFYING A USER'S HOME FOLDER (SETHOMEDIR)
Use the ICIClientSettings interface SetHomeDir method to specify the home folder for a user account.
HRESULT SetHomeDir([in] SFTPAdvBool val); //client has separate
// home folder?
Example (VBScript):
client.SetHomeDir abInherited 'use home folder from Settings Template
DETERMINING THE EXPIRATION DATE FOR A USER ACCOUNT (GETEXPIRATIONDATE)
Use the ICIClientSettings interface GetExpirationDate method to determine whether an expiration date is set for a particular user account. (Set the expiration date with SetExpirationDate.) Refer to User Account General Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT GetExpirationDate([out]VARIANT *dDate, [out, retval] VARIANT_BOOL *pVal);
GlobalSCAPE COM API
162
Example:
sUser = "q"
sExpirationDate = "Never"
If Site.GetUserSettings(sUser).GetExpirationDate(expirationDate) Then
sExpirationDate = CStr(expirationDate)
End If
MsgBox "Account " & sUser & " expiration date: " & sExpirationDate
The method returns True/False (whether expiration date is set) and, if True, sets (i.e., modifies) its first parameter to the expiration date.
SPECIFYING THE EXPIRATION DATE FOR A USER ACCOUNT (SETEXPIRATIONDATE)
Use the ICIClientSettings interface SetExpirationDate method to set the expiration date for a particular user account. Use GetExpirationDate to determine whether the expiration date is set. When passing values to COM methods, VARIANTS are preferred to STRING values. Refer to User Account General Settings for an illustration of how this and other Client Settings interface methods and properties can be accessed in the Administrator interface.
Signature:
HRESULT SetExpirationdate (
[in] VARIANT *dDate,
[in] VARIANT_BOOL *bEnable);
This example, written in PHP 5, uses a VARIANT rather than a STRING to set the expiration date:
$expiredate = "05/15/2005";
$enableexpiration = 1;
$vtdate = new VARIANT($expiredate, VT_DATE);
$UserSettings->SetExpirationDate($expiredate, $enableexpiration);
DETERMINING THE EXPIRATION DATE FOR A USER ACCOUNT (GETEXPIRATIONDATEASVARIANT )
Use the ICIClientSettings interface GetExpirationDateAsVariant method to determine the expiration date for a particular user account, set with SetExpirationDate. Refer to User Account General Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
This method is available in EFT Server 4.3.4 and later.
Signature:
HRESULT GetExpirationDateAsVariant(
[out, retval] VARIANT *dDate);
dDate results in a string value, i.e. "4/29/05"
Example:
Dim strUser: strUser = "test"
set oUserSettings = oSite.GetUserSettings(strUser)
dtAccExpDate = oUserSettings.GetExpirationDateAsVariant()
WScript.Echo ("dtAccExpDate = " & dtAccExpDate)
Report Information Interface (ICIReportInfo)
163
RETRIEVING USERS' HOME FOLDERS (GETHOMEDIRSTRING)
Use the ICIClientSettings interface GetHomeDirString method to retrieve the path to a user or User Settings Level home folder. Refer to User Account General Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT GetHomeDirString([out, retval] BSTR *prop);
DETERMINING IF AN ACCOUNT HAS A DISK QUOTA (GETENABLEDISKQUOTA)
Use the ICIClientSettings interface GetEnableDiskQuota method to determine if a user account's home folder space is restricted. Refer to User Account General Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT GetEnableDiskQuota(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] VARIANT_BOOL *pVal);
0 = Disabled
1 = Enabled
LIMITING A USER'S DISK SPACE (SETENABLEDISKQUOTA)
Use the ICIClientSettings interface SetEnableDiskQuota method to limit the amount of space a user can use in a home folder. Use the same method to turn off the limit. Refer to User Account General Settings for an illustration of how this and other ICIClientSettings can be accessed in the Administrator interface.
Signature:
HRESULT SetEnableDiskQuota([in] SFTPAdvBool val);
0 = Disable
1 = Enable
-2 = Inherit
SPECIFYING THE PATH TO USERS' HOME FOLDERS (SETHOMEDIRSTRING)
Use the ICIClientSettings interface SetHomeDirString method to set the path to a user or User Settings Level home folder. Refer to User Account General Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT SetHomeDirString([in] BSTR bstrVal);
GlobalSCAPE COM API
164
DETERMINING THE DISK QUOTA SIZE (GETMAXSPACE)
Use the ICIClientSettings interface GetMaxSpace method to determine the amount of space a user can use in a home folder. The number returned represents kilobytes. Refer to User Account General Settings for an illustration of how this and other ICIClientSettings can be accessed in the Administrator interface.
Signature:
HRESULT GetMaxSpace(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] long *pVal);
SPECIFYING A USER'S DISK QUOTA (SETMAXSPACE)
Use the ICIClientSettings interface SetMaxSpace method to choose the amount of space, in kilobytes, a user can use in a home folder. Refer to User Account General Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT SetMaxSpace([in] long val);
DETERMINING HOW MUCH DISK SPACE A USER HAS USED (GETUSEDSPACE)
Use the ICIClientSettings interface GetUsedSpace method to determine the amount of disk space, in kilobytes, a user has used in a home folder. (Does not depend on parent Settings Level.)
HRESULT GetUsedSpace([out, retval] long *pVal);
Example (VBScript):
MsgBox "Client data occupy " & client.GetUsedSpace & " KB"
USER PASSWORD SETTINGS The methods below are used to retrieve information about or change user password settings.
USER PASSWORD SETTINGS
User password settings include whether a complex password must be used, invalid login attempts, and so on . You can view/set the user password settings in the Administrator interface on the user's Security tab. The illustration below is labeled with some of the parameters that are available in the ICIClientSettings interface for the user password settings.
Report Information Interface (ICIReportInfo)
165
Refer to the topics below for details of these parameters
Determining if Users Can Create Any Password (GetAllowAnyPwd)
Allowing Users to Create Any Password (SetAllowAnyPwd)
Determining if Users are Allowed to Change their Passwords (GetChangePwd)
Allowing Users to Change their Passwords (SetChangePwd)
Forcing a User to Change Password on Login (ForcePasswordChange)
Viewing Whether Account Lockout is Enabled for a User (GetLockoutNotDisable)
Setting Account Lockout for a User (SetLockoutNotDisable)
Viewing a User's Lockout Period (LockoutPeriod)
Determining the Number of Failed Password Attempts (GetIncorrectPasswordAttempts)
Specifying the Number of Incorrect Password Attempts (SetIncorrectPasswordAttempts)
Viewing Invalid Attempts Period for a Client (InvalidAttemptsPeriod)
DETERMINING IF USERS CAN CREATE ANY PASSWORD (GETALLOWANYPWD)
This method is available only in EFT Server 6.0 and prior. An administrator can make the user account anonymous with the ICISite::ChangeUserPassword method.
Use the ICIClientSettings::GetAllowAnyPwd method to determine whether a user may create any password (i.e., complex passwords not required). Refer to User Password Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT GetAllowAnyPwd(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] VARIANT_BOOL *pVal);
Values:
0 = Prohibited
GlobalSCAPE COM API
166
1 = Allowed
Example:
Dim strUser: strUser = "test"
Set oUserSettings = oSite.GetUserSettings(strUser)
bUserPwd = oUserSettings.GetAllowAnyPwd()
WScript.Echo ("bUserPwd= " & bUserPwd)
ALLOWING USERS TO CREATE ANY PASSWORD (SETALLOWANYPWD)
This method is available only in EFT Server 6.0 and prior. An administrator can make the user account anonymous with the ICISite::ChangeUserPassword method.
Use the ICIClientSettings interface SetAllowAnyPwd method to specify whether a user to create any password (i.e., complex passwords not required). Refer to User Password Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT SetAllowAnyPwd(
[in] SFTPAdvBool val);
Values:
0 = Prohibited
1 = Allowed
-2 = Inherited
Example:
Dim strUser:strUser = "test"
set oUserSettings = oSite.GetUserSettings(strUser)
oUserSettings.SetAllowAnyPwd ( True )
DETERMINING IF USERS ARE ALLOWED TO CHANGE THEIR PASSWORDS (GETCHANGEPWD)
Use the ICIClientSettings interface GetChangePwd method to check if users can change their passwords. Refer to User Password Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT GetChangePwd(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] VARIANT_BOOL *pVal);
0 = Prohibit
1 = Allow
-2 = Inherit
Report Information Interface (ICIReportInfo)
167
ALLOWING USERS TO CHANGE THEIR PASSWORDS (SETCHANGEPWD)
Use the ICIClientSettings interface SetChangePwd method to allow a user to change passwords. Use the same method to prohibit the user from changing passwords. Refer to User Password Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT SetChangePwd([in] SFTPAdvBool val);
0 = Prohibit
1 = Allow
-2 = Inherit
FORCING A USER TO CHANGE PASSWORD ON LOGIN (FORCEPASSWORDCHANGE)
This method is available in EFT Server 6.0.
Use the ICIClientSettings interface ForcePasswordChange method to force users to change their password upon next login. Refer to User Password Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT ForcePasswordChange(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] VARIANT_BOOL *pVal);
0 = True; 1 = False
VIEWING WHETHER ACCOUNT LOCKOUT IS ENABLED FOR A USER (GETLOCKOUTNOTDISABLE)
Use the ICIClientSettings interface GetLockoutNotDisable method to determine whether account lockout is enabled for a user. Refer to User Password Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
This method is available in EFT Server 5.1.1 and later.
Signature:
HRESULT GetLockoutNotDisable(
[out] VARIANT_BOOL *pInherited,
[out, retval] VARIANT_BOOL *pVal);
Values
True = Lockout is disabled
False = Lockout is not disabled
ENABLING ACCOUNT LOCKOUT FOR A USER (SETLOCKOUTNOTDISABLE)
Use the ICIClientSettings interface SetLockoutNotDisable method to enable account lockout for a user.
This method is available in EFT Server 5.1.1 and later.
HRESULT SetLockoutNotDisable(
[in] VARIANT_BOOL val); // true => lock account on invalid
GlobalSCAPE COM API
168
// login attempt limit reaching;
// false => disable account
Example (VBScript):
client.SetLockoutNotDisable False
VIEWING A USER'S LOCKOUT PERIOD (LOCKOUTPERIOD)
Use the ICIClientSettings Interface LockoutPeriod property to view the length of time a user's account is locked out after invalid login attempts. Refer to User Password Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
This method is available in EFT Server 5.1.1 and later.
Signature:
HRESULT LockoutPeriod([in] BSTR bstrLogin);
Values are 30, 60, or 90 minutes
DETERMINING THE NUMBER OF FAILED PASSWORD ATTEMPTS (GETINCORRECTPASSWORDATTEMPTS)
Use the ICIClientSettings interface GetIncorrectPasswordAttempts method to show how many times a user has tried to connect with incorrect log in information. Refer to User Password Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT GetIncorrectPasswordAttempts(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] long *pVal);
SPECIFYING THE NUMBER OF INCORRECT PASSWORD ATTEMPTS (SETINCORRECTPASSWORDATTEMPTS)
Not available in EFT Server 6.1 and later.
Use the ICIClientSettings interface SetIncorrectPasswordAttempts method to set the number of times a user can try to connect with incorrect log in information.
Signature:
HRESULT SetIncorrectPasswordAttempts(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] long *pVal);
VIEWING INVALID ATTEMPTS PERIOD FOR A CLIENT (INVALIDATTEMPTSPERIOD)
Use the ICIClientSettings Interface InvalidAttemptsPeriod property to view the length of time during which invalid login attempts are counted for a client. Refer to User Password Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
This method is available in EFT Server 5.1.1 and later.
Report Information Interface (ICIReportInfo)
169
Signature:
HRESULT InvalidAttemptsPeriod([in] BSTR bstrLogin);
VIEWING THE NUMBER OF INVALID LOGIN ATTEMPTS ALLOWED FOR A CLIENT (MAXINVALIDLOGINATTEMPTS)
Use the ICIClientSettings interface MaxInvalidLoginAttempts property to view the maximum number of invalid login attempts a client can make to a Site. Refer to User Password Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
This method is available in EFT Server 5.1.1 and later.
Signature:
HRESULT MaxInvalidLoginAttempts([out, retval] long *pVal);
HRESULT MaxInvalidLoginAttempts([in] long newVal);
RETRIEVING THE MAXIMUM NUMBER OF FAILED LOGIN ATTEMPTS ALLOWED PER USER (GETPWDRETRIES)
Use the ICIClientSettings interface GetPwdRetries method to determine the number of times a user can try to connect with an incorrect password. Refer to User Password Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT GetPwdRetries(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] long *pVal);
SPECIFYING THE FAILED PASSWORD LIMIT (SETPWDRETRIES)
Use the ICIClientSettings interface SetPwdRetries method to choose the maximum number of times a user can try to connect to the server with incorrect log in information. Refer to User Password Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT SetPwdRetries([in] long val);
DETERMINING FAILED PASSWORD LIMIT (GETHASPWDRETRIES)
Use the ICIClientSettings interface GetHasPwdRetries method to determine if a user account will be disabled after trying too many bad passwords in a row. Refer to User Password Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
GetHasPwdRetries/SetHasPwdRetries are related to old "disable account after X login attempts" feature, which became obsolete when the PCI-enhanced feature "disable/lockout account after X login attempts in X minute period" was introduced. These methods were left in the .dll for compatibility with old scripts.
Signature:
HRESULT GetHasPwdRetries(
GlobalSCAPE COM API
170
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] VARIANT_BOOL *pVal);
0 = Unlimited
1 = Limited
LIMITING FAILED PASSWORD ATTEMPTS (SETHASPWDRETRIES)
Use the ICIClientSettings interface SetHasPwdRetries method to disable an account if a user enters bad passwords too many times in a row. Use the same method to allow an unlimited number of bad passwords. Refer to User Password Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
GetHasPwdRetries/SetHasPwdRetries are related to "disable account after X login attempts" feature, which became obsolete when the PCI DSS-enhanced feature "disable/lockout account after X login attempts in X minute period" was introduced. These methods were left in the .dll for compatibility with old scripts.
Signature:
HRESULT SetHasPwdRetries([in] SFTPAdvBool val);
0 = Disable
1 = Enable
-2 = Inherit
DETERMINING IF OR WHEN ACCOUNT PASSWORD IS TO EXPIRE (ISPASSWORDAGELIMITED)
Available in EFT Server 6.1 and later.
The ICIClientSettings::IsPasswordAgeLimited method to retrieve whether the user account password will expire and, if so, the expiration date.
HRESULT IsPasswordAgeLimited(
[out] VARIANT* pDate, // expiration date (if password will ex-pire)
[out, retval] VARIANT_BOOL* pLimited); // password will expire?
Example (VBScript):
If Client.IsPasswordAgeLimited(date) Then
MsgBox "Client Password will expire " & CStr(date)
End If
DETERMINING WHETHER A USER ACCOUNT'S INACTIVITY PERIOD IS LIMITED (ISACTIVITYPERIODLIMITED)
Available in EFT Server 6.1 and later.
Use the ICIClientSettings::IsInactivityPeriodLimited method tp retrieving whether client account has limited maximum inactivity period and what period end date is.
HRESULT IsInactivityPeriodLimited(
[out] VARIANT* pDate, // maximum inactivity period end date
[out, retval] VARIANT_BOOL* pLimited); // inactivity period limited?
Report Information Interface (ICIReportInfo)
171
Example (VBScript):
If Client.IsInactivityPeriodLimited(date) Then
MsgBox "Client will be sanctioned (removed or disabled)" &_
"if it continues be inactive before " & CStr(date)
End If
USER FTP SECURITY SETTINGS User FTP security settings in the COM API include allowing or blocking anti-timeout schemes, integrity checking, and Mode Z compression. You can also specify a login (banner) message other than the default. You can view/set FTP security settings in the Administrator interface on the user's Connections tab by clicking FTP Config. The dialog box below is labeled with some of the parameters that are available in the ICIClientSettings interface.
Refer to the topics below for details of these parameters
Determining if the NOOP Command is Allowed (GetAllowNoop)
Allowing the NOOP Command (SetAllowNoop)
Determining if the XCRC Command is Allowed (GetAllowXCRC)
Allowing the XCRC Command (SetAllowXCRC)
Determining if ModeZ is Allowed (GetAllowMODEZ)
Allowing MODEZ Compression (SetAllowMODEZ)
Determining How Users' Login Message is Defined (GetLoginMsg)
Specifying the Login Message Used (SetLoginMsg)
Retrieving the Login Message (GetLoginMsgString)
Creating a Login Message (SetLoginMsgString)
DETERMINING IF THE NOOP COMMAND IS ALLOWED (GETALLOWNOOP)
Use the ICIClientSettings interface GetAllowNoop method to check if a user is allowed to use the NOOP command to keep a connection open. Refer to User FTP Security Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT GetAllowNoop(
GlobalSCAPE COM API
172
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] VARIANT_BOOL *pVal);
0 = Prohibit
1 = Allow
-2 = Inherit
ALLOWING THE NOOP COMMAND (SETALLOWNOOP)
Use the ICIClientSettings interface SetAllowNoop method to allow a user to send the NOOP command to keep a connection open. Use the same method to prohibit the user from sending the NOOP command. Refer to User FTP Security Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT SetAllowNoop([in] SFTPAdvBool val);
0 = Prohibit
1 = Allow
-2 = Inherit
DETERMINING IF THE XCRC COMMAND IS ALLOWED (GETALLOWXCRC)
Use the ICIClientSettings interface GetAllowXCRC method to check if a user is allowed to send the XCRC command to confirm successful transfer. Refer to User FTP Security Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT GetAllowXCRC(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] VARIANT_BOOL *pVal);
0 = Prohibit
1 = Allow
-2 = Inherit
ALLOWING THE XCRC COMMAND (SETALLOWXCRC)
Use the ICIClientSettings interface SetAllowXCRC method to allow a user to send the XCRC command to confirm transfers. Use the same method to prohibit the user from sending the XCRC command. Refer to User FTP Security Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT SetAllowXCRC([in] SFTPAdvBool val);
0 = Prohibit
1 = Allow
-2 = Inherit
Report Information Interface (ICIReportInfo)
173
DETERMINING IF MODEZ IS ALLOWED (GETALLOWMODEZ)
Use the ICIClientSettings interface GetAllowMODEZ method to determine if "Allow MODE Z" is enabled for the Site. Refer to User FTP Security Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
You may also pass in an optional BOOLEAN variable as a parameter to this function; when the function returns this optional parameter contains the INHERITED status of this feature (true means inherited from server; false means set locally at the site level).
Signature:
HRESULT GetAllowMODEZ([out, optional] VARIANT_BOOL *pInherited, [out, retval]
VARIANT_BOOL *pVal);
ALLOWING MODE Z COMPRESSION (SETALLOWMODEZ)
Use the ICIClientSettings interface SetAllowMODEZ method to set the "Allow Mode Z" feature of a Site ON or OFF. Refer to User FTP Security Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT SetAllowMODEZ([in] SFTPAdvBool val);
DETERMINING HOW USERS' LOGIN MESSAGE IS DEFINED (GETLOGINMSG)
Use the ICIClientSettings interface GetLoginMsg method to find the whether the server uses the default log in message, adds a custom string to the default message, replaces the default message with a custom string, or if the server uses no login message. Refer to User FTP Security Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
HRESULT GetLoginMsg([out, retval] long *pVal);
//0 => Use default FTP login banner
//1 => Append own message to default FTP login banner
//2 => Replace default FTP login banner with own message
//3 => Do not show FTP login banner at all
Example (VBScript):
If client.GetLoginMsg = 3 Then
MsgBox "No login banner will be shown for the client"
End If
What is the difference between a connection banner and a login message?
1. EFT Server displays a connection banner immediately after a client connects via FTP, before requesting the login credentials.
2. After the client provides the login credentials and the credentials are authenticated, EFT Server displays a login banner.
3. The default login banner is “Login OK, proceed.”
GlobalSCAPE COM API
174
4. At the Settings Template level, you can specify the following alternatives: use default (“Login OK, proceed.”) banner, append something to default (“Login OK, proceed.”) banner, use its own banner, and show no banner at all.
5. A the user account level, you can specify the following alternatives: use default (the one formed at the Settings Template level) banner, append something to default (the one formed at Settings Template level) banner, use its own banner, and show no banner at all.
SPECIFYING THE LOGIN MESSAGE USED (SETLOGINMSG)
Use the ICIClientSettings interface SetLoginMsg method to choose whether the Server uses the default log in message, adds a custom string to the default message, replaces the default message with a custom string, or if the server uses no log in message. Refer to User FTP Security Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT SetLoginMsg([in] long val);
0 = Use default
-1 = Add to default
-2 = Replace default
-3 = None
RETRIEVING THE LOGIN MESSAGE (GETLOGINMSGSTRING)
Use the ICIClientSettings interface GetLoginMsgString method to retrieve a login message. Refer to User FTP Security Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT GetLoginMsgString([out, retval] BSTR *prop);
CREATING A LOGIN MESSAGE (SETLOGINMSGSTRING)
Use the ICIClientSettings interface SetLoginMsgString method to create a login message. Refer to User FTP Security Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT SetLoginMsgString([in] BSTR bstrVal);
USER CONNECTION PROTOCOLS User connection protocols can be configured via the COM API. You can view/set these settings in the Administrator interface on the user's Connections tab. The dialog box below is labeled with some of the parameters that are available in the ICIClientSettings interface.
Report Information Interface (ICIReportInfo)
175
SFTP Authentication Options:
Refer to the topics below for details of these parameters
Determining if Plain FTP Access is Allowed (GetClearFTP)
Allowing Users Plain FTP Connections (SetClearFTP)
Viewing if FTPS is Enabled for a Client (GetFTPS)
Allowing FTPS Access for a Client (SetFTPS)
Viewing if SFTP Access is Enabled for a Client (GetSFTP)
Allowing SFTP Access for a Client (SetSFTP)
Identifying the SFTP Authentication Type (GetSFTPAuthenticationType)
Specifying the SFTP Authentication Type for the Client (SetSftpAuthenticationType)
GlobalSCAPE COM API
176
Retrieving the SFTP (SSH) Certificate ID (GetSSHKeyID)
Specifying the SFTP (SSH) Certificate ID (SetSSHKeyID)
Determining if Plain HTTP Access is Allowed (GetClearHTTP)
Allowing Users to Connect Using Clear HTTP (SetClearHTTP)
Viewing if HTTPS is Enabled for a Client (GetHTTPS)
Determining if SSL Access is Allowed (GetSSL)
Allowing Users SSL Connections (SetSSL)
Identifying the SSL Authentication Type (GetSSLAuthenticationType)
Specifying the SSL Authentication Type (SetSSLAuthenticationType)
Identifying the SSL Key ID (GetSSLKeyID)
Specifying the SSL Key ID (SetSSLKeyID)
Determining Web Transfer Client Access (GetAppletEnabled)
Specifying Web Transfer Client Access (SetAppletEnabled)
DETERMINING IF PLAIN FTP ACCESS IS ALLOWED (GETCLEARFTP)
Use the ICIClientSettings interface GetClearFTP method to determine if a user account can make connections using unsecured FTP. Refer to User Connection Protocols for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT GetClearFTP(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] VARIANT_BOOL *pVal);
0 = Prohibited
1 = Allowed
ALLOWING USERS PLAIN FTP CONNECTIONS (SETCLEARFTP)
Use the ICIClientSettings interface SetClearFTP method to allow a user to connect using unsecure FTP. Use the same method to prohibit the user from making unsecure FTP connections. Refer to User Connection Protocols for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT SetClearFTP([in] SFTPAdvBool val);
0 = Prohibit
1 = Allow
-2 = Inherit
VIEWING IF FTPS IS ENABLED FOR A CLIENT (GETSFTP)
Use the ICIClientSettings interface GetFTPS method to view whether access is enabled for a client. Refer to User Connection Protocols for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
This property is available in EFT Server 6.0.
Report Information Interface (ICIReportInfo)
177
Signature:
HRESULT GetFTPS(
[out] VARIANT_BOOL *pInherited,
[out, retval] VARIANT_BOOL *pVal);
True = Access enabled
False = Access disabled
ALLOWING FTPS ACCESS FOR A CLIENT (SETFTPS)
Use the ICIClientSettings interface SetFTPS method to enable or disable FTPS access for a user account. Refer to User Connection Protocols for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
This property is available in EFT Server 6.0 and later.
Signature:
HRESULT GetFTPS(
[out] VARIANT_BOOL *pInherited,
[out, retval] VARIANT_BOOL *pVal);
True = Access enabled
False = Access disabled
VIEWING IF SFTP ACCESS IS ENABLED FOR A CLIENT (GETSFTP)
Use the ICIClientSettings interface GetSFTP method to view whether access is enabled for a client. Refer to User Connection Protocols for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT GetSFTP(
[out] VARIANT_BOOL *pInherited,
[out, retval] VARIANT_BOOL *pVal);
True = Access enabled
False = Access disabled
Example:
Dim strUser:strUser = "test"
set oUserSettings = oSite.GetUserSettings(strUser)
bIsFTPEnabled = oUserSettings.GetSFTP()
WScript.Echo ("bIsFTPEnabled="& bIsFTPEnabled)
GlobalSCAPE COM API
178
ALLOWING SFTP ACCESS FOR A CLIENT (SETSFTP)
Use the ICIClientSettings interface SetSFTP method to enable or disable FTP access for a client. The site must be restarted for the change to take effect; the SetSFTP method returns TRUE. Refer to User Connection Protocols for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT SetsFTP(
[in] SFTPAdvBool val);
0 = Prohibited
1 = Allowed
-2 = Inherited
Example:
Dim strUser:strUser = "test"
set oUserSettings = oSite.GetUserSettings(strUser)
oUserSettings.SetSFTP ( True )
IDENTIFYING THE SFTP AUTHENTICATION TYPE (GETSFTPAUTHENTICATIONTYPE)
Use the ICIClientSettings interface GetSFTPAuthenticationType method to identify or retrieve the SFTP authentication type for the client. Refer to User Connection Protocols for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT GetSFTPAuthenticationType(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] BSTR *pVal);
Example:
Dim strUser:strUser = "test"
Set oUserSettings = oSite.GetUserSettings(strUser)
Dim strSFTPEnabled: strSFTPEnabled=false
oUserSettings.GetSFTPAuthenticationType(strSFTPEnabled)
Dim strType: strType = oUserSettings.GetSFTPAuthenticationType()
WScript.Echo "SFTP Enabled: " & strSFTPEnabled
WSCript.Echo "SFTP Password type: " & strType
SPECIFYING THE SFTP AUTHENTICATION TYPE FOR THE CLIENT (SETSFTPAUTHENTICATIONTYPE)
Use the ICIClientSettings interface SetSFTPAuthenticationType method to set the authentication type for the client. Refer to User Connection Protocols for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT SetSFTPAuthenticationType(
[in] BSTR val);
Report Information Interface (ICIReportInfo)
179
Example:
Dim strUser:strUser = "test"
set oUserSettings = oSite.GetUserSettings(strUser)
oUserSettings.SetSFTPAuthenticationType ("Password")
The values are:
password (Password only)
key (Public key only)
both (Public key and Password)
RETRIEVING THE SFTP (SSH) CERTIFICATE ID (GETSSHKEYID)
Use the ICIClientSettings interface GetSSHKeyID method to view the SFTP (SSH) certificate ID for the client. Refer to User Connection Protocols for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT GetSSHKeyID(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] long *pVal);
Example:
Dim strUser:strUser = "test"
set oUserSettings = oSite.GetUserSettings(strUser)
Dim iSSHKeyID: iSSHKeyID = oUserSettings.GetSSHKeyID()
WScript.Echo (iSSHKeyID)
SPECIFYING THE SFTP (SSH) CERTIFICATE ID (SETSSHKEYID)
Use the ICIClientSettings interface SetSSHKeyID method to set the SFTP (SSH) certificate ID for the client. Refer to User Connection Protocols for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT SetSSHKeyID(
[in] long val);
Example:
Dim strUser:strUser = "test"
set oUserSettings = oSite.GetUserSettings(strUser)
oUserSettings.SetSSHKeyID(1)
DETERMINING IF PLAIN HTTP ACCESS IS ALLOWED (GETCLEARHTTP)
Use the ICIClientSettings interface GetClearHTTP method to determine if a user account can make connections using unsecured HTTP. Refer to User Connection Protocols for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
GlobalSCAPE COM API
180
This method is available in EFT Server 4.3.4 and 5.1 and later.
Signature:
HRESULT GetClearHTTP(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] VARIANT_BOOL *pVal);
0 = Prohibited
1 = Allowed
ALLOWING USERS TO CONNECT USING CLEAR HTTP (SETCLEARHTTP)
Use the ICIClientSettings interface SetClearHTTP method to allow a user account to make connections using unsecured HTTP. Refer to User Connection Protocols for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
This method is available in EFT Server 4.3.4, 5.1, and later.
Signature:
HRESULT SetClearHTTP(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] VARIANT_BOOL *pVal);
0 = Prohibited
1 = Allowed
VIEWING IF HTTPS ACCESS IS ENABLED FOR A CLIENT (GETHTTPS)
Use the ICIClientSettings interface GetHTTPS method to view whether access is enabled for a client. Refer to User Connection Protocols for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
This property is available in EFT Server 6.0.
Signature:
HRESULT GetHTTPS(
[out] VARIANT_BOOL *pInherited,
[out, retval] VARIANT_BOOL *pVal);
True = Access enabled
False = Access disabled
ALLOWING USERS TO CONNECT OVER HTTPS (SETHTTPS)
Use the ICIClientSettings interface SetHTTPS method to allow a user account or Settings Level to connect over HTTPS. Refer to User Connection Protocols for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
This property is available in EFT Server 6.0.
Report Information Interface (ICIReportInfo)
181
Signature:
HRESULT SetHTTPS(
[out] VARIANT_BOOL *pInherited,
[out, retval] VARIANT_BOOL *pVal);
True = Access enabled
False = Access disabled
DETERMINING IF SSL ACCESS IS ALLOWED (GETSSL)
Use the ICIClientSettings interface GetSSL method to determine if a user account can make connections using SSL over FTP. Refer to User Connection Protocols for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT GetSSL(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] VARIANT_BOOL *pVal);
0 = Prohibited
1 = Allowed
ALLOWING USERS SSL CONNECTIONS (SETSSL)
Use the ICIClientSettings interface SetSSL method to allow a user to connect using SSL over FTP. Use the same method to prohibit the user from making SSL connections. Refer to User Connection Protocols for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT SetSSL([in] SFTPAdvBool val);
0 = Prohibit
1 = Allow
-2 = Inherit
IDENTIFYING THE SSL AUTHENTICATION TYPE (GETSSLAUTHENTICATIONTYPE)
Use the ICIClientSettings interface GetSSLAuthenticationType method to identify or retrieve the SSL authentication type for the client. Refer to User Connection Protocols for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
This method is available in EFT Server 5.1 and later.
Signature:
HRESULT GetSSLAuthenticationType(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] BSTR *pVal);
Example:
Dim strUser:strUser = "test"
GlobalSCAPE COM API
182
Set oUserSettings = oSite.GetUserSettings(strUser)
Dim strSSLEnabled: strSSLEnabled=false
oUserSettings.GetSSLAuthenticationType(strSSLEnabled)
Dim strType: strType = oUserSettings.GetSSLAuthenticationType()
WScript.Echo "SSL Enabled: " & strSSLEnabled
WSCript.Echo "SSL Password type: " & strType
SPECIFYING THE SSL AUTHENTICATION TYPE (SETSSLAUTHENTICATIONTYPE)
Use the ICIClientSettings interface SetSSLAuthenticationType method to specify the SSL authentication type for the client. Refer to User Connection Protocols for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
This method is available in EFT Server 5.1 and later.
Signature:
HRESULT SetSSLAuthenticationType(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] BSTR *pVal);
Example:
Dim strUser:strUser = "test"
Set oUserSettings = oSite.SetUserSettings(strUser)
Dim strSSLEnabled: strSSLEnabled=false
oUserSettings.SetSSLAuthenticationType(strSSLEnabled)
Dim strType: strType = oUserSettings.SetSSLAuthenticationType()
WScript.Echo "SSL Enabled: " & strSSLEnabled
WSCript.Echo "SSL Password type: " & strType
IDENTIFYING THE SSL KEY ID (GETSSLKEYID)
Use the ICIClientSettings interface GetSSLKeyID method to identify or retrieve the SSL key ID for the client. Refer to User Connection Protocols for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
This method is available in EFT Server 5.1 and later.
Signature:
HRESULT GetSSLKeyID(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] BSTR *pVal);
Example:
Dim strUser:strUser = "test"
Set oUserSettings = oSite.GetUserSettings(strUser)
Dim strSSLEnabled: strSSLEnabled=false
oUserSettings.GetSSLKeyID(strSSLEnabled)
Dim strType: strType = oUserSettings.GetSSLKeyID()
WScript.Echo "SSL Enabled: " & strSSLEnabled
Report Information Interface (ICIReportInfo)
183
WSCript.Echo "SSL Password type: " & strType
SPECIFYING THE SSL KEY ID (SETSSLKEYID)
Use the ICIClientSettings interface SetSSLKeyID method to specify the SSL Key ID used by a client. Refer to User Connection Protocols for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
This method is available in EFT Server 5.1 and later.
Signature:
HRESULT SetSSLKeyID(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] BSTR *pVal);
Example:
Dim strUser:strUser = "test"
Set oUserSettings = oSite.GetUserSettings(strUser)
Dim strSSLEnabled: strSSLEnabled=false
oUserSettings.SetSSLKeyID(strSSLEnabled)
Dim strType: strType = oUserSettings.SetSSLKeyID()
WScript.Echo "SSL Enabled: " & strSSLEnabled
WSCript.Echo "SSL Password type: " & strType
DETERMINING WEB TRANSFER CLIENT ACCESS (GETAPPLETENABLED)
Use the ICIClientSettings interface GetAppletEnabled method to set EFT Web Transfer client access setting for a user or User Settings Level. Refer to User Connection Protocols for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
This method is available in EFT Server 3.5 and later.
GetAppletEnabled([in]SFTPAdvBool val);
Example:
Setting the enabled/disabled state:
slSettings = GetSettingsLevelSettings("Default Settings")
slSettings.GetAppletEnabled( True )
SPECIFYING WEB TRANSFER CLIENT ACCESS (SETAPPLETENABLED)
Use the ICIClientSettings interface SetAppletEnabled method to specify EFT Web Transfer Client applet access setting for a user or User Settings Level. Refer to User Connection Protocols for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
This method is available in EFT Server 3.5 and later.
Signature:
SetAppletEnabled(
GlobalSCAPE COM API
184
[out, optional]VARIANT_BOOL *pInherited,[out, retval] VARIANT_BOOL
*pVal);
Example:
Setting the state:
slSettings = SetSettingsLevelSettings("Default Settings")
bEnabled = slSettings.SetAppletEnabled( bInherited )
USER CONNECTION LIMITS User connection limits in the COM API include getting/setting maximum transfer speed, connection timeout seconds, maximum connections allowed for the user account, and maximum connections allowed from the same IP address. You can view/set these settings in the Administrator interface on the user's Connections tab by clicking Configure next to Connection Limits. The dialog box below is labeled with some of the parameters that are available in the ICIClientSettings interface.
Refer to the topics below for details of these parameters
Determining if a User has a Transfer Speed Limit (GetHasMaxSpeed)
Enabling the Transfer Speed Limit (SetHasMaxSpeed)
Determining the Maximum Allowed Transfer Speed (GetMaxSpeed)
Specifying the Maximum Allowed Transfer Speed (SetMaxSpeed)
Determining if a User Can be Timed Out (GetEnableTimeOut)
Enabling Connection Timeout (SetEnableTimeOut)
Determining How Long a Connection can be Inactive (GetTimeOut)
Specifying the Timeout Value (SetTimeOut)
Determining if the Number of Concurrent Connections is Limited for Users (GetHasMaxUsers)
Enabling a User's Connection Limit (SetHasMaxUsers)
Determining the Maximum Concurrent Connections Allowed per User (GetMaxUsers)
Specifying the Maximum Connections Allowed per User (SetMaxUsers)
Determining for an IP Connection Limit (GetHasMaxIPs)
Enabling an IP Address Connection Limit (SetHasMaxIPs)
Determining Number of Connections Allowed from the Same IP Address (GetMaxIPs)
Specifying the Maximum Connections for IP Addresses (SetMaxIPs)
Report Information Interface (ICIReportInfo)
185
DETERMINING IF A USER HAS A TRANSFER SPEED LIMIT (GETHASMAXSPEED)
Use the ICIClientSettings interface GetHasMaxSpeed method to check if a user account has a maximum allowed transfer speed.
Signature:
HRESULT GetHasMaxSpeed(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] VARIANT_BOOL *pVal);
0 = Disabled
1 = Enabled
ENABLING THE TRANSFER SPEED LIMIT (SETHASMAXSPEED)
Use the ICIClientSettings interface SetHasMaxSpeed method to limit a user to a maximum transfer speed. Use the same method to turn off the limit.
Signature:
HRESULT SetHasMaxSpeed([in] SFTPAdvBool val);
0 = Disable
1 = Enable
-2 = Inherit
DETERMINING THE MAXIMUM ALLOWED TRANSFER SPEED (GETMAXSPEED)
Use the ICIClientSettings interface GetMaxSpeed method to determine, in kilobytes per second, the maximum transfer speed allowed for an account or Settings Level.
Signature:
HRESULT GetMaxSpeed(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] long *pVal);
SPECIFYING THE MAXIMUM ALLOWED TRANSFER SPEED (SETMAXSPEED)
Use the ICIClientSettings interface SetMaxSpeed method to the speed at which an account or Settings Level can transfer file. The number you enter represents kilobytes per second.
Signature:
HRESULT SetMaxSpeed([in] long val);
DETERMINING IF A USER CAN BE TIMED OUT (GETENABLETIMEOUT)
Use the ICIClientSettings interface GetEnableTimeOut method to check if a user will be timed out after their connection is inactive too long.
Signature:
HRESULT GetEnableTimeOut(
GlobalSCAPE COM API
186
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] VARIANT_BOOL *pVal);
0 = No
1 = Yes
ENABLING CONNECTION TIMEOUT (SETENABLETIMEOUT)
Use the ICIClientSettings interface SetEnableTimeOut method to enable the timeout feature for a user or Settings Level. Use the same method to disable the timeout feature.
Signature:
HRESULT SetEnableTimeOut([in] SFTPAdvBool val);
0 = Disable
1 = Enable
-2 = Inherit
DETERMINING HOW LONG A CONNECTION CAN BE INACTIVE (GETTIMEOUT)
Use the ICIClientSettings interface GetTimeOut method to find the number of seconds the Server will allow a user's connection to be inactive before closing the connection.
Signature:
HRESULT GetTimeOut(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] long *pVal);
SPECIFYING THE TIMEOUT VALUE (SETTIMEOUT)
Use the ICIClientSettings interface SetTimeOut method to choose the number of seconds the Server will wait before closing a user's inactive connection.
Signature:
HRESULT SetTimeOut([in] long val);
DETERMINING IF THE NUMBER OF CONCURRENT CONNECTIONS IS LIMITED FOR USERS (GETHASMAXUSERS)
Use the ICIClientSettings interface GetHasMaxUsers method to check if a user account has a maximum number of allowed concurrent connections.
Signature:
HRESULT GetHasMaxUsers(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] VARIANT_BOOL *pVal);
0 = Unlimited
1 = Limited
Report Information Interface (ICIReportInfo)
187
ENABLING A USER'S CONNECTION LIMIT (SETHASMAXUSERS)
Use the ICIClientSettings interface SetHasMaxUsers method to limit a user to a maximum number of concurrent connections. Use the same method to turn off the limit.
Signature:
HRESULT SetHasMaxUsers([in] SFTPAdvBool val);
0 = Disable
1 = Enable
-2 = Inherit
DETERMINING THE MAXIMUM CONCURRENT CONNECTIONS ALLOWED PER USER (GETMAXUSERS)
Use the ICIClientSettings interface GetMaxUsers method to determine the maximum number of concurrent connections allowed for an account or Settings Level.
Signature:
HRESULT GetMaxUsers(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] long *pVal);
SPECIFYING THE MAXIMUM CONNECTIONS ALLOWED PER USER (SETMAXUSERS)
Use the ICIClientSettings interface SetMaxUsers method to choose the maximum number of concurrent connections a user can make, either for an individual account or through a Settings Level.
Signature:
HRESULT SetMaxUsers([in] long val);
DETERMINING FOR AN IP CONNECTION LIMIT (GETHASMAXIPS)
Use the ICIClientSettings interface GetHasMaxIPs method to check if IP addresses have a maximum number of allowed concurrent connections.
Signature:
HRESULT GetHasMaxIPs(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] VARIANT_BOOL *pVal);
0 = Unlimited
1 = Limited
ENABLING AN IP ADDRESS CONNECTION LIMIT (SETHASMAXIPS)
Use the ICIClientSettings interface SetHasMaxIPs method to limit the maximum number of concurrent connections from the same IP address. Use the same method to turn off the limit.
Signature:
HRESULT SetHasMaxIPs([in] SFTPAdvBool val);
GlobalSCAPE COM API
188
0 = Disable
1 = Enable
-2 = Inherit
DETERMINING NUMBER OF CONNECTIONS ALLOWED FROM THE SAME IP ADDRESS (GETMAXIPS)
Use the ICIClientSettings interface GetMaxIPs method to determine the number of concurrent connections allowed from the same IP address.
Signature:
HRESULT GetMaxIPs(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] long *pVal);
SPECIFYING THE MAXIMUM CONNECTIONS FOR IP ADDRESSES (SETMAXIPS)
Use the ICIClientSettings interface SetMaxIPs method to choose the number of concurrent connections allowed from the same IP address.
Signature:
HRESULT SetMaxIPs([in] long val);
USER TRANSFER SETTINGS User connection limits in the COM API include getting/setting the number of uploads and download per session and maximum upload and download sizes. You can view/set these settings in the Administrator interface on the user's Connections tab by clicking Configure next to Transfer Settings. The dialog box below is labeled with some of the parameters that are available in the ICIClientSettings interface.
Refer to the topics below for details of these parameters
Determining if a User has an Upload per Session Limit (GetHasUploadsPerSession)
Enabling a User's Uploads-per-Session Limit (SetHasUploadsPerSession)
Retrieving a User's Upload per Session Limit (GetUploadsPerSession)
Specifying the Maximum Number of Uploads a User is Permitted per Session (SetUploadsPerSession)
Determining if a User has a Download per Session Limit (GetHasDownloadsPerSession)
Enabling a User's Downloads-per-Session Limit (SetHasDownloadsPerSession)
Retrieving a Download per Session Limit (GetDownloadsPerSession)
Report Information Interface (ICIReportInfo)
189
Specifying the Maximum Number of Downloads a User is Permitted per Session (SetDownloadsPerSession)
Determining if a User has an Upload Size Limit (GetHasMaxUploadSize)
Enabling a User's Upload Size Limit (SetHasMaxUploadSize)
Retrieving a User's Upload Size Limit (GetMaxUploadSize)
Specifying the Maximum File Size a User is Permitted to Upload (SetMaxUploadSize )
Determining if a User has a Download Size Limit (GetHasMaxDownloadSize)
Enabling a User's Download Size Limit (SetHasMaxDownloadSize)
Retrieving a User's Download Size Limit (GetMaxDownloadSize)
Specifying the Maximum File Size a User is Permitted to Download (SetMaxDownloadSize)
DETERMINING IF A USER HAS AN UPLOAD PER SESSION LIMIT (GETHASUPLOADSPERSESSION)
Use the ICIClientSettings interface GetHasUploadsPerSession method to determine if there is a maximum number of files a user is allowed to upload per session. Refer to User Transfer Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT GetHasUploadsPerSession(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] long *pVal);
ENABLING A USER'S UPLOADS-PER-SESSION LIMIT (SETHASUPLOADSPERSESSION)
Use the ICIClientSettings interface SetHasUploadsPerSession method to limit a user to a maximum number of uploads per session.
Signature:
HRESULT SetHasUploadsPerSession([in] SFTPAdvBool val);
RETRIEVING A USER'S UPLOAD PER SESSION LIMIT (GETUPLOADSPERSESSION)
Use the ICIClientSettings interface GetUploadsPerSession method to determine the maximum number of uploads a user is permitted per session. Refer to User Transfer Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT GetUploadsPerSession(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] long *pVal);
SPECIFYING THE MAXIMUM NUMBER OF UPLOADS A USER IS PERMITTED PER SESSION (SETUPLOADSPERSESSION)
Use the ICIClientSettings interface SetUploadsPerSession method to specify the maximum number of uploads a user is permitted per session. Refer to User Transfer Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
GlobalSCAPE COM API
190
Signature:
HRESULT SetUploadsPerSession([in] long val);
DETERMINING IF A USER HAS A DOWNLOAD PER SESSION LIMIT (GETHASDOWNLOADSPERSESSION)
Use the ICIClientSettings interface GetHasDownloadsPerSession method to determine if there is a maximum number of files a user is allowed to download per session. Refer to User Transfer Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT GetHasDownloadsPerSession(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] long *pVal);
ENABLING A USER'S DOWNLOADS-PER-SESSION LIMIT (SETHASDOWNLOADSPERSESSION)
Use the ICIClientSettings interface SetHasDownloadsPerSession method to limit a user to a maximum number of downloads per session. Refer to User Transfer Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT SetHasDownloadsPerSession([in] SFTPAdvBool val);
RETRIEVING A DOWNLOAD PER SESSION LIMIT (GETDOWNLOADSPERSESSION)
Use the ICIClientSettings interface GetDownloadsPerSession method to determine the maximum number of downloads a user is permitted per session. Refer to User Transfer Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT GetDownloadsPerSession(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] long *pVal);
SPECIFYING THE MAXIMUM NUMBER OF DOWNLOADS A USER IS PERMITTED PER SESSION (SETDOWNLOADSPERSESSION)
Use the ICIClientSettings interface SetDownloadsPerSession method to specify the maximum number of downloads a user is permitted per session. Refer to User Transfer Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT SetDownloadsPerSession([in] long val);
Report Information Interface (ICIReportInfo)
191
DETERMINING IF A USER HAS AN UPLOAD SIZE LIMIT (GETHASMAXUPLOADSIZE)
Use the ICIClientSettings interface GetHasMaxUploadSize method to determine if there is a maximum file size a user is allowed to upload. Refer to User Transfer Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT GetHasMaxUploadSize(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] long *pVal);
ENABLING A USER'S UPLOAD SIZE LIMIT (SETHASMAXUPLOADSIZE)
Use the ICIClientSettings interface SetHasMaxUploadSize method to limit a user to a maximum upload size. Refer to User Transfer Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT SetHasMaxUploadSize([in] SFTPAdvBool val);
RETRIEVING A USER'S UPLOAD SIZE LIMIT (GETMAXUPLOADSIZE)
Use the ICIClientSettings interface GetMaxUploadSize method to determine the maximum file size, in kilobytes, a user is allowed to upload. Refer to User Transfer Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT GetMaxUploadSize(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] long *pVal);
SPECIFYING THE MAXIMUM FILE SIZE A USER IS PERMITTED TO UPLOAD (SETMAXUPLOADSIZE)
Use the ICIClientSettings interface SetMaxUploadSize method to specify the maximum file size, in kilobytes, a user is permitted upload. Refer to User Transfer Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT SetMaxUploadSize([in] long val);
DETERMINING IF A USER HAS A DOWNLOAD SIZE LIMIT (GETHASMAXDOWNLOADSIZE)
Use the ICIClientSettings interface GetHasMaxDownloadSize method to determine if there is a maximum file size a user is allowed to download. Refer to User Transfer Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
GlobalSCAPE COM API
192
Signature:
HRESULT GetHasMaxDownloadSize(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] long *pVal);
ENABLING A USER'S DOWNLOAD SIZE LIMIT (SETHASMAXDOWNLOADSIZE)
Use the ICIClientSettings interface SetHasMaxDownloadSize method to limit a user to a maximum download size. Refer to User Transfer Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT SetHasMaxDownloadSize([in] SFTPAdvBool val);
RETRIEVING A USER'S DOWNLOAD SIZE LIMIT (GETMAXDOWNLOADSIZE)
Use the ICIClientSettings interface GetMaxDownloadSize method to determine the maximum file size, in kilobytes, a user is allowed to download. Refer to User Transfer Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT GetMaxDownloadSize(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] long *pVal);
SPECIFYING THE MAXIMUM FILE SIZE A USER IS PERMITTED TO DOWNLOAD (SETMAXDOWNLOADSIZE)
Use the ICIClientSettings interface SetMaxDownloadSize method to specify the maximum file size, in kilobytes, a user is permitted download. Refer to User Transfer Settings for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
Signature:
HRESULT SetMaxDownloadSize([in] long val);
USER IP ACCESS BAN LIST User IP access ban list settings in the COM API include getting/setting the IP addresses that are granted or denied access to the Site. You can view/set these settings in the Administrator interface on the user's Connections tab by clicking Configure next to IP Access Ban List. The dialog box below is labeled with some of the parameters that are available in the ICIClientSettings interface.
Report Information Interface (ICIReportInfo)
193
Related Topics
Retrieving Allowed IP Masks for a User (GetAllowedMasks)
Retrieving Denied IP Mask for a User (GetDeniedMasks)
Adding an IP Access Mask for a Client (AddIPAccessRule)
Removing an IP Access Mask for User (RemoveIPAccessRule)
Viewing Allowed IP Addresses (IPAccessAllowedDefault)
Determining if Users are Restricted to a Specific IP Address (GetHomeIP)
Restricting Users to a Specific IP Address (SetHomeIP)
Retrieving Users' Home IP Address (GetHomeIPString)
Specifying Users' Home IP Address (SetHomeIPString)
Retrieving Allowed IP Address (GetLimitAccessByIP)
Setting Allowed IP Address (SetLimitAccessByIP)
RETRIEVING ALLOWED IP MASKS FOR A USER (GETALLOWEDMASKS)
Use the ICIClientSettings interface GetAllowedMasks method to view the IP mask from which the user is allowed to connect. Refer to User IP Access Ban List for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
This method is available in EFT Server 5.1.1 and later.
Signature:
HRESULT GetAllowedMasks(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] long *pVal);
RETRIEVING DENIED IP MASK FOR A USER (GETDENIEDMASKS)
Use the ICIClientSettings interface GetDeniedMasks method to view the IP mask from which the user is not allowed to connect. Refer to User IP Access Ban List for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
This method is available in EFT Server 5.1.1 and later.
Signature:
HRESULT GetDeniedMasks(
[out, optional] VARIANT_BOOL *pInherited,
GlobalSCAPE COM API
194
[out, retval] long *pVal);
ADDING AN IP ACCESS IP MASK FOR A CLIENT (ADDIPACCESSRULE)
Use the ICIClientSettings interface AddIPAccessRule method to add the allowed or denied IP mask from which the client is allowed to connect. Refer to User IP Access Ban List for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
This method is available in EFT Server 5.1.1 and later.
Signature:
HRESULT AddIPAcessRule([in] long val);
REMOVING AN IP ACCESS MASK FOR USER (REMOVEIPACCESSRULE)
Use the ICIClientSettings interface RemoveIPAccessRule method to remove the allowed or denied IP mask from which the user is allowed to connect. Refer to User IP Access Ban List for an illustration of how this and other Client Settings Interface Methods and Properties can be accessed in the Administrator interface.
This method is available in EFT Server 5.1.1 and later.
Signature:
HRESULT RemoveIPAcessRule([in] long val);
VIEWING ALLOWED IP ADDRESSES (IPACCESSALLOWEDDEFAULT) Use the ICIClientSettings Interface IPAccessAllowedDefault property to view the IP addresses with which a user is allowed to connect to the server.
This method is available in EFT Server 5.1.1 and later.
Signature:
HRESULT IPAccessAllowedDefault([in] BSTR bstrLogin);
DETERMINING IF USERS ARE RESTRICTED TO A SPECIFIC IP ADDRESS (GETHOMEIP)
This method was removed in EFT Server version 6.1. Corresponding functionality is now available via more powerful Limit Access by IP features: GetLimitAccessByIP, SetLimitAccessByIP, IPAccessAllowedDefault, GetAllowedMasks, GetDeniedMasks, AddIPAccessRule, and RemoveIPAccessRule methods/properties.
Use the ICIClientSettings interface GetHomeIP method to determine whether a user or Settings Level is restricted to connections on one specific IP address.
Signature:
HRESULT GetHomeIP(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] long *pVal);
Report Information Interface (ICIReportInfo)
195
RESTRICTING USERS TO A SPECIFIC IP ADDRESS (SETHOMEIP)
This method was removed in EFT Server version 6.1. Corresponding functionality is now available via more powerful Limit Access by IP features: GetLimitAccessByIP, SetLimitAccessByIP, IPAccessAllowedDefault, GetAllowedMasks, GetDeniedMasks, AddIPAccessRule, and RemoveIPAccessRule methods/properties.
Use the ICIClientSettings interface SetHomeIP method to restrict a user or User Settings Level to connections on one specific IP address.
Signature:
HRESULT SetHomeIP([in] long val);
RETRIEVING USERS' HOME IP ADDRESS (GETHOMEIPSTRING)
This method was removed in EFT Server version 6.1. Corresponding functionality is now available via more powerful Limit Access by IP features: GetLimitAccessByIP, SetLimitAccessByIP, IPAccessAllowedDefault, GetAllowedMasks, GetDeniedMasks, AddIPAccessRule, and RemoveIPAccessRule methods/properties.
Use the ICIClientSettings interface GetHomeIPString method to retrieve the IP address where the user or User Settings Level must make connections.
Signature:
HRESULT GetHomeIPString([out, retval] BSTR *prop);
SPECIFYING USERS' HOME IP ADDRESS (SETHOMEIPSTRING)
This method was removed in EFT Server version 6.1. Corresponding functionality is now available via more powerful Limit Access by IP features: GetLimitAccessByIP, SetLimitAccessByIP, IPAccessAllowedDefault, GetAllowedMasks, GetDeniedMasks, AddIPAccessRule, and RemoveIPAccessRule methods/properties.
Use the ICIClientSettings interface SetHomeIPString method to designate the IP address where the user or Settings Level must make connections.
Signature:
HRESULT SetHomeIPString([in] BSTR bstrVal);
RETRIEVING SETTINGS LEVEL'S OR USER ACCOUNT'S ALLOWED IP ADDRESS (GETLIMITACCESSBYIP)
This interface is available in EFT Server 6.1.
The ICIClientSettings::GetLimitAccessByIP method allows you to retrieve whether the Limit Access By IP feature is turned on for the Setting Level or user account.
HRESULT GetLimitAccessByIP(
[out, optional] VARIANT_BOOL *pInherited, // whether option is
// inherited from parent?
[out, retval] VARIANT_BOOL *pVal); // whether feature is ON?
Example (VBScript):
If client.GetLimitAccessByIP Then
MsgBox "client’s Limit Access by IP is on"
End If
GlobalSCAPE COM API
196
SETTING ALLOWED IP ADDRESS (SETLIMITACCESSBYIP)
This interface is available in EFT Server 6.1.
The ICIClientSettings::SetLimitAccessByIP method allows you to specify whether Limit Access by IP is on for the Settings Template or user account.
HRESULT SetLimitAccessByIP([in] SFTPAdvBool val);
Example (VBScript):
client.SetLimitAccessByIP abInherit
For example, the following VBScript assigns IP address 1.1.1.1 to a client as an allowed IP address:
client.AddIPAccessRule "1.1.1.1", True 'Assign 'Allowed 'IP
RETRIEVING NUMBER OF LOGIN ATTEMPTS ALLOWED (GETLIMITLOGINATTEMPTS)
Use the ICIClientSettings interface GetLimitLoginAttempts method to view the number of login attempts the user is allowed.
This method is available in EFT Server 5.1.1 and later.
Signature:
HRESULT GetLimitLoginAttempts(
[out, optional] VARIANT_BOOL *pInherited,
[out, retval] VARIANT_BOOL *pVal);
0 = Unlimited
1 = Limited
SPECIFYING NUMBER OF LOGIN ATTEMPTS ALLOWED (SETLIMITLOGINATTEMPTS)
Use the ICIClientSettings interface SetLimitLoginAttempts method to set the number of login attempts the user is allowed.
This method is available in EFT Server 5.1.1 and later.
Signature:
HRESULT SetLimitLoginAttempts([in] SFTPAdvBool val);
0 = Disable
1 = Enable
-2 = Inherit
VIEWING ANONYMOUS LOGINS (GETANONYMOUSLOGIN)
This method is available only in EFT Server 6.0 and prior. An administrator can make the user account anonymous with the ICISite::ChangeUserPassword method.
Report Information Interface (ICIReportInfo)
197
Use the ICIClientSettings interface GetAnonymousLogin method to retrieve a list of anonymous logins.
Signature:
HRESULT GetAnonymousLogin(
[out] VARIANT_BOOL *pInherited,
[out, retval] VARIANT_BOOL *pVal);
Values:
0 = Prohibited
1 = Allowed
Example:
Dim strUser:strUser = "test"
set oUserSettings = oSite.GetUserSettings(strUser)
bUserAnmLogin = oUserSettings.GetAnonymousLogin()
WScript.Echo ("bUserAnmLogin= " & bUserAnmLogin)
ALLOWING OR PROHIBITING ANONYMOUS LOGINS (SETANONYMOUSLOGIN)
This method is available only in EFT Server 6.0 and prior. An administrator can make the user account anonymous with the ICISite::ChangeUserPassword method.
Use the ICIClientSettings interface SetAnonymousLogin method to allow or prohibit anonymous logins.
Signature:
HRESULT SetAnonymousLogin(
[in] SFTPAdvBool val );
Values:
0 = Prohibited
1 = Allowed
-2 = Inherited
Example:
Dim strUser:strUser = "test"
set oUserSettings = oSite.GetUserSettings(strUser)
oUserSettings.SetAnonymousLogin( True )
COMMAND SETTINGS INTERFACE (ICICOMMANDSETTINGS)
The ICICommandSettings interface allows you to make changes to the settings of a Site's custom Commands. Access the ICICommandSettings interface with the ICISite GetCommandSettings method.
Example
Set cs = s.GetCommandSettings(aCommands(i))
When you change a custom command with the ICICommandSettings interface, you must call ICIServer's ApplyChanges method in order for the changes to take effect.
GlobalSCAPE COM API
198
COMMAND SETTINGS INTERFACE PROPERTIES Commands can execute programs, scripts, or batch files with or without command line arguments. Commands can be invoked directly by a user from their client (if permitted by the Server administrator) or as an automated action from the Server’s Event Rules.
When the Event Rule is triggered, the Server executes the specified custom Command and attributes. To configure the Server to execute Commands, you first create the command, then add the command to an Event Rule. In the Administrator, the Commands appear in the tree in the left pane within the Site for which they are defined. When you click a Command in the Commands node in the left pane, the Command Settings appear in the right pane.
The dialog box below is labeled with the parameters that are available in the ICICommandSettings Interface. (The FTP Custom Command Specific dialog box appears when you click Configure.)
Refer to the topics below for details of these properties
Enabling a Custom Command (IsEnabled)
Retrieving or Changing the Name of a Custom Command (Name)
Retrieving or Changing the Description of a Custom Command (Description)
Retrieving or Changing the Path to the Executable of a Custom Command (Executable)
Retrieving or Changing Custom Command Parameters (Parameters)
Redirecting Command Output to a Log (RedirectOutputToLog)
Enabling a Time Limit for a Custom Command (EnableProcessTimeOut)
Report Information Interface (ICIReportInfo)
199
Specifying the Time Limit for a Custom Command (ProcessTimeOut)
Redirecting Command Output to Clients (RedirectOutputToClient)
Viewing or Requiring Parameters for Custom Commands (RequireParams)
Requiring a Minimum Number of Parameters for Custom Commands (MinNumOfParams)
Defining or Changing a Message for an Invalid Number of Command Parameters (MinNumOfParamsMsg)
COMMAND SETTINGS INTERFACE METHODS When you create Commands in EFT Server, you can assign permissions to specific users and/or permission Groups. The Command Settings Interface methods are used to get, add, and remove users/groups to/from Commands.
To view the user permissions for the Command in EFT Server
1. In the Administrator, connect to the Server and click the Server tab.
2. In the left pane, expand the Site node for the Site that you want to configure, then click Commands.
3. In the right pane, click the Command that you want to edit. The Command Settings tab appears.
4. In the FTP Custom Command Specific area, click Configure. The FTP Custom Command Specific dialog box appears.
5. Next to User(s) or group(s) allowed to execute this custom command, click Configure.
The dialog box below is labeled with some of the methods that are available in the ICICommandSettings Interface:
Refer to the topics below for details of these methods
Retrieving a List of Users Allowed to Use a Custom Command (GetUserPermissions)
Listing Users Allowed to Use a Command (AddUserPermission)
Prohibiting Users from Using a Custom Command (RemoveUserPermission)
ENABLING A CUSTOM COMMAND (ISENABLED) Use the ICICommandSettings interface IsEnabled property to check if a custom command is available, and to either enable or disable a custom command. Refer to Command Settings Interface Properties for an illustration of how this and other ICICommandSettings can be accessed in the Administrator interface.
GlobalSCAPE COM API
200
Signature:
HRESULT IsEnabled([out, retval] VARIANT_BOOL *pVal);
HRESULT IsEnabled([in] VARIANT_BOOL newVal);
RETRIEVING OR CHANGING THE NAME OF A CUSTOM COMMAND (NAME)
Use the ICICommandSettings interface Name property to retrieve the name of a custom command. You can also use the property to change the name. Refer to Command Settings Interface Properties for an illustration of how this and other ICICommandSettings can be accessed in the Administrator interface.
Signature:
HRESULT Name([out, retval] BSTR *pVal);
HRESULT Name([in] BSTR newVal);
RETRIEVING OR CHANGING THE DESCRIPTION OF A CUSTOM COMMAND (DESCRIPTION)
Use the ICICommandSettings interface Description property to retrieve the description of a custom command. You can also use the property to change the description. Refer to Command Settings Interface Properties for an illustration of how this and other ICICommandSettings can be accessed in the Administrator interface.
Signature:
HRESULT Description([out, retval] BSTR *pVal);
HRESULT Description([in] BSTR newVal);
RETRIEVING OR CHANGING THE PATH TO THE EXECUTABLE OF A CUSTOM COMMAND (EXECUTABLE)
Use the ICICommandSettings interface Executable property to retrieve or change the path to a custom command's executable program. Refer to Command Settings Interface Properties for an illustration of how this and other ICICommandSettings can be accessed in the Administrator interface.
Signature:
HRESULT Executable([out, retval] BSTR *pVal);
HRESULT Executable([in] BSTR newVal);
RETRIEVING OR CHANGING CUSTOM COMMAND PARAMETERS (PARAMETERS)
Use the ICICommandSettings interface Parameters property to retrieve or change a custom command's parameters. Refer to Command Settings Interface Properties for an illustration of how this and other ICICommandSettings can be accessed in the Administrator interface.
Signature:
HRESULT Parameters([out, retval] BSTR *pVal);
Report Information Interface (ICIReportInfo)
201
HRESULT Parameters([in] BSTR newVal);
REDIRECTING COMMAND OUTPUT TO A LOG (REDIRECTOUTPUTTOLOG)
Use the ICICommandSettings interface RedirectOutputToLog property to check if output is sent to a log. Also use the property to send output to a log. Refer to Command Settings Interface Properties for an illustration of how this and other ICICommandSettings can be accessed in the Administrator interface.
Signature:
HRESULT RedirectOutputToLog([out, retval] VARIANT_BOOL *pVal);
HRESULT RedirectOutputToLog([in] VARIANT_BOOL newVal);
ENABLING A TIME LIMIT FOR A CUSTOM COMMAND (ENABLEPROCESSTIMEOUT)
Use the ICICommandSettings interface EnableProcessTimeOut property to check if a custom command has a time limit, and to either enable or disable the time limit. Refer to Command Settings Interface Properties for an illustration of how this and other ICICommandSettings can be accessed in the Administrator interface.
Signature:
HRESULT EnableProcessTimeOut([out, retval] VARIANT_BOOL *pVal);
HRESULT EnableProcessTimeOut([in] VARIANT_BOOL newVal);
SPECIFYING THE TIME LIMIT FOR A CUSTOM COMMAND (PROCESSTIMEOUT)
Use the ICICommandSettings interface ProcessTimeOut property to check how long a custom command time limit will be, and to set a time limit, in seconds. Refer to Command Settings Interface Properties for an illustration of how this and other ICICommandSettings can be accessed in the Administrator interface.
Signature:
HRESULT ProcessTimeOut([out, retval] long *pVal);
HRESULT ProcessTimeOut([in] long newVal);
REDIRECTING COMMAND OUTPUT TO CLIENTS (REDIRECTOUTPUTTOCLIENT)
Use the ICICommandSettings interface RedirectOutputToClient property to check if output is sent to users. Also use the property to send output to users. Refer to Command Settings Interface Properties for an illustration of how this and other ICICommandSettings can be accessed in the Administrator interface.
Signature:
HRESULT RedirectOutputToClient([out, retval] VARIANT_BOOL *pVal);
HRESULT RedirectOutputToClient([in] VARIANT_BOOL newVal);
GlobalSCAPE COM API
202
VIEWING OR REQUIRING PARAMETERS FOR CUSTOM COMMANDS (REQUIREPARAMS)
Use the ICICommandSettings interface RequireParams property to check if a custom command must have parameters. Use the same property to require or parameters, or to allow custom commands without parameters. Refer to Command Settings Interface Properties for an illustration of how this and other ICICommandSettings can be accessed in the Administrator interface.
Signature:
HRESULT RequireParams([out, retval] VARIANT_BOOL *pVal);
HRESULT RequireParams([in] VARIANT_BOOL newVal);
REQUIRING A MINIMUM NUMBER OF PARAMETERS FOR CUSTOM COMMANDS (MINNUMOFPARAMS)
Use the ICICommandSettings interface MinNumOfParams property to check if a custom command must have a minimum number of parameters. Use the same property to set the minimum number of required parameters. You can use any integer from 0 to 10. Refer to Command Settings Interface Properties for an illustration of how this and other ICICommandSettings can be accessed in the Administrator interface.
Signature:
HRESULT MinNumOfParams([out, retval] long *pVal);
HRESULT MinNumOfParams([in] long newVal);
DEFINING OR CHANGING A MESSAGE FOR AN INVALID NUMBER OF COMMAND PARAMETERS (MINNUMOFPARAMSMSG)
Use the ICICommandSettings interface MinNumOfParamsMsg property to check or change the message sent when the wrong number of parameters is entered for a command. Refer to Command Settings Interface Properties for an illustration of how this and other ICICommandSettings can be accessed in the Administrator interface.
Signature:
HRESULT MinNumOfParamsMsg([out, retval] BSTR *pVal);
HRESULT MinNumOfParamsMsg([in] BSTR newVal);
RETRIEVING A LIST OF USERS ALLOWED TO USE A CUSTOM COMMAND (GETUSERPERMISSIONS)
Use the ICICommandSettings interface GetUserPermissions method to retrieve a list of users or Settings Levels that have permission to use a custom command. Refer to Command Settings Interface Methods for an illustration of how this and other ICICommandSettings can be accessed in the Administrator interface.
Signature:
HRESULT GetUserPermissions([out, retval] VARIANT *aUsers);
Report Information Interface (ICIReportInfo)
203
LISTING USERS ALLOWED TO USE A COMMAND (ADDUSERPERMISSION)
Use the ICICommandSettings interface AddUserPermission method to add a user or Settings Levels to the list of those allowed to use a specific command. Refer to Command Settings Interface Methods for an illustration of how this and other ICICommandSettings can be accessed in the Administrator interface.
Signature:
HRESULT AddUserPermission([in] BSTR bstrUser);
PROHIBITING USERS FROM USING A CUSTOM COMMAND (REMOVEUSERPERMISSION)
Use the ICICommandSettings interface RemoveUserPermission method to remove a user or Settings Level from the list of those that have permission to use a custom command. Refer to Command Settings Interface Methods for an illustration of how this and other ICICommandSettings can be accessed in the Administrator interface.
Signature:
HRESULT RemoveUserPermission([in] BSTR bstrUser);
SPECIFYING OR RETRIEVING THE COMMAND LOG PATH (LOGPATH)
Available in EFT Server 6.1 and later.
Use the ICICommandSettings::LogPath property to retrieve or specify the path to the file into which to log command execution information.
HRESULT LogPath([out, retval] BSTR *pVal); HRESULT LogPath([in] BSTR newVal);
Examples (VBScript):
Retrieving:
logPath = Command.LogPath
Specifying:
Command.LogPath = "C:\" & Command.Name & ".log"
CERTIFICATE INFORMATION INTERFACE (ICICERTINFO)
The ICICertInfo interface allows you to retrieve information about certificates. Access the ICICertInfo interface with either the ICISite GetTrustedCertificateInfo method or the ICISite GetPendingCertificateInfo method.
All properties of the ICICertInfo are read only.
Examples
Set ci = s.GetTrustedCertificateInfo(aCerts(i))
Set ci = s.GetPendingCertificateInfo(aCerts(i))
Available Properties:
Retrieving a Certificate ID (ID)
Retrieving a Certificate Description (Description)
GlobalSCAPE COM API
204
Retrieving a Certificate's Start Date (NotBefore)
Retrieving a Certificate's Expiration Date (NotAfter)
Retrieving a Certificate Issuers Information (IssuerOneLine)
Retrieving a Certificate Issuer's Unit (IssuerUnit)
Retrieving a Certificate Issuer's Organization (IssuerOrg)
Retrieving a Certificate Issuer's Common Name (IssuerCName)
Retrieving a Certificate Issuer's Country (IssuerCountry)
Retrieving a Certificate Subject's Information (SubjectOneLine)
Retrieving a Certificate Subject's Unit (SubjectUnit)
Retrieving a Certificate Subject's Organization (SubjectOrg)
Retrieving Certificate Subject's Country (SubjectCountry)
Retrieving a Certificate Subject's Common Name (SubjectCName)
CERTIFICATE INFORMATION INTERFACE Certificates are digital identification documents that allow both servers and clients to authenticate each other. A certificate file has a .crt extension. Server certificates contain information about your company and the organization that issued the certificate (such as Verisign or Thawte) while client certificates contain information about the user and the organization that signed the certificate. (Refer to Site Certificates and Keys for more information about getting/setting a Site's certificates.)
The dialog box below is labeled with some of the properties that are available in the Certificate Information Interface.
Refer to the topics below for details of these properties
Retrieving a Certificate ID (ID) - Index of the certificate in the certificate file. Allows you to refer to the certificate in the certificate file (Refer to Site Certificates and Keys for more information).
Retrieving a Certificate Description (Description) - IssuerOrg\SubjectOrg\NotAfter string
Retrieving a Certificate Issuer's Organization (IssuerOrg)
Retrieving a Certificate Issuer's Unit (IssuerUnit)
Retrieving a Certificate Issuer's Common Name (IssuerCName)
Report Information Interface (ICIReportInfo)
205
Retrieving a Certificate Issuer's Country (IssuerCountry)
Retrieving a Certificate Issuer's Information (IssuerOneLine) - all of the Issuer info (organization + unit + common name + country) concatenated in one line
Retrieving a Certificate Subject's Organization (SubjectOrg)
Retrieving a Certificate Subject's Unit (SubjectUnit)
Retrieving a Certificate Subject's Common Name (SubjectCName)
Retrieving Certificate Subject's Country (SubjectCountry)
Retrieving a Certificate Subject's Information (SubjectOneLine) - all of the Subject info (organization + unit + common name + country) concatenated in one line.
Retrieving a Certificate's Start Date (NotBefore)
Retrieving a Certificate's Expiration Date (NotAfter)
RETRIEVING A CERTIFICATE ID (ID) Use the ICICertInfo interface ID property to retrieve the ID of a certificate. Refer to Certificate Information Interface Parameters for an illustration of how this and other Certificate Information Interface Properties can be accessed in the Administrator interface.
Signature:
HRESULT ID([out, retval] long *pVal);
RETRIEVING A CERTIFICATE DESCRIPTION (DESCRIPTION) Use the ICICertInfo interface Description property to retrieve the description of a certificate. Description contains the IssuerOrg\SubjectOrg\NotAfter string. Refer to Certificate Information Interface Parameters for an illustration of how this and other Certificate Information Interface Properties can be accessed in the Administrator interface.
Signature:
HRESULT Description([out, retval] BSTR *pVal);
RETRIEVING A CERTIFICATE ISSUER'S ORGANIZATION (ISSUERORG) Use the ICICertInfo interface IssuerOrg property to learn the organization that issued a certificate. Refer to Certificate Information Interface Parameters for an illustration of how this and other Certificate Information Interface Properties can be accessed in the Administrator interface.
Signature:
HRESULT IssuerOrg([out, retval] BSTR *pVal);
RETRIEVING A CERTIFICATE ISSUER'S UNIT (ISSUERUNIT) Use the ICICertInfo interface IssuerUnit property to retrieve the unit of a certificate's issuer. Refer to Certificate Information Interface Parameters for an illustration of how this and other Certificate Information Interface Properties can be accessed in the Administrator interface.
Signature:
HRESULT IssuerUnit([out, retval] BSTR *pVal);
GlobalSCAPE COM API
206
RETRIEVING A CERTIFICATE ISSUER'S COMMON NAME (ISSUERCNAME)
Use the ICICertInfo interface IssuerCName property to retrieve the issuer's common name on a certificate. Refer to Certificate Information Interface Parameters for an illustration of how this and other Certificate Information Interface Properties can be accessed in the Administrator interface.
Signature:
HRESULT IssuerCName([out, retval] BSTR *pVal);
RETRIEVING A CERTIFICATE ISSUER'S COUNTRY (ISSUERCOUNTRY) Use the ICICertInfo interface IssuerCountry property to find the country of a certificate's issuer. Refer to Certificate Information Interface Parameters for an illustration of how this and other Certificate Information Interface Properties can be accessed in the Administrator interface.
Signature:
HRESULT IssuerCountry([out, retval] BSTR *pVal);
RETRIEVING A CERTIFICATE ISSUERS INFORMATION (ISSUERONELINE)
Use the ICICertInfo interface IssuerOneLine property to return all of the Issuer info (organization + unit + common name + country) concatenated in one line. Refer to Certificate Information Interface Parameters for an illustration of how this and other Certificate Information Interface Properties can be accessed in the Administrator interface.
Signature:
HRESULT IssuerOneLine([out, retval] BSTR *pVal);
RETRIEVING A CERTIFICATE SUBJECT'S ORGANIZATION (SUBJECTORG)
Use the ICICertInfo interface SubjectOrg property to learn the organization that is the subject of a certificate. Refer to Certificate Information Interface Parameters for an illustration of how this and other Certificate Information Interface Properties can be accessed in the Administrator interface.
Signature:
HRESULT SubjectOrg([out, retval] BSTR *pVal);
RETRIEVING A CERTIFICATE SUBJECT'S UNIT (SUBJECTUNIT) Use the ICICertInfo interface SubjectUnit property to retrieve a certificate subject's unit. Refer to Certificate Information Interface Parameters for an illustration of how this and other Certificate Information Interface Properties can be accessed in the Administrator interface.
Signature:
HRESULT SubjectUnit([out, retval] BSTR *pVal);
Report Information Interface (ICIReportInfo)
207
RETRIEVING A CERTIFICATE SUBJECT'S COMMON NAME (SUBJECTCNAME)
Use the ICICertInfo interface SubjectCName property to retrieve the certificate subject's common name. Refer to Certificate Information Interface Parameters for an illustration of how this and other Certificate Information Interface Properties can be accessed in the Administrator interface.
Signature:
HRESULT SubjectCName([out, retval] BSTR *pVal);
RETRIEVING A CERTIFICATE SUBJECT'S COUNTRY (SUBJECTCOUNTRY)
Use the ICICertInfo interface SubjectCountry property to retrieve the country of a certificate's subject. Refer to Certificate Information Interface Parameters for an illustration of how this and other Certificate Information Interface Properties can be accessed in the Administrator interface.
Signature:
HRESULT SubjectCountry([out, retval] BSTR *pVal);
RETRIEVING A CERTIFICATE SUBJECT'S INFORMATION (SUBJECTONELINE)
Use the ICICertInfo interface SubjectOneLine property to retrieve all of the Subject info (organization + unit + common name + country) concatenated in one line. Refer to Certificate Information Interface Parameters for an illustration of how this and other Certificate Information Interface Properties can be accessed in the Administrator interface.
Signature:
HRESULT SubjectOneLine([out, retval] BSTR *pVal);
RETRIEVING A CERTIFICATE'S START DATE (NOTBEFORE) Use the ICICertInfo interface NotBefore property to retrieve the first date the certificate became valid. Refer to Certificate Information Interface Parameters for an illustration of how this and other Certificate Information Interface Properties can be accessed in the Administrator interface.
Signature:
HRESULT NotBefore([out, retval] BSTR *pVal);
RETRIEVING A CERTIFICATE'S EXPIRATION DATE (NOTAFTER) Use the ICICertInfo interface NotAfter property to retrieve the certificate's expiration date. Refer to Certificate Information Interface Parameters for an illustration of how this and other Certificate Information Interface Properties can be accessed in the Administrator interface.
Signature:
HRESULT NotAfter([out, retval] BSTR *pVal);
EVENT RULE INTERFACES
GlobalSCAPE COM API
208
The interfaces, methods, properties, constants, and enumerators below are used for managing Event Rules and their Events, Actions, and Conditions.
Many of the interfaces below appear to be the same, but some have an "s" and some do not (e.g., ICIEventRule and ICIEventRules; ICIEventAction and ICIEventActions).
Event Rules Interface (ICIEventRules)
Event Rule Interface (ICIEventRule)
Event Rule Statement Interface (ICIEventRuleStatement)
Event Rule Parameters Interface (ICIEventRuleParams)
If Statement Interface (ICIIfStatement )
Stop Action Parameters Interface (ICIStopActionParams)
Report Action Parameters Interface (ICIReportActionParams)
Event Action Interface (ICIEventAction)
Event Actions Interface Methods (ICIEventActions)
Action Statement Interface (ICIActionStatement)
Action Statements Interface (ICIActionStatements)
Simple Condition Interface (ICISimpleCondition)
Compound Condition Interface (ICICompoundCondition)
Transfer Action Parameters Interface (ICITransferActionParams)
Folder Monitor Event Rule Parameters Interface (ICIFolderMonitorEventRuleParams)
Timer Event Rule Parameters Interface (ICITimerEventRuleParams)
Enumerator: EventType
Event Properties
EVENT PROPERTIES
These properties are available in EFT Server 5.2 and later.
General properties:
Time (1) – Current time
Name (2) – Event name
Reason (3) – Event reason
TimeStamp (4) – Current time
DateStamp (5) – Current date
MonitorFolderStatus (6) – Folder monitoring status
EventName (7) – Event name
Server Properties:
ServerRunning (1000) – Whether server is running
ServerLogOldName (1001) – Old log file name
ServerLogNewName (1002) – New log file name
ServerLogOldPath (1003) – Old log file path
ServerLogNewPath (1004) – New log file path
Report Information Interface (ICIReportInfo)
209
ServerLogTime (1005) – Log type
ServerLogFolder (1006) – Log folder
ServerServerNodeName (1007) – Name of the node server is running on
Site Properties:
SiteRunning (2000) – Whether site is started
SiteName (2001) – Site name
SiteAccountManagementURL (2002) – PCI account management URL
Connection Properties:
LocalIP (3000) – Server IP
RemoteIP (3001) – Remote peer IP
LocalPort (3002) – Server port
RemotePort (3003) – Remote peer port
Protocol (3004) – Connection protocol
WebTransferClientConnection (3005) – Web-Transfer Client connection
Client Properties:
ClientLogin (4000) – Client’s login name
ClientPassword (4001) – Client’s password
ClientAccessGroup (4002) – Whether client belongs to one of the permission groups
ClientEnabled (4003) – Is client’s account enabled
ClientSettingsLevel (4004) – Client’s settings template
ClientFullName (4005) – Client’s full name
ClientDescription (4006 ) – Client’s description
ClientComment (4007) – Comment to client’s account
ClientEMail (4008) – Client’s e-mail
ClientPhone (4009) – Client’s phone number
ClientPager (4010) – Client’s pager
ClientFax (4011) – Client’s fax
ClientHomeFolder (4012) – Client’s home folder
ClientHomeFolderIsRoot (4013) – Is client’s home folder root for them
ClientQuotaMax (4014) – Client’s disk quota (max)
ClientQuotaUsed (4015) – Client’s disk quota (currently used)
ClientInvalidLoginAttempts (4016) – Client’s invalid login attempt count
ClientCanChangePassword (4017) – Has client permission to change their password
ClientIP (4018) – Client’s IP
ClientSSLAllowed (4019) – Has client permission to use SSL encryption
ClientFTPAllowed (4020) – Has client permission to connect via FTP
ClientSFTPAllowed (4021) – Has client permission to connect via SFTP
ClientLastLogin (4022) – Client’s last login timestamp
GlobalSCAPE COM API
210
ClientPasswordExpiration (4023) – Client’s password expiration date
ClientMustResetPasswordAtFirstLogin (4024) – Must client change their password on initial login
ClientAccountExpirationDate (4025) – Client’s account expiration date
ClientAccountLocked (4026) – Is client’s account locked out
ClientCustomField1 (4027) – Client’s account custom field #1
ClientCustomField2 (4028) – Client’s account custom field #2
ClientCustomField3 (4029) – Client’s account custom field #3
File System Properties:
VirtualPath (5000) – File virtual path
PhysicalPath (5001) – File physical path
DestinationVirtualPath (5002) – Destination file virtual path
DestinationPhysicalPath (5003) – Destination file physical path
FolderName (5004) – Folder
FileName (5005) – File name
DestinationFolderName (5006) – Destination folder
DestinationFileName (5007) – Destination file name
FolderOperation (5008) – Folder operation
FileCreationDate (5009) – File creation date
FileCreationTime (5010) – File creation time
FileSize (5011) – File size
FileCRC (5012) – File CRC
ReportContent (5014) – Report content
ReportFileName (5015) – Report file name
ACTION STATEMENT INTERFACE
This interface is available in EFT Server 5.2 and later.
The ICIActionStatement interface allows you to make changes to the Event Rule settings using the following methods and properties:
HRESULT FailSection([out, retval] IDispatch** ppdispActions);
HRESULT Action([out, retval] IDispatch** ppdispAction);
ACTION STATEMENTS INTERFACE
This interface is available in EFT Server 5.2 and later.
The ICIActionStatements interface allows you to make changes to the Event Rule settings using the following methods:
HRESULT Add([in] long lIndex, [in] EventActionType type, [in] IDispatch*
pdispActionParams, [out, retval] IDispatch** ppdispActionStatement);
HRESULT Count([out, retval] long* plCount);
HRESULT Delete([in] long lIndex);
HRESULT Item([in] long lIndex, [out, retval] IDispatch** ppdispActionStatement);
Report Information Interface (ICIReportInfo)
211
AS2 SEND ACTION PARAMETERS INTERFACE
AS2 SEND ACTION PARAMETERS INTERFACE (ICIAS2SENDACTIONPARAMS)
Available in EFT Server 6.1 and later.
The ICIAS2SendActionParams interface allows you to create, modify, and retrieve AS2 Send File Event Rule Actions.
Example (VBScript):
If ActionStatement.Action.Type = AS2SendAction Then
Set AS2SendParams = ActionStatement.Action.Params
‘ Modify AS2 Send File parameters and assign them back to the action
ActionStatement.Action.Params = AS2SendParams
End If
The CIAS2SendActionParams co-class supports creation of the Send AS2 File Event Action. The co-class implements the ICIAS2SendActionParams interface.
Example (VBScript):
Set AS2Params = CreateObject("SFTPCOMInterface.CIAS2SendActionParams")
‘ Setup Send AS2 File parameters
‘ . . .
Rule.AddActionStatement(0, AS2Params)
Available Properties
Specifying or Retrieving the Path to the File to Send (LocalPath)
Specifying or Retrieving whether a Certain AS2 Outbound Profile is to be Used (UseClientProfile)
Specifying or Retrieving Username whose AS2 Outbound Profile is Used for this AS2 Send Operation (ClientProfile)
Specifying or Retrieving whether Source File will be Removed after Successful Delivery (DeleteSourceFile)
Specifying or Retrieving the Remote Host to which to Send the AS2 File (Host)
Specifying or Retrieving the Remote Port to Send the AS2 File (Port)
Specifying or Retrieving the Path on AS2 Server to Send AS2 File (RemotePath)
Specifying or Retrieving Username for Authentication on AS2 Server (User)
Specifying or Retrieving Authentication Password for Authentication on the AS2 Server (Password)
Specifying or Retrieving AS2 Message Subject (Subject)
Specifying or Retrieving the Type of AS2 File to Send (ContentType)
Specifying or Retrieving whether AS2 File will be Compressed before Sending (Compress)
Specifying or Retrieving whether AS2 Message will be Encrypted with AS2 Partner Certificate (Encrypt)
Specifying or Retrieving whether AS2 Message will be Signed with Site Certificate (Sign)
Specifying or Retrieving Path to AS2 Partner Certificate (PartnerCertificatePath)
Specifying or Retrieving the AS2 ID of File Sender (AS2ID)
Specifying or Retrieving the AS2 ID of the AS2 Partner to which you are Send an AS2 File (PartnerAS2ID)
GlobalSCAPE COM API
212
Specifying or Retrieving Type of Receipt Required for AS2 Message (ReceiptPolicy)
Specifying or Retrieving Mechanism of Receipt Delivery Required for AS2 Message (ReceiptDelivery)
Specifying or Retrieving the Timeout while Sending AS2 File (TimeoutSec)
Specifying or Retrieving the Maximum Amount of Sending Retries in the Case of Failure (RetriesCount)
Specifying or Retrieving the Interval between Sending Retries (RetryDelaySec)
Specifying or Retrieving Maximum Wait Time for Asynchronous AS2 Receipt (AsyncReceiptTimeoutMin)
SPECIFYING OR RETRIEVING THE PATH TO THE FILE TO SEND (LOCALPATH)
Available in EFT Server 6.1 and later.
The ICIAS2SendActionParams::LocalPath property allows you to specify and retrieve the path to which you are sending an AS2 file.
HRESULT LocalPath([out, retval] BSTR* pVal);
HRESULT LocalPath([in] BSTR newVal);
Example (VBScript):
Retrieving:
MsgBox AS2SendParams.LocalPath & " file will be sent"
Specifying:
AS2SendParams.LocalPath = "%FS.PATH%"
SPECIFYING OR RETRIEVING WHETHER A CERTAIN AS2 OUTBOUND PROFILE IS TO BE USED (USECLIENTPROFILE)
Available in EFT Server 6.1 and later.
The ICIAS2SendActionParams::UseClientProfile Boolean property allows you to specify and retrieve whether a whole AS2 Outbound Profile of certain EFT Server client will be used for this AS2 Send operation. Otherwise, you must explicitly specify each AS2 Send parameter. (Refer also to the ICIAS2SendActionParams::ClientProfile property.)
HRESULT UseClientProfile([out, retval] VARIANT_BOOL* pVal);
HRESULT UseClientProfile([in] VARIANT_BOOL newVal);
Example (VBScript):
Retrieving:
If Not AS2SendParams.UseClientProfile Then
‘ Specify each AS2 Send parameter
End If
Specifying:
AS2SendParams.UseClientProfile = True
SPECIFYING OR RETRIEVING USERNAME WHOSE AS2 OUTBOUND PROFILE IS USED FOR THIS AS2 SEND OPERATION (CLIENTPROFILE)
Available in EFT Server 6.1 and later.
Report Information Interface (ICIReportInfo)
213
The ICIAS2SendActionParams::ClientProfile property allows you to specify or retrieve username of AS2 partner whose AS2 Outbound Profile will be used for this AS2 Send operation. This property is applicable only if UseClientProfile = True.
HRESULT UseClientProfile([out, retval] VARIANT_BOOL* pVal);
HRESULT UseClientProfile([in] VARIANT_BOOL newVal);
Example (VBScript):
Retrieving:
If AS2SendParams.UseClientProfile Then
MsgBox AS2SendParams.ClientProfile & "’s AS2 profile will be used"
End If
Specifying:
AS2SendParams.UseClientProfile = True
AS2SendParams.ClientProfile = "Some_User"
SPECIFYING OR RETRIEVING WHETHER SOURCE FILE WILL BE REMOVED AFTER SUCCESSFUL DELIVERY (DELETESOURCEFILE)
Available in EFT Server 6.1 and later.
The ICIAS2SendActionParams::DeleteSourceFile Boolean property allows you to specify or retrieve whether source file will be removed after successful delivery to AS2 partner.
HRESULT DeleteSourceFile([out, retval] VARIANT_BOOL* pVal);
HRESULT DeleteSourceFile([in] VARIANT_BOOL newVal);
Example (VBScript):
Retrieving:
If AS2SendParams.DeleteSourceFile Then
MsgBox "Warning! Source file will be removed after delivery!"
End If
Specifying:
AS2SendParams.DeleteSourceFile = True
SPECIFYING OR RETRIEVING THE REMOTE HOST TO WHICH TO SEND THE AS2 FILE (HOST)
Available in EFT Server 6.1 and later.
The ICIAS2SendActionParams::Host property allows you to specify or retrieve the remote host to which you are sending an AS2 file, and the protocol prefix, http:// or https://. If no protocol prefix is specified, plain HTTP protocol will be used.
HRESULT Host([out, retval] BSTR* pVal);
HRESULT Host([in] BSTR newVal);
Example (VBScript):
Retrieving:
MsgBox "The file will be sent to " & AS2SendParams.Host
Specifying:
AS2SendParams.Host = "https://some_as2_server.com"
GlobalSCAPE COM API
214
SPECIFYING OR RETRIEVING THE REMOTE PORT TO SEND THE AS2 FILE (PORT)
Available in EFT Server 6.1 and later.
The ICIAS2SendActionParams::Port property allows you to specify or retrieve the remote port to which you are sending an AS2 file.
HRESULT Port([out, retval] long* pVal);
HRESULT Port([in] long newVal);
Example (VBScript):
Retrieving:
If (AS2SendParams.Port <> 80) And (AS2SendParams.Port <> 443) Then
MsgBox "Are you sure you want to use non-standard HTTP port?"
End If
Specifying:
AS2SendParams.Port = 443
SPECIFYING OR RETRIEVING THE PATH ON AS2 SERVER TO SEND AS2 FILE (REMOTEPATH)
Available in EFT Server 6.1 and later.
The ICIAS2SendActionParams::RemotePath property allows you to specify or retrieve the path to which you are sending an AS2 file.
HRESULT RemotePath([out, retval] long* pVal);
HRESULT RemotePath([in] long newVal);
Example (VBScript):
Retrieving:
sURL = AS2Params.Host & ":" & CStr(AS2Params.Port) & AS2Params.RemotePath
Specifying:
AS2SendParams.RemotePath = "/AS2.aspx"
SPECIFYING OR RETRIEVING USERNAME FOR AUTHENTICATION ON AS2 SERVER (USER)
Available in EFT Server 6.1 and later.
The ICIAS2SendActionParams::User property allows you to specify or retrieve the username for authentication on the AS2 Server to which you are sending an AS2 file.
HRESULT User([out, retval] long* pVal);
HRESULT User([in] long newVal);
Example (VBScript):
Retrieving:
MsgBox "Will send the file using " & AS2SendParams.User & " account"
Specifying:
AS2SendParams.User = "User1"
Report Information Interface (ICIReportInfo)
215
SPECIFYING OR RETRIEVING AUTHENTICATION PASSWORD FOR AUTHENTICATION ON THE AS2 SERVER (PASSWORD)
Available in EFT Server 6.1 and later.
The ICIAS2SendActionParams::Password property allows you to specify or retrieve the password used for authentication on the AS2 Server to which you are sending an AS2 file.
HRESULT Password([out, retval] long* pVal);
HRESULT Password([in] long newVal);
Example (VBScript):
Retrieving:
sHTTPCredentials = AS2SendParams.User & ":" & AS2SendParams.Password
Specifying:
AS2SendParams.Password = "Password1"
SPECIFYING OR RETRIEVING AS2 MESSAGE SUBJECT (SUBJECT)
Available in EFT Server 6.1 and later.
The ICIAS2SendActionParams::Subject property allows you to specify or retrieve the AS2 message subject.
HRESULT Subject([out, retval] BSTR* pVal);
HRESULT Subject([in] BSTR newVal);
Example (VBScript):
Retrieving:
MsgBox "Message Subject: " & AS2SendParams.Subject
Specifying:
AS2SendParams.Subject = "Requested client list attached"
SPECIFYING OR RETRIEVING THE TYPE OF AS2 FILE TO SEND (CONTENTTYPE)
Available in EFT Server 6.1 and later.
The ICIAS2SendActionParams::ContentType property allows you to specify or retrieve the type of AS2 file to send. (Refer to AS2ContentType enumeration for available types.)
HRESULT ContentType([out, retval] AS2ContentType* pVal);
HRESULT ContentType([in] AS2ContentType newVal);
Example (VBScript):
Retrieving:
If AS2SendParams.ContentType = Binary Then
MsgBox "File type: Binary"
End If
Specifying:
AS2SendParams.ContentType = Plaintext
GlobalSCAPE COM API
216
SPECIFYING OR RETRIEVING WHETHER AS2 FILE WILL BE COMPRESSED BEFORE SENDING (COMPRESS)
Available in EFT Server 6.1 and later.
The ICIAS2SendActionParams::Compress Boolean property allows you to specify or retrieve whether an AS2 file will be compressed before sending.
HRESULT Compress([out, retval] VARIANT_BOOL* pVal);
HRESULT Compress([in] VARIANT_BOOL newVal);
Example (VBScript):
Retrieving:
If Not AS2SendParams.Compress Then
MsgBox "Sending large files without compression is time-consuming!"
End If
Specifying:
AS2SendParams.Compress = True
SPECIFYING OR RETRIEVING WHETHER AS2 MESSAGE WILL BE ENCRYPTED WITH AS2 PARTNER CERTIFICATE (ENCRYPT)
Available in EFT Server 6.1 and later.
The ICIAS2SendActionParams::Encrypt Boolean property allows you to specify or retrieve whether an AS2 message will be encrypted with the AS2 partner certificate. (Refer to PartnerCertificatePath property).
HRESULT Encrypt([out, retval] VARIANT_BOOL* pVal);
HRESULT Encrypt([in] VARIANT_BOOL newVal);
Example (VBScript):
Retrieving:
If Not AS2SendParams.Encrypt Then
MsgBox "Sending data without encryption is not secure!"
End If
Specifying:
AS2SendParams.Encrypt = True
SPECIFYING OR RETRIEVING WHETHER AS2 MESSAGE WILL BE SIGNED WITH SITE CERTIFICATE (SIGN)
Available in EFT Server 6.1 and later.
The ICIAS2SendActionParams::Sign Boolean property allows you to specify or retrieve whether an AS2 message will be signed with the Site's certificate.
HRESULT Sign([out, retval] VARIANT_BOOL* pVal);
HRESULT Sign([in] VARIANT_BOOL newVal);
Example (VBScript):
Retrieving:
If Not AS2SendParams.Sign Then
MsgBox "Unsigned message will not allow partner to authenticate you!"
Report Information Interface (ICIReportInfo)
217
End If
Specifying:
AS2SendParams.Sign = True
SPECIFYING OR RETRIEVING PATH TO AS2 PARTNER CERTIFICATE (PARTNERCERTIFICATEPATH)
Available in EFT Server 6.1 and later.
The ICIAS2SendActionParams::PartnerCertificatePath property allows you to specify or retrieve the path to the AS2 partner certificate for AS2 message encrypting and receipt signing.
HRESULT PartnerCertificatePath([out, retval] BSTR* pVal);
HRESULT PartnerCertificatePath([in] BSTR newVal);
Example (VBScript):
Retrieving:
MsgBox "Encrypt message with " & AS2SendParams.PartnerCertificatePath
Specifying:
AS2SendParams.PartnerCertificatePath = "C:\Partner.pem"
SPECIFYING OR RETRIEVING THE AS2 ID OF FILE SENDER (AS2ID)
Available in EFT Server 6.1 and later.
The ICIAS2SendActionParams::AS2ID property allows you to specify or retrieve the AS2 ID of the file sender.
HRESULT AS2ID([out, retval] BSTR* pVal);
HRESULT AS2ID([in] BSTR newVal);
Example (VBScript):
Retrieving:
MsgBox "Send message as " & AS2SendParams.AS2ID & " AS2 identifier"
Specifying:
AS2SendParams.AS2ID = "EFT Server : User1"
SPECIFYING OR RETRIEVING THE AS2 ID OF THE AS2 PARTNER TO WHICH YOU ARE SEND AN AS2 FILE (PARTNERAS2ID)
Available in EFT Server 6.1 and later.
The ICIAS2SendActionParams::PartnerAS2ID property allows you to specify or retrieve the AS2 ID of the AS2 partner to which you are sending an AS2 file.
HRESULT PartnerAS2ID([out, retval] BSTR* pVal);
HRESULT PartnerAS2ID([in] BSTR newVal);
Example (VBScript):
Retrieving:
MsgBox "Send message to " & AS2SendParams.PartnerAS2ID & " partner"
Specifying:
AS2SendParams.PartnerAS2ID = "John Smith"
GlobalSCAPE COM API
218
SPECIFYING OR RETRIEVING TYPE OF RECEIPT REQUIRED FOR AS2 MESSAGE (RECEIPTPOLICY)
Available in EFT Server 6.1 and later.
The ICIAS2SendActionParams::ReceiptPolicy property allows you to specify or retrieve the type of the receipt required for AS2 message. (Refer to AS2ReceiptPolicy enumeration for available receipt types).
HRESULT ReceiptPolicy([out, retval] AS2ReceiptPolicy* pVal);
HRESULT ReceiptPolicy([in] AS2ReceiptPolicy newVal);
Example (VBScript):
Retrieving:
If AS2SendParams.ReceiptPolicy <> SignedReceipt Then
MsgBox "Request signed receipt to authenticate AS2 partner!"
End If
Specifying:
AS2SendParams.ReceiptPolicy = SignedReceipt
SPECIFYING OR RETRIEVING MECHANISM OF RECEIPT DELIVERY REQUIRED FOR AS2 MESSAGE (RECEIPTDELIVERY)
Available in EFT Server 6.1 and later.
The ICIAS2SendActionParams::ReceiptDelivery property allows you to specify or retrieve the mechanism of receipt delivery required for an AS2 message. (Refer to AS2ReceiptDelivery enumeration for available mechanisms.) This property is applicable only if ReceiptPolicy property is not set to NoReceipt.
HRESULT ReceiptDelivery([out, retval] AS2ReceiptDelivery* pVal);
HRESULT ReceiptDelivery([in] AS2ReceiptDelivery newVal);
Example (VBScript):
Retrieving:
If (AS2SendParams.ReceiptPolicy <> NoReceipt) _
And (AS2SendParams.ReceiptDelivery = Async)
Then
MsgBox "Are you ready to wait for receipt for several days?"
End If
Specifying:
AS2SendParams.ReceiptDelivery = Sync
SPECIFYING OR RETRIEVING THE TIMEOUT WHILE SENDING AS2 FILE (TIMEOUTSEC)
Available in EFT Server 6.1 and later.
The ICIAS2SendActionParams::TimeoutSec property allows you to specify or retrieve the timeout (in seconds) while sending the file.
HRESULT TimeoutSec([out, retval] long* pVal);
HRESULT TimeoutSec([in] long newVal);
Example (VBScript):
Retrieving:
Report Information Interface (ICIReportInfo)
219
MsgBox "Send Timeout: " & CStr(AS2SendParams.TimeoutSec) & " seconds"
Specifying:
AS2SendParams.TimeoutSec = 900 ‘ 15 minutes
SPECIFYING OR RETRIEVING THE MAXIMUM AMOUNT OF SENDING RETRIES IN THE CASE OF FAILURE (RETRIESCOUNT)
Available in EFT Server 6.1 and later.
The ICIAS2SendActionParams::RetriesCount property allows you to specify or retrieve the maximum amount of sending retries in the case of failure (timeout, network errors, etc.); 0 means ‘no retry if failed’.
HRESULT RetriesCount([out, retval] long* pVal);
HRESULT RetriesCount([in] long newVal);
Example (VBScript):
Retrieving:
If AS2SendParams.RetriesCount = 0 Then
MsgBox "Are you sure no retry is needed for sending failures?"
End If
Specifying:
AS2SendParams.RetriesCount = 5 ‘Try another 5 times if fails to send
SPECIFYING OR RETRIEVING THE INTERVAL BETWEEN SENDING RETRIES (RETRYDELAYSEC)
Available in EFT Server 6.1 and later.
The ICIAS2SendActionParams::RetryDelaySec property allows you to specify or retrieve the interval between successive sending retries (in seconds) in the case of sending failure. This property is applicable only if RetriesCount property is not set to 0.
HRESULT RetryDelaySec([out, retval] long* pVal);
HRESULT RetryDelaySec([in] long newVal);
Example (VBScript):
Retrieving:
MsgBox "Will wait for " & AS2Params.RetryDelaySec " secs before re-send"
Specifying:
AS2SendParams.RetryDelaySec = 60 ‘1 minute
SPECIFYING OR RETRIEVING MAXIMUM WAIT TIME FOR ASYNCHRONOUS AS2 RECEIPT (ASYNCRECEIPTTIMEOUTMIN)
Available in EFT Server 6.1 and later.
The ICIAS2SendActionParams::AsyncReceiptTimeoutMin property allows you to specify or retrieve the maximum wait time (in minutes) for asynchronous AS2 receipt. This property is applicable only if asynchronous receipt is requested (i.e., ReceiptPolicy property is not set to NoReceipt and ReceiptDelivery property is set to Async).
HRESULT AsyncReceiptTimeoutMin([out, retval] long* pVal);
HRESULT AsyncReceiptTimeoutMin([in] long newVal);
GlobalSCAPE COM API
220
Example (VBScript):
Retrieving:
If AS2SendParams.AsyncReceiptTimeoutMin < 60 Then
MsgBox ‘Asynchronous receipt waiting period is too short’
End If
Specifying:
AS2SendParams.AsyncReceiptTimeoutMin = 7200 ‘5 days
AUTOMATED WORKFLOW EVENT ACTION PARAMETERS INTERFACE (AWTASKACTIONPARAMS)
Available in EFT Server 6.1 and later.
The ICIAWTaskActionParams interface is used to create, modify, and retrieve and execute Automated Workflow Engine (AWE) Event Rule Actions.
Example (VBScript):
If ActionStatement.Action.Type = AWTaskAction Then
Set AWTaskParams = ActionStatement.Action.Params
‘ Modify AW Task parameters and assign them back to the action
‘ . . .
ActionStatement.Action.Params = AWTaskParams
End If
The CIAWTaskActionParams co-class supports creation of the AWE Task Event Action. The co-class implements ICIAWTaskActionParams interface.
Example (VBScript):
Set AWTaskParams = CreateObject("SFTPCOMInterface.CIAWTaskActionParams")
‘ Setup AW task parameters
‘ . . .
Rule.AddActionStatement(0, AWTaskParams)
TASKNAME
The ICIAWTaskActionParams::TaskName property allows you to specify and retrieve the name of the AWE task to execute.
HRESULT TaskName([out, retval] BSTR* pVal);
HRESULT TaskName([in] BSTR newVal);
Example (VBScript):
Retrieving:
MsgBox AWTaskParams.TaskName & " task will be executed"
Specifying:
AWTaskParams.TaskName = "Sample - SNMP Get"
Report Information Interface (ICIReportInfo)
221
BACKUP ACTION PARAMETERS INTERFACE (ICIBACKUPACTIONPARAMS)
Available in EFT Server 6.1 and later.
The ICIBackupActionParams interface allows you to create, modify, and retrieve the Backup Server Configuration Event Rule Action. (Refer also to the Action Statement Interface (ICIActionStatement).)
Example (VBScript):
If ActionStatement.Action.Type = BackupAction Then
Set BackupParams = ActionStatement.Action.Params
‘ Modify backup parameters and assign them back to the action
‘ . . .
ActionStatement.Action.Params = BackupParams
End If
The CIBackupActionParams co-class supports the creation of the Backup Server Configuration Event Rule Action. The co-class implements ICIBackupActionParams interface.
Example (VBScript):
Set BackupParams = CreateObject("SFTPCOMInterface.CIBackupActionParams")
‘ Setup backup parameters
‘ . . .
Rule.AddActionStatement(0, BackupParams)
FOLDER
The ICIBackupActionParams::Folder property allows you to specify and retrieve the path to the folder to store the backup archive.
HRESULT Folder([out, retval] BSTR* pVal);
HRESULT Folder([in] BSTR newVal);
Example (VBScript):
Retrieving:
MsgBox "Configuration snapshot will be stored in " & BackupParams.Folder
Specifying:
BackupParams.Folder = "C:\Temp"
CLEANUP ACTION PARAMETERS INTERFACE (ICICLEANUPACTIONPARAMS)
This interface is available in EFT Server 5.2 and later.
The ICICleanupActionParams interface allows you to make changes to the Cleanup in Folder Event Action settings. Access the ICICleanupActionParams interface with ICIEventActionParams property (when its Type property returns CleanupAction).
Example:
If action.Type = 128 then ‘CleanupAction
Set cleanupParams = action.Params
GlobalSCAPE COM API
222
EndIf
Related Topics
Retrieving or Changing the Period to Keep Files before Removing (DaysToKeepFiles)
Specifying whether to Remove or Exclude Files from Cleanup (ExcludeFileMask)
Retrieving or Changing Files to Remove (FileMask)
Retrieving or Changing Folder to Cleanup (Folder)
Specifying whether to Cleanup All Subfolders Recursively (Recursive)
CLEAN-UP ACTION PARAMETERS
In EFT Server Enterprise, you can configure an EFT Server Event Rule to clean up a specified folder at regularly scheduled intervals. The Clean up in Folder Action is available only with the On Timer Server event. At the interval that you specify, EFT Server compares the filter parameters of the Cleanup Action to the files in the designated folder, then determines the creation time of the file and deletes ("cleans up") files that match the cleanup parameters. For example, if you specify to cleanup files that are older than 7 days named dailyreport*.doc in the folder D:\WorkFolder\Sales\Daily Reports, any Microsoft Word files in that folder with dailyreport in the file name are deleted.
The dialog box below is labeled with the parameters that are available in the Cleanup Action Parameters interface.
Refer to the topics below for details of these parameters
Retrieving or Changing the Period to Keep Files before Removing (DaysToKeepFiles)
Specifying whether to Remove or Exclude Files from Cleanup (ExcludeFileMask)
Retrieving or Changing Files to Remove (FileMask)
Retrieving or Changing Folder to Cleanup (Folder)
Specifying whether to Cleanup All Subfolders Recursively (Recursive)
RETRIEVING OR CHANGING THE PERIOD TO KEEP FILES BEFORE REMOVING
This property is available in EFT Server 5.2 and later.
Use the ICICleanupActionParams interface DaysToKeepFiles property to retrieve or change the number of days to keep files prior to cleanup. Refer to Clean-Up Action Parameters for an illustration of how this and other Cleanup Action Parameters Interface properties can be accessed in the Administrator interface.
Report Information Interface (ICIReportInfo)
223
Signature:
HRESULT DaysToKeepFiles([out, retval] long *pVal);
HRESULT DaysToKeepFiles([in] long newVal);
Example:
cleanupParams.DaysToKeepFiles = 14 'Remove files older than 2 weeks
RETRIEVING OR CHANGING FOLDER TO CLEANUP (FOLDER)
This property is available in EFT Server 5.2 and later.
Use the ICICleanupActionParams interface Folder property to retrieve or change the folder to cleanup in. Refer to Clean-Up Action Parameters for an illustration of how this and other Cleanup Action Parameters Interface properties can be accessed in the Administrator interface.
Signature:
HRESULT Folder([out, retval] BSTR *pVal);
HRESULT Folder([in] BSTR newVal);
Example:
cleanupParams.Folder = "C:\EFT\Folder_to_cleanup"
SPECIFYING WHETHER TO CLEANUP ALL SUBFOLDERS RECURSIVELY (RECURSIVE)
This property is available in EFT Server 5.2 and later.
Use the ICICleanupActionParams interface Recursive to specify whether to cleanup all subfolders recursively. Refer to Clean-Up Action Parameters for an illustration of how this and other Cleanup Action Parameters Interface properties can be accessed in the Administrator interface.
Signature:
HRESULT Recursive([out, retval] VARIANT_BOOL *pVal);
HRESULT Recursive([in] VARIANT_BOOL newVal);
Example:
cleanupParams.Recursive = False
SPECIFYING WHETHER TO REMOVE OR EXCLUDE FILES FROM CLEANUP (EXCLUDEFILEMASK)
This property is available in EFT Server 5.2 and later.
Use the ICICleanupActionParams interface ExcludeFileMask to check/specify whether the FileMask property specifies files to remove or exclude from cleanup (e.g., remove all the files except for those matching FileMask). Refer to Clean-Up Action Parameters for an illustration of how this and other Cleanup Action Parameters Interface properties can be accessed in the Administrator interface.
Signature:
HRESULT ExcludeFileMask([out, retval] VARIANT_BOOL *pVal);
HRESULT ExcludeFileMask ([in] VARIANT_BOOL newVal);
GlobalSCAPE COM API
224
Example:
cleanupParams.ExcludeFileMask = False 'Remove only files matching FileMask during
cleanup
True = Include
False = Exclude
RETRIEVING OR CHANGING FILES TO REMOVE (FILEMASK)
This property is available in EFT Server 5.2 and later.
Use the ICICleanupActionParams interface FileMask property to retrieve or change the files to remove or keep, depending on ExcludeFileMask property value. Refer to Clean-Up Action Parameters for an illustration of how this and other Cleanup Action Parameters Interface properties can be accessed in the Administrator interface.
Signature:
HRESULT FileMask([out, retval] BSTR *pVal);
HRESULT FileMask([in] BSTR newVal);
Example:
cleanupParams.FileMask = "*.txt"
COMMAND ACTION PARAMETERS INTERFACE (ICICOMMANDACTIONPARAMS)
This interface is available in EFT Server 5.2 and later.
The ICICommandActionParams interface allows you to make changes to the settings of Execute Command Event Action. Access the ICICommandActionParams interface with ICIEventAction Params property (when its Type property returns CommandAction).
Example:
If action.Type = 1 then 'CommandAction
Set commandParams = action.Params
EndIf
Related Topics
Retrieving or Changing Command to Execute (Command)
Retrieving or Changing Parameters for Command (Parameters)
Retrieving or Changing Working Folder for Command (WorkingFolder)
RETRIEVING OR CHANGING COMMAND TO EXECUTE (COMMAND)
This property is available in EFT Server 5.2 and later.
Use the ICICommandActionParams interface Command property to retrieve or change the command to execute.
Signature:
HRESULT Command([out, retval] BSTR *pVal);
HRESULT Command([in] BSTR newVal);
Report Information Interface (ICIReportInfo)
225
Example:
commandParams.Command = "My_command"
RETRIEVING OR CHANGING WORKING FOLDER FOR COMMAND (WORKINGFOLDER)
This property is available in EFT Server 5.2 and later.
Use the ICICommandActionParams interface WorkingFolder property to retrieve or change the working folder for the command.
Signature:
HRESULT WorkingFolder([out, retval] BSTR *pVal);
HRESULT WorkingFolder([in] BSTR newVal);
Example:
commandParams.WorkingFolder = "D:\MyFolder"
RETRIEVING OR CHANGING PARAMETERS FOR COMMAND (PARAMETERS)
This property is available in EFT Server 5.2 and later.
Use the ICICommandActionParams interface Parameters property to retrieve or change the parameters for a command.
Signature:
HRESULT Parameters([out, retval] BSTR *pVal);
HRESULT Parameters([in] BSTR newVal);
Example:
commandParams.Parameters = "D:\MyFolder\MyScript.vbs –A -B"
COMPOUND CONDITION INTERFACE
This interface is available in EFT Server 5.2 and later.
The ICICompoundCondition interface allows you to make changes to the Event Rule Condition settings using the following methods and properties:
HRESULT Add([in] long lPropertyID, [in] ConditionOperator op, [in] VARIANT
varValue, [out, retval] IDispatch** ppdispSimpleCondition);
HRESULT Count([out, retval] long *plCount);
HRESULT Delete([in] long lIndex);
HRESULT Item([in] long lIndex, [out, retval] IDispatch** ppdispSimpleCondition);
HRESULT Operator([out, retval] LogicalOperator *pVal);
HRESULT Operator([in] LogicalOperator newVal);
DOWNLOAD ACTION PARAMETERS INTERFACE PROPERTIES (ICIDOWNLOADACTIONPARAMS)
This interface is available in EFT Server 5.2.5 and later.
GlobalSCAPE COM API
226
The ICIDownloadActionParams interface (derived from ICITransferActionParams defining client operation parameters) allows you to make changes to the Event Rule settings using the following properties:
AutoLogin
DeleteSourceFile
Host
LocalPath
Password
Port
PrivateKeyPassword
PrivateKeyPath
Protocol
PublicKeyPath
RemotePath
User
EVENT ACTION INTERFACE
This interface is available in EFT Server 5.2 and later.
The ICIEventAction interface allows you to make changes to the Event Rule Action settings using the following properties:
HRESULT Type([out, retval] EventActionType *pVal);
HRESULT Params([out, retval] IDispatch** ppdispParams);
HRESULT Params([in] IDispatch* pdispParams);
EVENT ACTIONS INTERFACE METHODS
This interface is available in EFT Server 5.2 and later.
The ICIEventActions interface allows you to make changes to the Event Rule Action settings using the following methods:
HRESULT Add([in] long lIndex, [in] EventActionType type, [in] IDispatch*
pdispParams, [out, retval] IDispatch** ppdispAction);
HRESULT Count([out, retval] long* plCount);
HRESULT Delete([in] long lIndex);
HRESULT Item([in] long lIndex, [out, retval] IDispatch** ppdispAction);
EVENT INFORMATION INTERFACE (ICIEVENTINFO)
This interface is available in EFT Server 6.1.
The ICIEventInfo interface is used to retrieve information about EFT Server’s events. (Also refer to ICIServer::AvailableEvents property.) The interface provides the set of read-only properties.
TYPE PROPERTY
ICIEventInfo::Type read-only property allows retrieving EventType enumeration value corresponding to this event:
Report Information Interface (ICIReportInfo)
227
HRESULT Type([out, retval] EventType* pVal);
Example (VBScript):
If Event.Type = OnTimer Then
MsgBox "Event type: Timer"
End If
NAME PROPERTY
ICIEventInfo::Name read-only property allows retrieving human-readable name of this event.
HRESULT Name([out, retval] BSTR* pVal);
Example (VBScript):
MsgBox "Event: " & Event.Name
EVENT RULE INTERFACE (ICIEVENTRULE)
This interface is available in EFT Server 5.2 and later.
Use the ICIEventRule interface to make changes to the Event Rule settings.
ADDACTIONSTATEMENT METHOD HRESULT AddActionStatement(
[in] long lIndex,
[in] EventActionType type,
[in] IDispatch* pdispParams,
[out, retval] IDispatch** ppdispActionStatement);
ADDIFSTATMENT METHOD HRESULT AddIfStatement(
[in] long lIndex, // Position to add to
[in] EventProperty property, // Event property
[in] ConditionOperator op, // Operator
[in] VARIANT varConditionValue, // value
[out, retval] IDispatch** ppdispIfStatement) // New IF statement
Example (VBScript):
'Add "If File name matches "*.txt" or "*.exe"" condition:
cond = Rule.AddIfStatement(0, FileName, Match, Array("*.txt", "*.exe"))
DELETESTATEMENT METHOD HRESULT DeleteStatement([in] long lIndex);
GETPARAMS METHOD
This interface is available in EFT Server 6.1 and later.
Use the ICIEventRule::GetParams method to retrieve a copy of rule parameters.
HRESULT GetParams([out, retval] IDispatch* *pVal); // parameters
GlobalSCAPE COM API
228
Example (VBScript):
Set Params = Rule.GetParams
SETPARAMS METHOD
This interface is available in EFT Server 6.1 and later.
Use the ICIEventRule::SetParams method to change rule parameters.
HRESULT SetParams([in] IDispatch *pVal); // parameters
Example (VBScript):
'rename rule
Set Params = Rule.GetParams
Params.Name = Params.Name & "_renamed"
Rule.SetParams Params
STATEMENT METHOD HRESULT Statement([in] long lIndex, [out, retval] IDispatch** ppdispStatement);
STATEMENTSCOUNT METHOD HRESULT StatementsCount([out, retval] long* plCount);
EVENT RULES INTERFACE
This interface is available in EFT Server 5.2 and later.
The ICIEventRules interface allows you to make changes to the Event Rule settings using the following methods:
HRESULT Add([in]long lIndex, [in] IDispatch* pdispParams, [out, retval]
HRESULT Count([out, retval] long* plCount);
HRESULT Delete([in] long lIndex); IDispatch** ppdispNewRule);
HRESULT Find([in] BSTR strName, [out, retval] IDispatch **ppdisp);
HRESULT Item([in] long lIndex, [out, retval] IDispatch **ppdispRule);
EVENT RULE PARAMETERS INTERFACE
This interface is available in EFT Server 5.2 and later.
The ICIEventRuleParams interface allows you to make changes to the Event Rule Condition settings using the following properties:
HRESULT Description([out, retval] BSTR *pVal);
HRESULT Description([in] BSTR newVal);
Report Information Interface (ICIReportInfo)
229
HRESULT Enabled([out, retval] VARIANT_BOOL *pVal);
HRESULT Enabled([in] VARIANT_BOOL newVal);
HRESULT Name([out, retval] BSTR *pVal);
HRESULT Name([in] BSTR newVal);
EVENT RULE STATEMENT INTERFACE
This interface is available in EFT Server 5.2 and later.
The ICIEventRuleStatement interface allows you to make changes to the Event Rule settings using the Type property:
HRESULT Type([out, retval] EventRuleStatementType *pVal);
FOLDER MONITOR EVENT RULE PARAMETERS INTERFACE (ICIFOLDERMONITOREVENTRULEPARAMS)
This interface is available in EFT Server 5.2 and later.
The ICIFolderMonitorEventRuleParams interface allows you to make changes to the Event Rule settings using the following properties:
HRESULT CheckHealth([out, retval] VARIANT_BOOL *pVal);
HRESULT CheckHealth([in] VARIANT_BOOL newVal);
HRESULT CheckHealthInterval([out, retval] long *pVal);
HRESULT CheckHealthInterval([in] long newVal);
HRESULT Enabled([out, retval] VARIANT_BOOL *pVal);
HRESULT Enabled([in] VARIANT_BOOL newVal);
HRESULT ForcedlyDisabled([out, retval] VARIANT_BOOL *pVal);
HRESULT ForcedlyDisabled([in] VARIANT_BOOL newVal);
HRESULT IncludeSubfolders([out, retval] VARIANT_BOOL *pVal);
HRESULT IncludeSubfolders([in] VARIANT_BOOL newVal);
HRESULT Name([out, retval] BSTR *pVal);
HRESULT Name([in] BSTR newVal);
HRESULT Path([out, retval] BSTR *pVal);
HRESULT Path([in] BSTR newVal);
IF STATEMENT INTERFACE
This interface is available in EFT Server 5.2 and later.
The ICIIfStatement interface allows you to make changes to the Event Rule settings using the following methods and properties:
HRESULT Condition([out, retval] IDispatch** ppdispCompoundCondition);
HRESULT ElseSection([out, retval] IDispatch** ppdispActionStatements);
HRESULT IfSection([out, retval] IDispatch** ppdispActionStatements);
GlobalSCAPE COM API
230
MAIL ACTION PARAMETERS INTERFACE (ICIMAILACTIONPARAMS)
This interface is available in EFT Server 5.2 and later.
The ICIMailActionParams interface allows you to make changes to the MailAction settings. Access the ICIMailActionParams interface with ICIEventActionParams property (when its Type property returns MailAction).
Example:
If action.Type = 2 then 'MailAction
Set mailParams = action.Params
EndIf
SEND NOTIFICATION E-MAIL ACTION PARAMETERS
You can create an e-mail notification action for Event Rule and AS2 Transaction success/failure notifications.
On Sites using AD Authentication, the EFT Server must have "Log On as a domain user" permission in order for e-mail notifications to work.
The dialog box below is labeled with the parameters that are available in the Mail Action Parameters interface.
Report Information Interface (ICIReportInfo)
231
VB script example:
Refer to the topics below for details of these parameters
Retrieving or Changing Message Recipients (TOAddresses, CCAddresses, and BCCAddresses)
Retrieving or Changing Message Subject (Subject)
Retrieving or Changing Message Body (Body)
Determining whether to CC Message to Client Associated with Event (CopyToClient)
RETRIEVING OR CHANGING MESSAGE RECIPIENTS
These properties are available in EFT Server 5.2 and later.
Use the ICIMailActionParams interface TOAddresses, CCAddresses, and BCCAddresses properties to retrieve or change recipients in the To, CC, and BCC fields of a message. Separate multiple addresses with a semicolon. Refer to Send Notification E-mail Action Parameters for an illustration of how this and other Mail Action Parameters Interface properties can be accessed in the Administrator interface.
Signature:
HRESULT TOAddresses([out, retval] BSTR *pVal);
HRESULT TOAddresses([in] BSTR newVal);
HRESULT CCAddresses([out, retval] BSTR *pVal);
HRESULT CCAddresses([in] BSTR newVal);
HRESULT BCCAddresses([out, retval] BSTR *pVal);
HRESULT BCCAddresses([in] BSTR newVal);
Example:
mailParams.CCAddresses = "rto@globalscape.com;foo@bar.com;"
RETRIEVING OR CHANGING MESSAGE SUBJECT
This property is available in EFT Server 5.2 and later.
Use the ICIMailActionParams interface Subject property to retrieve or change the subject of an e-mail message. Refer to Send Notification E-mail Action Parameters for an illustration of how this and other Mail Action Parameters Interface properties can be accessed in the Administrator interface.
Signature:
HRESULT Subject([out, retval] BSTR *pVal);
HRESULT Subject([in] BSTR newVal);
Example:
mailParams.Subject = "Important! Need to talk"
GlobalSCAPE COM API
232
RETRIEVING OR CHANGING THE MESSAGE BODY (BODY)
This property is available in EFT Server 5.2 and later.
Use the ICIMailActionParams interface Body property to retrieve or change the body of an e-mail message. Refer to Send Notification E-mail Action Parameters for an illustration of how this and other Mail Action Parameters Interface properties can be accessed in the Administrator interface.
Signature:
HRESULT Body([out, retval] BSTR *pVal);
HRESULT Body([in] BSTR newVal);
Example:
mailParams.Body = "<HTML>This message was sent to you automatically by the
GlobalSCAPE EFT Server</HTML>"
DETERMINING WHETHER TO CC MESSAGE TO CLIENT ASSOCIATED WITH EVENT
This property is available in EFT Server 5.2 and later.
Use the ICIMailActionParams interface CopyToClient to determine whether to add the client associated with an event to a message’s CC list. Refer to Send Notification E-mail Action Parameters for an illustration of how this and other Mail Action Parameters Interface properties can be accessed in the Administrator interface.
Signature:
HRESULT CopyToClient([out, retval] VARIANT_BOOL *pVal);
HRESULT CopyToClient([in] VARIANT_BOOL newVal);
Example:
mailParams. CopyToClient = True
OVERRIDING DEFAULT FROM ADDRESS IN E-MAIL ACTIONS (USECUSTOMFROMADDRESS)
Use the ICIMailActionParams::UseCustomFromAddress property to specify or retrieve whether to override the default FROM address (specified in EFT Server SMTP settings) in this e-mail notification.
HRESULT UseCustomFromAddress([out, retval] VARIANT_BOOL *pVal);
HRESULT UseCustomFromAddress([in] VARIANT_BOOL newVal);
Example (VBScript):
Retrieving:
FROMAddr = Server.SMTPSenderAddr 'default
If MailParams.UseCustomFromAddress Then
FROMAddr = MailParams.CustomFromAddress
End If
Specifying:
MailParams.UseCustomFromAddress = False
Report Information Interface (ICIReportInfo)
233
DEFINING OR RETRIEVING A CUSTOM FROM ADDRESS (CUSTOMFROMADDRESS)
Use the ICIMailActionParams::CustomFromAddress property to specify or retrieve the FROM address that overrides the default one in this e-mail notifications. (Takes effect only if
ICIMailActionParams::UseCustomFromAddress is set to True.)
HRESULT CustomFromAddress([out, retval] BSTR *pVal);
HRESULT CustomFromAddress([in] BSTR newVal);
Example (VBScript):
Retrieving:
FROMAddr = Server.SMTPSenderAddr 'default
If MailParams.UseCustomFromAddress Then
FROMAddr = MailParams.CustomFromAddress
End If
Specifying:
MailParams.UseCustomFromAddress = True
MailParams.CustomFromAddress = "custom_email@smtpserver.org"
OPENPGP ACTION INTERFACE (ICIPGPACTIONPARAMS)
This interface is available in EFT Server 5.2 and later.
The ICIPgpActionParams interface allows you to make changes to the OpenPGP Event Action settings. Access the ICIPgpActionParams interface with the ICIEventAction Params property (when its Type property returns PGPAction).
Example:
If action.Type = 32 then ‘PGPAction
Set pgpParams = action.Params
EndIf
This interface is available in EFT Server 5.2 and later.
The ICIPgpActionParams interface allows you to make changes to the OpenPGP Event Action settings. Access the ICIPgpActionParams interface with the ICIEventAction Params property (when its Type property returns PGPAction).
Example:
If action.Type = 32 then ‘PGPAction
Set pgpParams = action.Params
EndIf
Related Topics
Retrieving or Changing File Path for OpenPGP Event Action (FilePath)
Retrieving or Changing Keys to Encrypt/Decrypt Data (KeyIDs)
Determining Operation for PGP Event Action (Operation)
Retrieving or Changing the Passphrase for Signing or Decryption Key (Passphrase)
Determining whether to Sign Encrypted Data (Sign)
Retrieving or Changing Key to Sign Encrypted Data (SignKeyID)
GlobalSCAPE COM API
234
Specifying or Retrieving PGP Action Output Encoded in Text Format (ASCIIArmoredOutput)
Specifying or Retrieving Compression Level for PGP Encryption Operation (CompressionLevel)
Specifying or Retrieving whether Signature will be Placed in Separate File (SignatureInSeparateFile)
Specifying or Retrieving Hash Algorithm for Signing (SigningHash)
RETRIEVING OR CHANGING FILE PATH FOR OPENPGP EVENT ACTION (FILEPATH)
This property is available in EFT Server 5.2 and later.
Use the ICIPgpActionParams interface FilePath property to retrieve the path to file(s) to manipulate with for OpenPGP Event action. You can also use the property to change the file(s) path.
Signature:
HRESULT FilePath([out, retval] BSTR *pVal);
HRESULT FilePath([in] BSTR newVal);
Example:
pgpParams.FilePath = "C:\MyFolder\*.*"
RETRIEVING OR CHANGING KEYS TO ENCRYPT/DECRYPT DATA (KEYIDS)
This property is available in EFT Server 5.2 and later.
Use the ICIPgpActionParams interface KeyIDs property to retrieve the list of OpenPGP key IDs for encrypting/decrypting keys. You can also use the property to change the keys used to encrypt/decrypt.
IN EFT SERVER 5.2 THROUGH 6.0.X
HRESULT KeyIDs([out, retval] SAFEARRAY(BSTR) *pVal);
HRESULT KeyIDs([in] SAFEARRAY(BSTR) newVal);
Example:
pgpParams.KeyIDs = Array("0x067194CB", "0x4567890F")
IN EFT SERVER 6.1
HRESULT KeyIDs([out, retval] VARIANT *pVal);
HRESULT KeyIDs([in] VARIANT newVal);
Example (VBScript):
For retrieving:
For Each key In PGPParams.KeyIDs
MsgBox "Key " & key & " will be used in encryption"
Next
For specifying:
PGPParams.KeyIDs = Array("0x01234567", "0x89ABCDEF")
DETERMINING OPERATION FOR PGP EVENT ACTION (OPERATION)
This property is available in EFT Server 5.2 and later.
Report Information Interface (ICIReportInfo)
235
Use the ICIPgpActionParams interface Operation property to verify or specify whether an OpenPGP Event Action will Encrypt, Decrypt, Encrypt and Sign, Sign Only, or Self-Decrypting Archive (SDA).
Signature:
HRESULT Operation([out, retval] PGPOperation *pVal);
HRESULT Operation([in] PGPOperation newVal);
Example:
pgpParams.Operation = 0 'Encrypt
In version 6.1, PGPOperation enumeration was extended to support new PGP operations introduced in EFT 6.0:
typedef enum {
Encrypt = 0, // Encrypt file with PGP key
EncryptAndSign = 1, // Encrypt + Sign file
Sign = 2, // Sign file
SDA = 3, // Create Self-decrypting archive
Decrypt = 4 // Decrypt PGP-encrypted file
} PGPOperation;
RETRIEVING OR CHANGING THE PASSPHRASE FOR SIGNING OR DECRYPTION KEY (PASSPHRASE)
This property is available in EFT Server 5.2 and later.
Use the ICIPgpActionParams interface Passphrase property to retrieve the passphrase for the key to sign or decrypt data (only for Decrypt operation or for Encrypt operation with signing). You can also use the property to change the passphrase.
Signature:
HRESULT Passphrase([out, retval] BSTR *pVal);
HRESULT Passphrase([in] BSTR newVal);
Example:
pgpParams.Passphrase = "My_very_smart_passphrase"
DETERMINING WHETHER TO SIGN ENCRYPTED DATA (SIGN)
This property is available in EFT Server 5.2 through 6.0.6. In v6.1, this functionality can be accessed via ICIPgpActionParams::Operation property using the PGPOperation enumeration values, Sign and EncryptAndSign.
Use the ICIPgpActionParams interface Sign property to verify or specify whether encrypted data will be additionally signed (for Encrypt operation only).
Signature:
HRESULT Sign([out, retval] VARIANT_BOOL *pVal);
HRESULT Sign([in] VARIANT_BOOL newVal);
Example:
pgpParams.Sign = True
GlobalSCAPE COM API
236
RETRIEVING OR CHANGING KEY TO SIGN ENCRYPTED DATA (SIGNKEYID)
This property is available in EFT Server 5.2 and later.
Use the ICIPgpActionParams interface SignKeyID property to retrieve the OpenPGP key ID for the signing key (for Encrypt operation only). You can also use the property to change the key used to sign.
Signature:
HRESULT SignKeyID([out, retval] BSTR *pVal);
HRESULT SignKeyID([in] BSTR newVal);
Example:
pgpParams.SignKeyID = "0x071894C0"
SPECIFYING OR RETRIEVING PGP ACTION OUTPUT ENCODED IN TEXT FORMAT (ASCIIARMOREDOUTPUT)
Available in EFT Server 6.1 and later.
The ICIPgpActionParams::ASCIIArmoredOutput boolean property allows you to specify or retrieve whether PGP action output will be encoded in text format. Applicable for Encrypt, Sign, and EncryptAndSign operations.
HRESULT ASCIIArmoredOutput([out, retval] VARIANT_BOOL* pVal);
HRESULT ASCIIArmoredOutput([in] VARIANT_BOOL newVal);
Example (VBScript)
Retrieving:
If PGPParams.ASCIIArmoredOutput Then
MsgBox "Output will be ASCII-armored"
End If
Specifying:
PGPParams.ASCIIArmoredOutput = False
SPECIFYING OR RETRIEVING COMPRESSION LEVEL FOR PGP ENCRYPTION OPERATION (COMPRESSIONLEVEL)
Available in EFT Server 6.1 and later.
The ICIPgpActionParams::CompressionLevel property allows you to specify or retrieve the compression level for PGP encryption operation. Applicable for Encrypt operation only. (Refer to PGPCompressionLevel Enumeration below for compression levels.)
HRESULT CompressionLevel([out, retval] PGPCompressionLevel* pVal);
HRESULT CompressionLevel([in] PGPCompressionLevel newVal);
Example (VBScript):
Retrieving:
If PGPParams.CompressionLevel = NoCompression Then
MsgBox "Output will not be compressed"
End If
Specifying:
PGPParams.CompressionLevel = CompressionLevel9
Report Information Interface (ICIReportInfo)
237
PGPCOMPRESSIONLEVEL ENUMERATION
The PGPCompressionLevel enumeration allows specifying compression level for PGP encryption operation.
typedef enum {
NoCompression = 0, // No compression
CompressionLevel1 = 1, // Level 1 (least compression, fastest)
CompressionLevel2 = 2, // Level 2
CompressionLevel3 = 3, // Level 3
CompressionLevel4 = 4, // Level 4
CompressionLevel5 = 5, // Level 5
CompressionLevel6 = 6, // Level 6 (medium compression, default)
CompressionLevel7 = 7, // Level 7
CompressionLevel8 = 8, // Level 8
CompressionLevel9 = 9 // Level 9 (max compression, default)
} PGPCompressionLevel;
SPECIFYING OR RETRIEVING WHETHER SIGNATURE WILL BE PLACED IN SEPARATE FILE (SIGNATUREINSEPARATEFILE)
Available in EFT Server 6.1 and later.
The ICIPgpActionParams::SignatureInSeparateFile Boolean property allows you to specify or retrieve whether the signature will be placed in a separate file or the target file. Applicable for Sign operation only.
HRESULT SignatureInSeparateFile([out, retval] VARIANT_BOOL* pVal);
HRESULT SignatureInSeparateFile([in] VARIANT_BOOL newVal);
Example (VBScript):
Retrieving:
If PGPParams.SignatureInSeparateFile Then
MsgBox "Signature will be placed in separate file"
End If
Specifying:
PGPParams.SignatureInSeparateFile = False
SPECIFYING OR RETRIEVING HASH ALGORITHM FOR SIGNING (SIGNINGHASH)
Available in EFT Server 6.1 and later.
The ICIPgpActionParams::SigningHash property allows specifying/retrieving hash algorithm for signing. Applicable for EncryptAndSign and Sign operations. Refer to PGPSigningHash enumeration below for the list of available enumerations.
HRESULT SigningHash([out, retval] PGPSigningHash* pVal);
HRESULT SigningHash([in] PGPSigningHash newVal);
Example (VBScript):
Retrieving:
If PGPParams.SigningHash = MD5Hash Then
MsgBox "Warning: a weak hash algorithm is specified!"
End If
GlobalSCAPE COM API
238
Specifying:
PGPParams.SigningHash = SHA512Hash
PGPSIGNINGHASH ENUMERATION
The PGPSigningHash enumeration allows specifying the hash algorithm for a PGP signing operation.
typedef enum {
MD5Hash = 0, // MD5
SHA1Hash = 1, // SHA1
RIPEMD160Hash = 2, // RIPEMD-160
SHA256Hash = 3, // SHA-256
SHA384Hash = 4, // SHA-384
SHA512Hash = 5 // SHA-512
} PGPSigningHash;
SPECIFYING OR RETRIEVING PASSWORD FOR SDA OPERATION (SDAPASSWORD)
Use the ICIPgpActionParams::SDAPassword property to specify or retrieve the password used to create a Self-Decrypting Archive (SDA) operation.
HRESULT SDAPassword([out, retval] BSTR* pVal);
HRESULT SDAPassword([in] BSTR newVal);
Examples (VBScript):
Retrieving:
MsgBox "Password for self-decrypting archive: " & PGPParams.SDAPassword
Specifying:
PGPParams.SDAPassword = "My_VeRy_CoMpLeX_PaSsWoRd"
OPENPGP KEY INFORMATION INTERFACE (ICIPGPKEYINFO)
Available in EFT Server 6.1 and later.
The ICIPGPKeyInfo interface allows you to retrieve information about EFT Server’s PGP key. (Also refer to the ICIServer::AvailablePGPKeys property). The interface provides the following set of read-only properties:
Retrieving the Name of the PGP Key (Name)
Retrieving the Description of the PGP Key (Description)
Retrieving the PGP Key Identifier (ID)
Retrieving whether this PGP Key Contains Private Key (Private)
Retrieving the Size of the PGP Key (Size)
Retrieving Creation Date of the PGP Key (CreationDate)
Retrieving whether the PGP Key has Expiration Date (NeverExpires)
Retrieving Expiration Date of PGP Key (ExpirationDate)
RETRIEVING THE NAME OF THE PGP KEY (NAME)
Available in EFT Server 6.1 and later.
The ICIPGPKeyInfo::Name read-only property allows you to retrieve the name of the PGP key (usually in the format Name <E-mail>).
HRESULT Name([out, retval] BSTR* pVal);
Report Information Interface (ICIReportInfo)
239
Example (VBScript):
MsgBox "Key name: " & Key.Name
RETRIEVING THE DESCRIPTION OF THE PGP KEY (DESCRIPTION)
Available in EFT Server 6.1 and later.
The ICIPGPKeyInfo::Description read-only property allows you to retrieve the description of the PGP key.
HRESULT Description([out, retval] BSTR* pVal);
Example (VBScript):
MsgBox "Key description: " & Key.Description
RETRIEVING THE PGP KEY IDENTIFIER (ID)
Available in EFT Server 6.1 and later.
The ICIPGPKeyInfo::ID read-only property allows you to retrieve the PGP key identifier. This property value can be used to specify the key to use for a PGP Event Rule Action.
HRESULT ID([out, retval] BSTR* pVal);
Example (VBScript):
PGPParams.KeyIDs = Array(Key1.ID, Key2.ID, Key3.ID)
RETRIEVING WHETHER THIS PGP KEY CONTAINS PRIVATE KEY (PRIVATE)
Available in EFT Server 6.1 and later.
The ICIPGPKeyInfo::Private Boolean read-only property allows you to determine whether this PGP key contains private key. If a key contains a private part, it can be used for Decrypt and Sign operations; otherwise, it can be used for Encrypt operation only.
HRESULT Private([out, retval] VARIANT_BOOL* pVal);
Example (VBScript):
If Not Key.Private Then
MsgBox "You cannot use this PGP key for decryption"
End If
RETRIEVING THE SIZE OF THE PGP KEY (SIZE)
Available in EFT Server 6.1 and later.
The ICIPGPKeyInfo::Size read-only property allows you to retrieve the size of the PGP key.
HRESULT Size([out, retval] long* pVal);
Example (VBScript):
MsgBox "Key size: " & CStr(Key.Size) & " bits"
RETRIEVING CREATION DATE OF THE PGP KEY (CREATIONDATE)
Available in EFT Server 6.1 and later.
GlobalSCAPE COM API
240
The ICIPGPKeyInfo::CreationDate read-only property allows you to retrieve creation date of the PGP key.
HRESULT CreationDate([out, retval] DATE* pVal);
Example (VBScript):
MsgBox "Key created: " & CStr(Key.CreationDate)
RETRIEVING WHETHER THE PGP KEY HAS EXPIRATION DATE (NEVEREXPIRES)
Available in EFT Server 6.1 and later.
The ICIPGPKeyInfo::NeverExpires read-only Boolean property allows you to retrieve whether the PGP key has an expiration date.
HRESULT NeverExpires([out, retval] VARIANT_BOOL* pVal);
Example (VBScript):
If Key.NeverExpires Then
MsgBox "This key has no expiration date"
End If
RETRIEVING EXPIRATION DATE OF PGP KEY (EXPIRATIONDATE)
Available in EFT Server 6.1 and later.
The ICIPGPKeyInfo::ExpirationDate read-only property allows you to retrieving the expiration date of the PGP key. This property is applicable only if the NeverExpires property is set to False.
HRESULT ExpirationDate([out, retval] DATE* pVal);
Example (VBScript):
If Not Key.NeverExpires Then
MsgBox "This key will be expired at " & CStr(Key.ExpirationDate)
End If
REPORT ACTION PARAMETERS INTERFACE
This interface is available in EFT Server 5.2 and later.
The ICIReportActionParams interface allows you to make changes to transfer-related Events, such as when a file is uploaded or downloaded, using the following properties:
CUSTOMDATE
In version 5.2 through 6.0.2:
HRESULT CustomDate([out, retval] long *pVal);
HRESULT CustomDate([in] long newVal);
In version 6.1:
HRESULT CustomDate([out, retval] PredefinedReportPeriod *pVal);
HRESULT CustomDate([in] PredefinedReportPeriod newVal);
Example (VBScript):
Retrieving:
If ReportParams.CustomDate = AllDates Then
Report Information Interface (ICIReportInfo)
241
MsgBox "All-time report will be generated"
End If
Specifying:
ReportParams.CustomDate = Last12Months
DATEFORMAT
In version 5.2 through 6.0.2:
HRESULT DateFormat([out, retval] long *pVal);
HRESULT DateFormat([in] long newVal);
In version 6.1:
HRESULT DateFormat([out, retval] ReportPeriodType *pVal);
HRESULT DateFormat([in] ReportPeriodType newVal);
Example:
Retrieving:
If ReportParams.DateFormat = Predefined Then
MsgBox "Predefined report range is used"
End If
Specifying:
ReportParams.DateFormat = Range
(Refer also to ReportPeriodType Enumeration and PredefinedReportPeriod.)
FILTERANDOR
In version 5.2 through 6.0.2:
HRESULT FilterAndOr([out, retval] long *pVal);
HRESULT FilterAndOr([in] long newVal);
In version 6.1:
HRESULT FilterAndOr([out, retval] ReportFiltersCombiningOperator *pVal);
HRESULT FilterAndOr([in] ReportFiltersCombiningOperator newVal);
Example (VBScript):
Retrieving:
If ReportParams.FilterAndOr = NoCombining Then
MsgBox "Please specify an operator to combine report filters."
End If
Specifying:
ReportParams.FilterAndOr = AndCombining
FILTERFIELD1 AND FILTERFIELD2 HRESULT FilterField1([out, retval] BSTR *pVal);
HRESULT FilterField1([in] BSTR newVal);
HRESULT FilterField2([out, retval] BSTR *pVal);
HRESULT FilterField2([in] BSTR newVal);
GlobalSCAPE COM API
242
FILTEROPERATOR1 AND FILTEROPERATOR2
In version 5.2 through 6.0.2:
HRESULT FilterOperator1([out, retval] long *pVal);
HRESULT FilterOperator1([in] long newVal);
HRESULT FilterOperator2([out, retval] long *pVal);
HRESULT FilterOperator2([in] long newVal);
In version 6.1:
HRESULT FilterOperator1([out, retval] ReportFilterOperator *pVal);
HRESULT FilterOperator1([in] ReportFilterOperator newVal);
HRESULT FilterOperator2([out, retval] ReportFilterOperator *pVal);
HRESULT FilterOperator2([in] ReportFilterOperator newVal);
Example (VBScript):
Retrieving:
If ReportParams.FilterOperator1 = NoFilter Then
MsgBox "Please specify a filter for the report."
End If
Specifying:
ReportParams.FilterOperator2 = ContainsFilter
(Refer to ReportFilterOperator Enumeration for a list of enumerators.)
FILTERVALUE1 AND FILTERVALUE2 HRESULT FilterValue1([out, retval] BSTR *pVal);
HRESULT FilterValue1([in] BSTR newVal);
HRESULT FilterValue2([out, retval] BSTR *pVal);
HRESULT FilterValue2([in] BSTR newVal);
FROMDATE HRESULT FromDate([out, retval] VARIANT *pVal);
HRESULT FromDate([in] VARIANT newVal);
NAME HRESULT Name([out, retval] BSTR *pVal);
HRESULT Name([in] BSTR newVal);
(Not available in v6.1. This information now can be set/retrieved via the Report property.)
OPTIONALPARAMETERS HRESULT OptionalParameters([out, retval] BSTR *pVal);
HRESULT OptionalParameters([in] BSTR newVal);
PATH HRESULT Path([out, retval] BSTR *pVal);+
HRESULT Path([in] BSTR newVal);
(Not available in v6.1. This information now can be set/retrieved via the Report property.)
Report Information Interface (ICIReportInfo)
243
REPORT
(Available in v6.1) The ICIReportActionParams::Report property is used to identify the report to generate among other reports. Its value is the ICIReportInfo interface.
HRESULT Report([out, retval] IDispatch** pVal);
HRESULT Report([in] IDispatch* newVal);
Example (VBScript):
Retrieving:
MsgBox ReportParams.Report.Name & " report will be generated."
Specifying:
AllReports = Server.AvailableReports
ReportParams.Report = AllReports(0)
REPORTFILEFORMAT
In version 5.2 through 6.0.2:
HRESULT ReportFileFormat([out, retval] long *pVal);
HRESULT ReportFileFormat([in] long newVal);
In version 6.1:
HRESULT ReportFileFormat([out, retval] ReportFormat *pVal);
HRESULT ReportFileFormat([in] ReportFormat newVal);
Example (VBScript):
Retrieving:
If ReportParams.ReportFileFormat = HTMLFormat Then
MsgBox "Report will be generated in HTML format"
End If
Specifying:
ReportParams.ReportFileFormat = PDFFormat
(Refer to ReportFormat Enumeration for the available formats.)
TODATE HRESULT ToDate([out, retval] VARIANT *pVal);
HRESULT ToDate([in] VARIANT newVal);
SIMPLE CONDITION INTERFACE
This interface is available in EFT Server 5.2 and later.
The ICISimpleCondition interface allows you to make changes to the Event Rule Condition settings using the following properties:
HRESULT Not([out, retval] VARIANT_BOOL *pVal);
HRESULT Not([in] VARIANT_BOOL newVal);
HRESULT Operator([out, retval] ConditionOperator *pVal);
HRESULT Operator([in] ConditionOperator newVal);
HRESULT Property([out, retval] long *pVal);
HRESULT Value([out, retval] VARIANT *pVal);
HRESULT Value([in] VARIANT newVal);
GlobalSCAPE COM API
244
STOP ACTION PARAMETERS INTERFACE
This interface is available in EFT Server 5.2 and later.
The ICIStopActionParams interface allows you to enable/disable the Stop Processing Action in Events.
HRESULT Enabled([out, retval] VARIANT_BOOL *pVal);
HRESULT Enabled([in] VARIANT_BOOL newVal);
TRANSFER ACTION PARAMETERS INTERFACE
This interface is available in EFT Server 5.2 and later.
The ICITransferActionParams interface allows you to make changes to transfer-related Events, such as when a file is uploaded or downloaded, using the following properties:
HRESULT AutoLogin([out, retval] VARIANT_BOOL *pVal);
HRESULT AutoLogin([in] VARIANT_BOOL newVal);
HRESULT Host([out, retval] BSTR *pVal);
HRESULT Host([in] BSTR newVal);
HRESULT Key([out, retval] BSTR *pVal);
HRESULT Key([in] BSTR newVal);
HRESULT KeyPass([out, retval] BSTR *pVal);
HRESULT KeyPass([in] BSTR newVal);
HRESULT LocalPath([out, retval] BSTR *pVal);
HRESULT LocalPath([in] BSTR newVal);
HRESULT Operation([out, retval] long *pVal);
HRESULT Operation([in] long newVal);
HRESULT Password([out, retval] BSTR *pVal);
HRESULT Password([in] BSTR newVal);
HRESULT Port([out, retval] long *pVal);
HRESULT Port([in] long newVal);
HRESULT Protocol([out, retval] long *pVal);
HRESULT Protocol([in] long newVal);
HRESULT PubKey([out, retval] BSTR *pVal);
HRESULT PubKey([in] BSTR newVal);
HRESULT RemotePath([out, retval] BSTR *pVal);
HRESULT RemotePath([in] BSTR newVal);
HRESULT User([out, retval] BSTR *pVal);
HRESULT User([in] BSTR newVal);
TIMER EVENT RULE PARAMETERS INTERFACE
This interface was added in EFT Server 5.2.
Use ICITimerEventRuleParams to make changes to Timer Event Rule settings using the following properties:
CustomPeriod - In an Hourly Timer event, specifies the interval during which the Timer event is to occur
Report Information Interface (ICIReportInfo)
245
DayIndex - In a Monthly or Yearly Timer event, specifies the ordinal day (first, second, third...) of the month when the Timer event is to occur
DayOfMonth - In a Monthly or Yearly Timer event, specifies the date in the month when the Timer event is to occur (e.g., the 15th day of the month)
DayPeriod - In a Daily Timer event, specifies the number of days after which the Timer event is to occur (e.g., every 3 days)
Enabled - Indicates if event is enabled (true/false).
FixedDate - In a Daily, Monthly, or Yearly Timer event, specifies the date option (e.g., true = every X days; false = every weekday)
(Not available in EFT Server 6.1 and later) LastPremature - Indicates if the event has been executed manually (true/false).
(Not available in EFT Server 6.1 and later) LastTime - Indicates the last time the event rule was executed, in the local time of the transfer engine. (EFT Server cannot assume the last time the event was executed based in the recurrence and the periods, and the event rule could have been executed manually.)
MonthIndex - In a Yearly Timer event, specifies the month the Timer event is to occur
MonthPeriod - In a Monthly Timer event, specifies the number of months after which the Timer event is to occur (e.g., every 3 months)
Name - Specifies the name of the Timer event
(Available only in EFT Server 6.1and later) NextRun - Retrieves the next time when this timer event will trigger, in the local time of the transfer engine (e.g., YYYY-MM-DD hh:mm:ss).
HRESULT NextRun([out, retval] DATE* pVal);
Example (VBScript):
MsgBox "Next run time: " & CStr(TimerParams.NextRun)
Recurrence - Specifies the frequency with which the Timer event is to occur (hourly, daily, weekly, monthly, yearly, once)
TimeStart - Specifies the time the event is to start, in the local time of the transfer engine.
WeekDayIndex - In a Monthly or Yearly Timer event, specifies the day of the week that the Timer event is to occur
Weekdays - In a Weekly Timer event, specifies the day of the week the Timer event is to occur
WeekPeriod - In a Weekly Timer event, specifies the number of weeks after which the Timer event is to occur (e.g., every 2 weeks)
The parameters correspond in the dialog box in the Administrator interface as shown below.
Report Information Interface (ICIReportInfo)
247
UPLOAD ACTION PARAMETERS INTERFACE PROPERTIES (ICIUPLOADACTIONPARAMS)
This interface is available in EFT Server 5.2.5 and later.
The ICIUploadActionParams interface (derived from ICITransferActionParams defining client operation parameters) allows you to make changes to the Event Rule settings using the following properties:
AutoLogin
DeleteSourceFile
Host
LocalPath
Password
Port
PrivateKeyPassword
PrivateKeyPath
Protocol
PublicKeyPath
RemotePath
User
REPORT INFORMATION INTERFACE (ICIREPORTINFO) ICIReportInfo interface is used to retrieve information about EFT Server’s reports. (Also refer to ICIServer::AvailableReports property). The interface provides the set of read-only properties. The Name and DefinitionPath properties together allow you to identify the report among other reports. (Note that one definition file can contain definitions of multiple reports and the same report name can be used for different reports in different definition files.)
NAME PROPERTY
The ICIReportInfo::Name read-only property allows you to retrieve the name of this report.
HRESULT Name([out, retval] BSTR* pVal);
GlobalSCAPE COM API
248
Example (VBScript):
MsgBox "Report name: " & Report.Name
DEFINITIONPATH PROPERTY
The ICIReportInfo::DefinitionPath read-only property allows you to retrieve the TE-side path of the report definition file for this report.
HRESULT DefinitionPath([out, retval] BSTR* pVal);
Example (VBScript):
MsgBox "Report: " & Report.Name & "(" & Report.DefinitionPath & ")"
249
SSH KEY INFORMATION INTERFACE (ICISSHKEYINFO)
Available in EFT Server 6.1 and later.
Use the ICISSHKeyInfo interface to retrieve information about EFT Server’s SSH public keys. The interface provides the set of read-only properties. (Refer also to the ICIServer::AvailableSSHKeys property.)
ID PROPERTY
Use the ICISSHKeyInfo::ID read-only property to retrieve an SSH key ID. This value can be used to assign the key to client. (Refer also to the ICIClientSettings::SetSSHKeyID method.)
HRESULT ID([out, retval] UINT* pVal);
Example (VBScript):
Client.SetSSHKeyID key.ID
NAME PROPERTY
Use the ICISSHKeyInfo::Name read-only property to retrieving an SSH key name.
HRESULT Name([out, retval] BSTR* pVal);
Example (VBScript):
MsgBox "Key: " & key.Name & "(" & key.Fingerprint & ")"
FINGERPRINT PROPERTY
Use the ICISSHKeyInfo::Fingerprint read-only property to retrieve an SSH key fingerprint.
HRESULT Fingerprint([out, retval] BSTR* pVal);
Example (VBScript):
MsgBox "Key: " & key.Name & "(" & key.Fingerprint & ")"
ENUMERATORS AND CONSTANTS
The following enumerators and constants are available in EFT Server 5.2 and later:
EventType - Type of Event trigger
EventRuleStatementType - Action and Condition statement
EventActionType - Type of Event Action
ConditionOperator - Operators used in simple Condition
LogicalOperator - Operators combining simple Conditions
Recurrence - Frequency of timer triggering
PGPOperation - PGP decrypt/encrypt operations
GlobalSCAPE COM API
250
The following enumerators and constants are available in EFT Server 6.1:
ServerModule - Specifies an EFT Server module.
RegistrationState - Specifies EFT Server Module registration status.
PGPCompressionLevel - Specifies compression level for PGP encryption operation.
PGPSigningHash - Specifies hash algorithm for PGP signing operation.
ReportPeriodType - Specifies type of reporting period (range or predefined) for Generate Report operation.
PredefinedReportPeriod - Specifies one of the predefined reporting periods for Generate Report operation.
ReportFormat - Specifies report format for Generate Report operation.
ReportFilterOperator - Specifies report filter operator for Generate Report operation.
ReportFiltersCombiningOperator - Specifies the way of combining of two report filters for Generate Report operation (No, And, Or).
AS2ContentType - Specifies type of the document to send for AS2 Send operation.
AS2ReceiptPolicy - Specifies type of the receipt required for AS2 Send operation (No, Signed, Unsigned).
AS2ReceiptDelivery - Specifies receipt delivery mechanism for AS2 Send operation (synchronous or asynchronous).
AutobanSensitivity - Specifies sensitivity for Flood/Hammer Autoban setting.
EVENTTYPE
Server Events
OnTimer (0x1001) – Timer
OnServer_LogRotate (0x1002) – Log rotated
OnServer_ServiceStop (0x1003) – Service stopped
OnServer_Service_Start (0x1004) – Service started
Monitor_Folder (0x1005) – Folder monitoring
OnMonitor_Folder_Failed (0x1006) – Folder monitoring failed
Site Events
OnSiteStarted (0x2001) – Site started
OnSiteStopped (0x2002) – Site stopped
Connection Events
Connection_Connect (0x3001) – Client connected
Connection_ConnectFailed (0x3002) – Client connection failed
OnClientDisconnected (0x3003) – Client disconnected
Client Events
OnClientDisabled (0x4001) – Client disabled
OnClientQuotaExceeded (0x4002) – Client’s disk quota exceeded
OnClientLoggedOut (0x4003) – Client logged out
OnClientLoggedIn (0x4004) – Client logged in
OnClientLoginFailed (0x4005) – Client login failed
Enumerators and Constants
251
OnClientPasswordChanged (0x4006) – Client’s password is changed
OnClientCreated (0x4007) – New client created
File System Events
OnFileDeleted (0x5001) – File deleted
OnFileUpload (0x5002) – File uploaded
BeforeFileDownload (0x5003) – Before file download
OnFileDownload (0x5004) – File downloaded
OnFileRenamed (0x5005) – File renamed
OnFolderCreated (0x5006) – New folder created
OnFolderDeleted (0x5007) – Folder deleted
OnUploadFailed (0x5009) – File upload failed
OnDownloadFailed (0x500A) – File download failed
OnChangeFolder (0x500B) – Client changed their current folder
OnFileMoved (0x500C) – File moved
OnVerifiedUploadSuccess (0x500D) – Verified file upload succeeded
OnVerifiedUploadFailure (0x500E) – Verified file upload failed
OnVerifiedDownloadSuccess (0x500F) – Verifies file download succeeded
OnVerifiedDownloadFailure (0x5010) – Verified file download failed
EVENTRULESTATEMENTTYPE ActionStatement (0) – Action statement
IfStatement (1) – Conditional statement
EVENTACTIONTYPE typedef enum {
CommandAction = 0x01, // Execute Command action
MailAction = 0x02, // Send E-mail action
UploadAction = 0x04, // Copy/Move File action
DownloadAction = 0x08, // Download File action
PGPAction = 0x20, // PGP action
StopAction = 0x40, // Stop action
CleanupAction = 0x80, // Cleanup action
ReportAction = 0x100, // Generate Report action
AS2SendAction = 0x200, // Send File via AS2 action
AWTaskAction = 0x400, // Execute AW Task action
BackupAction = 0x800 // Backup Server Configuration action
} EventActionType;
CONDITIONOPERATOR Equals (0x01) – Equals
Less (0x02) – Less
LessOrEquals (0x04) – Less or equal
Contains (0x08) – Contains
Match (0x10) – Match (for file name matching with template such as ‘*.exe’ etc)
MemberOf (0x20) – Member of
OneOf (0x40) – One of
StartsWith (0x80) – Starts with
GlobalSCAPE COM API
252
LOGICALOPERATOR LogicalOr (0) – OR
LogicalAnd (1) – AND
RECURRENCE
The Recurrence enumeration allows you to specify the frequency of an Event Rule trigger.
Custom (0) – Hourly
Daily (1) – Daily
Weekly (2) – Weekly
Monthly (3) – Monthly
Yearly (4) – Yearly
OneTime (5) – Trigger only once
PGPOPERATION
The PGPOperation enumeration allows you specify the PGP operation to perform on a file.
typedef enum {
Encrypt = 0, // Encrypt file with PGP key
EncryptAndSign = 1, // Encrypt + Sign file
Sign = 2, // Sign file
SDA = 3, // Create Self-decrypting archive
Decrypt = 4 // Decrypt PGP-encrypted file
} PGPOperation;
Refer to Determining Operation for PGP Event Action (Operation).
SERVERMODULE
The ServerModule enumeration allows you specify EFT Server or one of its modules.
typedef enum {
EFTServer = 0, // EFT Server
SSHModule = 1, // SSH Module
HTTPModule = 2, // HTTP Module
WTCModule = 4, // WTC Module
ARModule = 5, // ARM
PGPModule = 6, // PGP Module
HSModule = 7, // HSM
AS2Module = 8, // AS2 Module
AWModule = 9 // AW Module
} ServerModule;
REGISTRATIONSTATE
The RegistrationState enumeration allows you to specify the EFT Server module registration status.
typedef enum {
Registered = 0, // Module is full registered
Evaluation = 1, // Module is in trial period
Expired = 2 // Module is not registered
} RegistrationState;
Enumerators and Constants
253
PGPCOMPRESSIONLEVEL
The PGPCompressionLevel enumeration allows you to specify the compression level for PGP encryption operation.
typedef enum {
NoCompression = 0, // No compression
CompressionLevel1 = 1, // Level 1 (least compression, fastest)
CompressionLevel2 = 2, // Level 2
CompressionLevel3 = 3, // Level 3
CompressionLevel4 = 4, // Level 4
CompressionLevel5 = 5, // Level 5
CompressionLevel6 = 6, // Level 6 (medium compression, default)
CompressionLevel7 = 7, // Level 7
CompressionLevel8 = 8, // Level 8
CompressionLevel9 = 9 // Level 9 (max compression, default)
} PGPCompressionLevel;
PGPSIGNINGHASH
The PGPSigningHash enumeration allows you to specify the hash algorithm for a PGP signing operation.
typedef enum {
MD5Hash = 0, // MD5
SHA1Hash = 1, // SHA1
RIPEMD160Hash = 2, // RIPEMD-160
SHA256Hash = 3, // SHA-256
SHA384Hash = 4, // SHA-384
SHA512Hash = 5 // SHA-512
} PGPSigningHash;
REPORTPERIODTYPE
The ReportPeriodType enumeration allows you to specify the type of reporting period for Generate Report operation.
typedef enum {
Predefined = 0, // One of predefined periods
(see // PredefinedReportPeriod enum, below)
Range = 1 // ‘From - To’ range
} ReportPeriodType;
PREDEFINEDREPORTPERIOD
The PredefinedReportPeriod enumeration allows you to specify one of the predefined reporting periods for Generate Report operation.
typedef enum {
AllDates = 0, // Report for all dates
MonthToDate = 1, // Report for a month before reporting day
QuarterToDate = 2, // Report for a quarter before reporting day
YearToDate = 3, // Report for a year before reporting day
CurrentWeek = 4, // Report for the current week
CurrentMonth = 5, // Report for the current month
CurrentQuarter = 6, // Report for the current quarter
CurrentYear = 7, // Report for the current year
GlobalSCAPE COM API
254
LastWeek = 8, // Report for the last week
LastMonth = 9, // Report for the last month
LastQuarter = 10,// Report for the last quarter
LastYear = 11,// Report for the last year
Last30Days = 12,// Report for the last 30 days
Last12Months = 13 // Report for the last 12 months
} PredefinedReportPeriod;
REPORTFORMAT
The ReportFormat enumeration allows you to specify the report format for Generate Report operation.
typedef enum {
HTMLFormat = 0, // HTML
PDFFormat = 1, // PDF
VPFormat = 2 // VP (native to Component One reporting component)
} ReportFormat;
REPORTFILTEROPERATOR
The ReportFilterOperator enumeration allows you to specify the report filter operator for Generate Report operation.
typedef enum {
NoFilter = -1, // No filter
EqualFilter = 0, // <Field> is equal <Value>
NotEqualFilter = 1, // <Field> is not equal <Value>
LessFilter = 2, // <Field> is less than <Value>
LessOrEqualFilter = 3, // <Field> is less than or Equal <Value>
GreaterFilter = 4, // <Field> is greater than <Value>
GreaterOrEqualFilter = 5, // <Field> is greater than or equal
// <Value>
ContainsFilter = 6, // <Field> contains <Value>
StartsWithFilter = 7 // <Field> starts with <Value>
} ReportFilterOperator;
REPORTFILTERSCOMBININGOPERATOR
The ReportFiltersCombiningOperator enumeration allows you to specify the way of combining of two report filters for Generate Report operation.
typedef enum {
NoCombining = -1, // No combining, use only first filter
AndCombining = 0, // Output rows must meet both filters
OrCombining = 1 // Output rows must met one of the filters
} ReportFiltersCombiningOperator;
AS2CONTENTTYPE
The AS2ContentType enumeration allows you to specify the type of the document to send for AS2 Send operation.
typedef enum {
X12 = 0, // EDI objects (ASC X12)
EDIFACT = 1, // Message in EDIFACT format
XML = 2, // XML
EDIConsent = 3, // EDI objects
Enumerators and Constants
255
Binary = 4, // Binary
Plaintext = 5 // Plaintext
} AS2ContentType;
AS2RECEIPTPOLICY
The AS2ReceiptPolicy enumeration allows you to specify the type of the receipt required for AS2 Send operation.
typedef enum {
NoReceipt = 0, // No receipt required
UnsignedReceipt = 1, // unsigned receipt required
SignedReceipt = 2, // Signed receipt required
} AS2ReceiptPolicy;
AS2RECEIPTDELIVERY
The AS2ReceiptDelivery enumeration allows you to specify the receipt delivery mechanism for AS2 Send operation.
typedef enum {
Sync = 0, // HTTP, synchronous
Async = 1 // HTTP, asynchronous
} AS2ReceiptDelivery;
AUTOBANSENSITIVITY
The AutobanSensitivity enumeration allows you to specify the sensitivity for the Flood/Hammer Autoban setting (for Denial of Service attacks).
typedef enum {
SensitivityOff = 0, // Autoban is off
SensitivityVeryLow = 1, // Very low sensitivity
SensitivityLow = 2, // Low sensitivity
SensitivityMedium = 3, // Medium sensitivity
SensitivityHigh = 4, // High sensitivity
SensitivityVeryHigh = 5 // Very high sensitivity
} AutobanSensitivity;
256
INDEX
Action Statement Interface ................................... 210
Action Statements Interface .................................. 210
Add .......................................................................... 98
AddADSite .............................................................. 100
AddCerficateToTrusted .......................................... 132
AddIPAccessRule (Client) ....................................... 194
AddIPAccessRule (Server) ........................................ 80
AddIPAccessRule (Site) .......................................... 146
AddLDAPSite .......................................................... 103
AddLocalSite ............................................................ 99
AddNTLMSite ......................................................... 101
AddODBCSite ......................................................... 102
AddUserPermission ............................................... 203
AddUserToPermissionGroup ................................. 137
AdminPort ................................................................ 79
AllowClearCommandChannel .................................. 86
AllowRemoteAdministration ................................... 79
AllowUnprotectedDataChannel ............................... 86
ApplyChanges .......................................................... 94
AreLingeringTransactions ........................................ 91
ARMDatabaseName ................................................ 90
ARMPassword .......................................................... 90
ARMServerName ..................................................... 90
ARMUserName ........................................................ 90
AS2ID (AS2SendActionParams) .............................. 217
AS2SendActionParams Interface ........................... 211
ASCIIArmoredOutput ............................................. 236
AssignEventRuleCustomCommandWorkingFolder 146
AssignFullPermissionsForHomeFolder .................. 107
AsyncReceiptTimeoutMin (AS2SendActionParams) ........................................................................... 219
Auditor ..................................................................... 94
AuditSATEmail ....................................................... 153
AuditSATFile ........................................................... 153
AuditSATTransaction ............................................. 153
AutoBanIPsPermanently ........................................ 115
AutobanSensitivity ................................................. 118
AutoCreateHomeFolder ........................................ 107
AvailableEvents ........................................................ 96
AvailablePGPKeys .................................................... 96
AvailableReports ...................................................... 96
AvailableSSHKeys ..................................................... 84
BanIPOnDOS .......................................................... 115
BCCAddresses (MailActionParams) ....................... 231
BlockAntiTimeOut .................................................. 109
BlockSiteToSite ...................................................... 108
Body (ICIMailActionParams) .................................. 232
CancelTransfer ....................................................... 106
CCAddresses (MailActionParams).......................... 231
Certificate Information Interface Properties ......... 204
CertificateFilePath ................................................... 83
ChangeAdminPassword ........................................... 81
ChangeUserPassword ............................................ 141
CipherList ................................................................. 85
Clean-Up Action ..................................................... 222
Client ...................................................................... 149
ClientProfile (AS2SendActionParams) ................... 212
Close ........................................................................ 96
Command .............................................................. 224
Command Settings Interface Methods .................. 199
Command Settings Interface Properties................ 198
Comment ............................................................... 158
Compress (AS2SendActionParams) ....................... 216
CompressionLevel (ICIPgpActionParams) .............. 236
Connect .................................................................... 95
ConnectedUsersNumber (Server) ............................ 95
ConnectMessage ........................................... 110, 121
ContentType (AS2SendActionParams) .................. 215
CopyToClient (ICIMailActionParams) ..................... 232
Count ....................................................................... 98
country................................................................... 207
CreateCommand .................................................... 145
CreateComplexPassword ....................................... 142
CreatePermissionGroup ........................................ 136
CreatePhysicalFolder ............................................. 135
CreateSettingsLevel ............................................... 143
CreateVirtualFolder ............................................... 135
CreationDate (PGP Keys) ....................................... 239
Index
257
Custom ................................................................... 157
CustomFromAddress ............................................. 233
DaysToKeepFiles (Cleanup).................................... 222
DefinitionPath (ReportInfo) ................................... 247
DeleteSourceFile (AS2SendActionParams) ............ 213
Description (Certificate) ........................................ 205
Description (Commands) ....................................... 200
Description (PGP KeyInfo) ..................................... 239
DirCreate................................................................ 152
DirDelete ................................................................ 152
DirList ..................................................................... 150
DirShowHidden ...................................................... 152
DirShowInList ......................................................... 151
DirShowReadOnly .................................................. 152
DisableSFTP............................................................ 126
DisconnectOnDOS.................................................. 115
DOSLimit ................................................................ 117
Email ...................................................................... 156
E-mail Notification Action ...................................... 230
E-Mail Notification Action ..................................... 230
EnableARM .............................................................. 89
EnablePortRange ................................................... 109
EnableProcessTimeOut .......................................... 201
EnableSFTP ............................................................ 126
Enabling FTP Access to a Site ................................. 123
Enabling or Disabling SFTP on a Site ...................... 126
Encrypt (AS2SendActionParams) ........................... 216
Enumerators and Constants .................................. 249
Event Properties .................................................... 208
EventRules ............................................................. 106
ExcludeFileMask .................................................... 223
Executable ............................................................. 200
ExitMessage ........................................................... 110
ExpirationDate (PGP Keys) ..................................... 240
ExportTrustedCertificate ....................................... 131
Fax.......................................................................... 156
FileAppend ............................................................. 149
FileDelete ............................................................... 150
FileDownload ......................................................... 149
FileMask ................................................................. 224
FilePath (ICIPGPActionParams) .............................. 234
FileRename ............................................................ 150
FileUpload .............................................................. 149
Folder (BackupAction) ........................................... 149
Folder (CleanupAction) .......................................... 223
ForcePasswordChange........................................... 167
ForceSynchronizeUserDatabase ............................ 145
FullName ................................................................ 155
GenerateReport ....................................................... 97
Generating an EFT Server Report ............................ 97
GetAdminIPs ............................................................ 79
GetAllowAnyPwd ................................................... 165
GetAllowedMasks (Server) ...................................... 80
GetAllowedMasks (Site) ........................................ 147
GetAllowedMasks (User) ....................................... 193
GetAllowMODEZ .................................................... 173
GetAllowNoop ....................................................... 171
GetAllowXCRC ........................................................ 172
GetAnonymousLogin ............................................. 196
GetAppletEnabled ................................................. 183
GetAuthManagerID ............................................... 119
GetAwaitingCertsPath ........................................... 130
GetBlankPermission ............................................... 134
GetCertFilePath ..................................................... 128
GetChangePwd ...................................................... 166
GetCheckClientCert ............................................... 129
GetClearFTP ........................................................... 176
GetClearHTTP ........................................................ 179
GetCommands ....................................................... 145
GetCommandSettings ............................................ 145
GetConnectedCount (Site) ..................................... 119
GetConnectedUsers (Site) ..................................... 144
GetDeniedMasks (Server) ........................................ 80
GetDeniedMasks (Site) .......................................... 147
GetDeniedMasks (User) ......................................... 193
GetDescription ....................................................... 155
GetDownloadCount ............................................... 120
GetDownloadSpeed ............................................... 120
GetDownloadsPerSession ...................................... 190
GetEnableAccount ................................................. 159
GetEnableDiskQuota ............................................. 163
GetEnableTimeOut ................................................ 185
GetExpirationDate ................................................. 161
GetExpirationDateAsVariant.................................. 162
GlobalSCAPE COM API
258
GetFolderList ......................................................... 133
GetFolderPermissions ............................................ 134
GetFTPAccess ......................................................... 122
GetHasDownloadsPerSession ................................ 190
GetHasMaxDownloadSize ..................................... 191
GetHasMaxIPs ........................................................ 187
GetHasMaxSpeed .................................................. 185
GetHasMaxUploadSize .......................................... 191
GetHasMaxUsers ................................................... 186
GetHasPwdRetries ................................................. 169
GetHasUploadsPerSession ..................................... 189
GetHomeDir ........................................................... 161
GetHomeDirIsRoot ................................................ 160
GetHomeDirString ................................................. 163
GetHTTPAccess ...................................................... 123
GetHTTPPort .......................................................... 123
GetHTTPSAccess .................................................... 124
GetHTTPSPort ........................................................ 124
GetIncorrectPasswordAttempts ............................ 168
GetIP ...................................................................... 119
GetKeyFilePath ...................................................... 128
GetLimitAccessByIP ............................................... 195
GetLimitLoginAttempts ......................................... 196
GetLocalIP ................................................................ 80
GetLocalTime ........................................................... 95
GetLockoutNotDisable ........................................... 167
GetLoginMsg .......................................................... 173
GetLoginMsgString ................................................ 174
GetMaxDownloadSize ........................................... 192
GetMaxIPs.............................................................. 188
GetMaxSpace ......................................................... 164
GetMaxSpeed ........................................................ 185
GetMaxUploadSize ................................................ 191
GetMaxUsers ......................................................... 187
GetPassPhrase ....................................................... 128
GetPendingCertificateInfo ..................................... 131
GetPendingCertificates .......................................... 131
GetPermissionGroupList ........................................ 137
GetPermissionGroups ............................................ 137
GetPermissionGroupsOfUser ................................ 138
GetPermissions Script .............................................. 72
GetPhysicalPath ..................................................... 136
GetPort .................................................................. 120
GetPwdRetries ....................................................... 169
GetRootFolder ....................................................... 119
GetServerAdminCount ............................................. 81
GetSettingsLevels .................................................. 141
GetSettingsLevelSettings ....................................... 144
GetSettingsLevelUsers ........................................... 141
GetSFTP.................................................................. 177
GetSFTPAuthenticationType .................................. 178
GetSSHKeyFilePath ................................................ 129
GetSSHKeyID .......................................................... 179
GetSSL .................................................................... 181
GetSSLAuth ............................................................ 125
GetSSLAuthenticationType .................................... 181
GetSSLImp .............................................................. 125
GetSSLKeyID ........................................................... 182
GetStartTime ......................................................... 120
GetTimeOut ........................................................... 186
GetTrustedCertificateInfo ...................................... 130
GetTrustedCertificates........................................... 131
GetTrustedCertsPath ............................................. 130
GetUploadCount .................................................... 120
GetUploadSpeed .................................................... 120
GetUploadsPerSession ........................................... 189
GetUsedSpace........................................................ 164
GetUserPermissions .............................................. 202
GetUsers ................................................................ 140
GetUserSettings ..................................................... 143
HasMaxConcurrentLogins ...................................... 112
HasMaxConnectionsPerAccount ........................... 113
HasMaxIPPerAccount ............................................ 113
HasMaxSpeed ........................................................ 111
HasMaxUsers ......................................................... 112
Host (AS2SendActionParams) ................................ 213
ICIAS2SendActionParams ...................................... 211
ICIAWTaskActionParams ....................................... 220
ICIBackupActionParams Interface ......................... 221
ICIClientSettings ..................................................... 154
ICICompoundCondition ......................................... 225
ICIDownloadActionParams .................................... 225
ICIEventAction ....................................................... 226
ICIEventActions ...................................................... 226
Index
259
ICIEventInfo ........................................................... 226
ICIEventRule ........................................................... 227
ICIEventRuleParams ............................................... 228
ICIEventRules ......................................................... 228
ICIEventRuleStatement .......................................... 229
ICIFolderMonitorEventRuleParams ....................... 229
ICIIfStatement ........................................................ 229
ICIReportActionParams ......................................... 240
ICIReportInfo ......................................................... 247
ICIServer................................................................... 77
ICISimpleCondition ................................................ 243
ICISSHKeyInfo ........................................................ 249
ICIStopActionParams ............................................. 244
ICITimerEventRuleParams ..................................... 244
ICITransferActionParams ....................................... 244
ICIUploadActionParams ......................................... 247
ID (Certificate) ....................................................... 205
ID (PGPKeyInfo) ..................................................... 239
ID (Site) .................................................................. 105
ImportSSHKey .......................................................... 84
ImportTrustedCertificate ....................................... 131
InvalidAttemptsPeriod (Site) ................................. 117
InvalidAttemptsPeriod (User) ................................ 168
IPAccessAllowedDefault (Server) ............................. 80
IPAccessAllowedDefault (Site) ............................... 146
IPAccessAllowedDefault User) ............................... 194
IsActivityPeriodLimited .......................................... 170
IsDBConnected ........................................................ 91
IsEnabled ............................................................... 199
IsPasswordAgeLimited ........................................... 170
IsStarted ................................................................. 105
IssuerCName .......................................................... 206
IssuerCountry......................................................... 206
IssuerOneLine ........................................................ 206
IssuerOrg................................................................ 205
IssuerUnit............................................................... 205
Item ......................................................................... 97
KeyFilePath .............................................................. 83
KeyIDs (ICIPGPActionParams) ................................ 234
KickUser ................................................................. 143
LimitLoginAttempts ............................................... 116
List of Methods_ Properties_ Enumerations_ and Constants ............................................................. 35
ListenIP .................................................................... 78
LocalPath (AS2SendActionParams) ........................ 212
LockoutNotDisable ................................................ 116
LockoutPeriod ........................................................ 115
LockoutPeriod (User) ............................................. 168
LogPath ............................................................ 87, 203
LogRotation ............................................................. 88
LogType.................................................................... 87
MaxConcurrentConnections .................................. 112
MaxConcurrentLogins ............................................ 112
MaxConnectionsFromSameIP ................................ 113
MaxConnectionsPerUser ....................................... 113
MaxInvalidLoginAttempts ...................................... 116
MaxTransferSpeed ................................................. 111
MinNumOfParams ................................................. 202
MinNumOfParamsMsg .......................................... 202
ModuleRegistrationState ......................................... 81
MoveUserToSettingsLevel ..................................... 144
Name (EventInfo)................................................... 226
Name (ICICommandSettings) ................................ 200
Name (ICISite) ........................................................ 105
Name (PGPKeyInfo) ............................................... 238
Name (ReportInfo) ................................................. 247
NeverExpires (PGPKeyInfo) .................................... 240
NotAfter ................................................................. 207
NotBefore .............................................................. 207
ODBCSettings ......................................................... 106
OpenPGP Action Interface .................................... 233
Operation (ICIPGPActionParams) .......................... 234
Pager ...................................................................... 156
Parameters ............................................................ 200
Parameters (CommandActionParams) .................. 225
PartnerAS2ID (AS2SendActionParams).................. 217
PartnerCertificatePath (AS2SendActionParams) ... 217
PassPhrase (ICIPGPActionParams) ........................... 83
Passphrase (PGPActionParams) ............................. 235
Password (AS2SendActionParams) ........................ 215
PASVListenIP .......................................................... 109
PASVPortMax ......................................................... 110
PASVPortMin ......................................................... 109
Permission Interface Parameters .......................... 148
PGPKeyInfo Interface ............................................. 238
GlobalSCAPE COM API
260
Phone ..................................................................... 156
Port (AS2SendActionParams) ................................ 214
Private (PGPKeyInfo) ............................................. 239
ProcessTimeOut ..................................................... 201
ReceiptDelivery (AS2SendActionParams) .............. 218
ReceiptPolicy (AS2SendActionParams) .................. 218
Recursive ............................................................... 223
RedirectOutputToClient ......................................... 201
RedirectOutputToLog ............................................ 201
RefreshSettings ........................................................ 94
RemapVirtualFolder ............................................... 136
RemotePath (AS2SendActionParams) ................... 214
Remove .................................................................. 106
RemoveCommand ................................................. 146
RemovedPendingCertificate .................................. 132
RemoveFolder........................................................ 135
RemoveIPAccessRule (Server) ................................. 80
RemoveIPAccessRule (Site).................................... 147
RemoveIPAccessRule (User) .................................. 194
RemovePermission ................................................ 134
RemovePermissionGroup ...................................... 137
RemoveServerAdminAccount .................................. 81
RemoveSettingsLevel ............................................. 144
RemoveSSHKey ........................................................ 84
RemoveTrustedCertificate ..................................... 132
RemoveUser .......................................................... 140
RemoveUserFromPermissionGroup ...................... 138
RemoveUserPermission ......................................... 203
RenameFolder ....................................................... 135
RenamePermissionGroup ...................................... 137
RenameSettingsLevel ............................................ 144
RenameUser .......................................................... 141
ReportInfo.............................................................. 247
RequireParams ...................................................... 202
RetriesCount .......................................................... 219
RetryDelaySec ........................................................ 219
Sample Script
Error Handling Routine ........................................ 77
Retrieving the Physical Path to a Virtual Folder .. 76
Sample Scripts ......................................................... 69
Samples Script_ Retrieve a List of Users .................. 71
Scripting Standards .................................................. 70
SDAPassword ......................................................... 238
Server Interface (ICIServer) ..................................... 77
SetAllowAnyPwd .................................................... 166
SetAllowMODEZ..................................................... 173
SetAllowNoop ........................................................ 172
SetAllowXCRC ........................................................ 172
SetAnonymousLogin .............................................. 197
SetAppletEnabled .................................................. 183
SetCertFilePath ...................................................... 128
SetChangePwd ....................................................... 167
SetCheckClientCert ................................................ 129
SetClearFTP ............................................................ 176
SetClearHTTP ......................................................... 180
SetDescription ....................................................... 156
SetDownloadsPerSession ...................................... 190
SetEnableAccount .................................................. 160
SetEnableDiskQuota .............................................. 163
SetEnableTimeOut ................................................. 186
SetExpirationDate .................................................. 162
SetFTPS .................................................................. 177
SetHasDownloadsPerSession................................. 190
SetHasMaxDownloadSize ...................................... 192
SetHasMaxIPs ........................................................ 187
SetHasMaxSpeed ................................................... 185
SetHasMaxUploadSize ........................................... 191
SetHasMaxUsers .................................................... 187
SetHasPwdRetries .................................................. 170
SetHasUploadsPerSession ..................................... 189
SetHomeDir ........................................................... 161
SetHomeDirIsRoot ................................................. 161
SetHomeDirString .................................................. 163
SetHTTPAccess ....................................................... 123
SetHTTPPort ........................................................... 124
SetHTTPS ................................................................ 180
SetHTTPSAccess ..................................................... 124
SetHTTPSPort ......................................................... 124
SetIncorrectPasswordAttempts ............................. 168
SetIP ....................................................................... 119
SetKeyFilePath ....................................................... 128
SetLimitAccessByIP ................................................ 196
SetLimitLoginAttempts .......................................... 196
SetLockoutNotDisable ........................................... 167
Index
261
SetLoginMsg .......................................................... 174
SetLoginMsgString ................................................. 174
SetMaxDownloadSize ............................................ 192
SetMaxIPs .............................................................. 188
SetMaxSpace ......................................................... 164
SetMaxSpeed ......................................................... 185
SetMaxUploadSize ................................................. 191
SetMaxUsers .......................................................... 187
SetPassPhrase ........................................................ 129
SetPermission ........................................................ 134
SetPort ................................................................... 120
SetPwdRetries ........................................................ 169
SetRootFolder ........................................................ 119
SetSFTP .................................................................. 178
SetSFTPAuthenticationType .................................. 178
SetSSHKeyFilePath ................................................. 130
SetSSHKeyID .......................................................... 179
SetSSL..................................................................... 181
SetSSLAuth ............................................................. 125
SetSSLAuthenticationType ..................................... 182
SetSSLCertificate (Server) ........................................ 83
SetSSLCertificate (Site) .......................................... 132
SetSSLImp .............................................................. 125
SetSSLKeyID ........................................................... 183
SetTimeOut ............................................................ 186
SetUploadsPerSession ........................................... 189
Sign (AS2SendActionParams)................................. 216
Sign (ICIPgpActionParams) .................................... 235
SignatureInSeparateFile......................................... 237
SigningHash ........................................................... 237
SignKeyID (ICIPGPActionParams) ........................... 236
Site Certificates and Keys Parameters ................... 126
Site Listener Settings ............................................. 121
SiteByID.................................................................... 97
Sites ......................................................................... 94
Size (PGPKeyInfo)................................................... 239
SMTPLogin ............................................................... 93
SMTPPassword ........................................................ 93
SMTPPort ................................................................. 92
SMTPRecipientAddr ................................................. 93
SMTPRecipientName ............................................... 93
SMTPSenderAddr ..................................................... 93
SMTPSenderName ................................................... 93
SMTPServer ............................................................. 92
SSH Key Information Interface (ICISSHKeyInfo) ..... 249
SSLVersionMask ....................................................... 82
Start ....................................................................... 105
Stop ........................................................................ 106
Subject (AS2SendActionParams) ........................... 215
Subject (MailActionParams) .................................. 231
SubjectCName ....................................................... 207
SubjectCountry ...................................................... 207
SubjectOneLine ...................................................... 207
SubjectOrg ............................................................. 206
SubjectUnit ............................................................ 206
TaskName (AWTaskAction) ................................... 220
TimeoutSec (AS2SendActionParams) .................... 218
ToAddresses (MailActionParams) .......................... 231
Type (EventInfo) .................................................... 226
UseClientProfile (AS2SendActionParams) ............. 212
UseCustomFromAddress ....................................... 232
User (AS2SendActionParams) ................................ 214
User Password Settings ......................................... 164
UserLimitMessage ................................................. 110
UseSSLForAdministration ........................................ 79
Using the COM API in C#.......................................... 69
Using the COM Interface ......................................... 25
ValidatePassword .................................................. 142
VFSFilter ................................................................. 117
Viewing if FTPS is Enabled for a Client ................... 176
Viewing if HTTPS is Enabled for a Client ................ 180
Viewing the Number of Invalid Login Attempts Allowed for a Client (MaxInvalidLoginAttempts) ........................................................................... 169
What's New in the COM API .................................... 26
WorkingFolder ....................................................... 225
top related