globalscape com apihelp.globalscape.com/help/guides/globalscape_server_com_api_v61.pdfusing the com...

261
Updated for EFT Server6.1 GlobalSCAPE ® COM API

Upload: ngongoc

Post on 07-Mar-2018

238 views

Category:

Documents


1 download

TRANSCRIPT

Updated for EFT Server™ 6.1

GlobalSCAPE® COM API

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

GlobalSCAPE COM API

xxiv

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 = "[email protected];[email protected];"

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 = "[email protected]"

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.

GlobalSCAPE COM API

246

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