ICIClientSettings Interface

The ICIClientSettings interface displays the user properties defined for a user in EFT.

interface ICIClientSettings : IDispatch

Use the ICISite interface GetUserSettings or GetSettingsLevelSettings methods to manage user account or Settings Template configuration.

See also ClientDataField enum.

Example:

Set oUser = oSite.GetUserSettings(aUsr(j))
Set 0SettingsLevel = oSite.GetSettingsLevelSettings("Default Settings")

Once you obtain a handle to the user or Settings Template configuration, you can Get or Set permissions for that user or Settings Template.

See also:

Difference Between VARIANT_BOOL and SFTPAdvBool

Scroll down to see the dialog box equivalents; Refer to Workspaces Settings for details of Settings Template and user Workspaces settings.

Example of using the Custom property

For SFTPAdvBool, used in properties below:

  • abFalse = 0

  • abInherited = -2

  • abTrue = 1

Jump to: C  E  F  G  I  L  M  P  R  S  U

Property AccountCreationTime As Date

Retrieves date the user account was created.

HRESULT AccountCreationTime([out, retval] DATE* pVal);

Example (VBScript):

MsgBox "Account creation time: " & CStr(oClientSettings.AccountCreationTime)

EFT v6.3 and later

Sub AddIPAccessRule(bstrMask As String, bAllow As Boolean, nRulePos As Long, [bstrReason As String = ""])

Adds allowed (true) or denied (false) IP mask for the client.

HRESULT AddIPAccessRule(
[in] BSTR bstrMask,
[in] VARIANT_BOOL bAllow,
[in] long nRulePos,
[in, defaultvalue("")] BSTR bstrReason);

VARIANT_BOOL equals TRUE(-1) when it is allowed and FALSE(0) when it is denied (defaultvalue and Reason added in EFT v8)

Example (C#):

client.AddIPAccessRule("1.1.1.2", true, 
	 0);

For an example using this method, refer to the ServerIPBanEntry script in Script Examples.

See also the following interfaces:

ICIAutobanIPAccessRule Interface

ICIBannedIP Interface

ICIIPAccessRule Interface

ICIManualIPAccessRule Interface

EFT v5.1.1 and later

Property AS2InboundSettings As CIAS2InboundSettings

Retrieves user account's AS2 inbound settings.

HRESULT AS2InboundSettings(
[out,retval] IDispatch** pSttg); (v6.3 - 6.3.3)
[out,retval] ICIAS2InboundSettings** pSttg);

Example (VBScript):

Set oAS2InboundSettings = oClientSettings.AS2InboundSettings

EFT v6.3 and later

Property AS2OutboundSettings As CIAS2OutboundSettings

Retrieves user account's AS2 outbound settings.

HRESULT AS2OutboundSettings(
[out,retval] IDispatch** pSttg); (v6.3 - 6.3.3)

Example (VBScript):

Set oAS2OutboundSettings = oClientSettings.AS2OutboundSettings

EFT v6.3 and later

Function AS2TestOutboundProfile() As AS2OutboundProfileStatus

Tests user account's AS2 outbound profile and returns status.

HRESULT AS2TestOutboundProfile(
[out,retval] AS2OutboundProfileStatus* pVal);

Example (VBScript):

if AS2StatusOk = oClientSettings.AS2TestOutboundProfile then
MsgBox “Success.”
else
MsgBox “Some going wrong.”
end if

EFT v6.3 and later

Property Comment As String

Retrieve comments for a user account:

HRESULT Comment([out, retval] BSTR *pVal);
HRESULT Comment([in] BSTR newVal);

All versions

Property  CompanyName As String

Retrieve or modify Company Name for a user account:

HRESULT CompanyName ([out, retval] BSTR *pVal);
HRESULT CompanyName ([in] BSTR newVal);

Example (VBScript):

Wscript.echo oUser.CompanyName
oUser.CompanyName = “Company”

EFT v8 and later

Property Custom1 As String; Property Custom2 As String; Property Custom3 As String

(See the example.)

Retrieve the custom fields of a user account.

HRESULT Custom1([out, retval] BSTR *pVal);
HRESULT Custom1([in] BSTR newVal);

EFT v5.0.1 and later

Property Duns As String

Retrieve or modify a user account' DUNS.

HRESULT Duns([out, retval] BSTR *pVal);
HRESULT Duns([in] BSTR newVal);

Example (VBScript):

Wscript.echo oUser.Duns
oUser. Duns = “123456”

EFT v8 and later

Property Email As String

Retrieve a user's email address.

HRESULT Email(out, retval] BSTR *pVal);
HRESULT Email([in] BSTR newVal);

All versions

Property Fax As String

Retrieve a user's fax number.

HRESULT Fax([out, retval] BSTR *pVal);
HRESULT Fax([in] BSTR newVal);

All versions

Sub ForcePasswordChange()

Forces the user to change the account password on the next login.

HRESULT ForcePasswordChange();

EFT v6.0 and later

Property FullName As String

Retrieve a user's full name.

HRESULT FullName([out, retval] BSTR *pVal);
HRESULT FullName([in] BSTR newVal);

All versions

Property Mobile As String

Retrieve or modify mobile number for a user account:

HRESULT Mobile ([out, retval] BSTR *pVal);
HRESULT Mobile ([in] BSTR newVal);

Example (VBScript):

Wscript.echo oUser.Mobile
oUser.Mobile = “123456”

EFT v8 and later

Function GetAllowCOMB(pInherited) As Boolean
Sub SetAllowCOMB(val As SFTPAdvBool)

Retrieve/Set whether the COMB command is allowed.

HRESULT GetAllowCOMB(
[out] VARIANT *pInherited,
[out,retval] VARIANT_BOOL *pVal);
HRESULT SetAllowCOMB(SFTPAdvBool val);

VARIANT_BOOL equals TRUE(-1) when it is allowed and FALSE(0) when it is not allowed.

Examples (VBScript):

bEnabled = oClientSettings.GetAllowCOMB(bInherited)
MsgBox "Enabled: " & CStr(bEnabled) & " Inherited: " & 
CStr(bInherited)oClientSettings.SetAllowCOMB abTrue

(For information about using the COMB command with EFT, refer to "Allowing Multipart Transfers (COMB Command)" in the EFT Installation, Administration, and User Guide.)

EFT v6.3 and later

Function GetAllowFXP(pInherited) As Boolean
Sub SetAllowFXP(val As SFTPAdvBool)

Retrieve/Specify whether site-to-site transfers are allowed.

Example (VBScript):

HRESULT GetAllowFXP([out] VARIANT *pInherited,[out,retval] VARIANT_BOOL *pVal);
oClientSettings.SetAllowCOMB abFalse HRESULT SetAllowFXP(SFTPAdvBool val);

VARIANT_BOOL equals TRUE(-1) when it is allowed and FALSE(0) when it is not allowed.

EFT v6.3 and later

Function GetAllowMODEZ([pInherited]) As Boolean
Sub SetAllowMODEZ(val As SFTPAdvBool)

Retrieve/Specify whether Allow Mode Z for the client is ON or OFF.

HRESULT GetAllowMODEZ([out, optional] VARIANT *pInherited,
[out, retval] VARIANT_BOOL *pVal);

You can 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.

HRESULT SetAllowMODEZ([in] SFTPAdvBool val);

All versions

Function GetAllowNoop([pInherited]) As Boolean
Sub SetAllowNoop(val As SFTPAdvBool)

Retrieve/Specify whether a user can send the NOOP command to keep a connection open. Use the same method to prohibit the user from sending the NOOP command.

HRESULT GetAllowNoop(
[out, optional] VARIANT *pInherited,
[out, retval] VARIANT_BOOL *pVal);

VARIANT_BOOL equals True(-1) = Enabled; False(0) = Disabled

HRESULT SetAllowNoop([in] SFTPAdvBool val);

All versions

Function GetAllowXCRC([pInherited]) As Boolean
Sub SetAllowXCRC(val As SFTPAdvBool)

Retrieve/specify whether a user is allowed to send the XCRC command to confirm transfers. Use the same method to prohibit the user from sending the XCRC command.

HRESULT GetAllowXCRC([out, optional] VARIANT *pInherited,
[out,  retval] VARIANT_BOOL *pVal);

VARIANT_BOOL equals True(-1) = Enabled; False (0) = Disabled

HRESULT SetAllowXCRC([in] SFTPAdvBool val);

All versions

Function GetAllowWorkspaces As Boolean
Function SetAllowWorkspaces As Boolean

Retrieves/specifies whether user account or Settings Template is allowed to create Workspaces.

HRESULT GetAllowWorkspaces([out, optional] VARIANT *pInherited, 
[out, retval] VARIANT_BOOL *pVal);
HRESULT SetAllowWorkspaces([in] SFTPAdvBool val);

EFT v7.3.3

Function GetAllowWorkspacesOAI As Boolean
Function SetAllowWorkspacesOAI As Boolean

Retrieves/specifies whether user account or Settings Template is allowed to share files in Workspaces or Outlook

HRESULT GetAllowWorkspacesOAI([out, optional] VARIANT 
*pInherited, [out, retval] VARIANT_BOOL *pVal); 
HRESULT SetAllowWorkspacesOAI([in] SFTPAdvBool val);

EFT v7.3.3

Function GetAppletEnabled([pInherited]) As Boolean
Sub SetAppletEnabled(val As SFTPAdvBool)

Retrieve/specify EFT Web Transfer Client applet access setting for a user or Settings Template.

HRESULT GetAppletEnabled([out, optional]VARIANT *pInherited,
[out, retval] VARIANT_BOOL *pVal);

VARIANT_BOOL equals True(-1) = Enabled; False(0) = Disabled

HRESULT SetAppletEnabled([in]SFTPAdvBool val);

Example, setting the state:

slSettings = SetSettingsLevelSettings("Default Settings")
bEnabled = slSettings.SetAppletEnabled( bInherited )

Example for v6.1 and later:

If Client.AppletEnabled(isInherited) And isInherited 
	 Then
MsgBox "WTC is allowed for client because it is allowed for 
Settings Template"
End If

For an example using this method, refer to the GetCertInfo script in Script Examples.

EFT v3.5.1 and later

Function GetAS2Inbound([pInherited]) As Boolean
Sub SetAS2Inbound(val As SFTPAdvBool)

Retrieve/specify whether AS2 inbound transactions are enabled for the user or Settings Template.

HRESULT GetAS2Inbound([out, optional] VARIANT* pInherited,[out, retval] VARIANT_BOOL* pVal);

 VARIANT_BOOL equals True(-1) = Enabled; False(0) = Disabled

HRESULT SetAS2Inbound([in] SFTPAdvBool val);

Example (VBScript):

bEnabled = oClientSettings.GetAS2Inbound(bInherited)
MsgBox "Enabled: " & CStr(bEnabled) & " Inherited: " & 
CStr(bInherited)
oClientSettings.SetAS2Inbound abInherited

EFT v6.3 and later

Function GetAS2Outbound([pInherited]) As Boolean
Sub SetAS2Outbound(val As SFTPAdvBool)

Retrieve/specify whether AS2 outbound transactions are enabled for the user or Settings Template.

HRESULT GetAS2Outbound([out, optional] VARIANT* pInherited,[out, 
	 retval] VARIANT_BOOL* pVal);

VARIANT_BOOL equals True(-1) = Enabled; False(0) = Disabled

HRESULT SetAS2Outbound([in] SFTPAdvBool val);

Example (VBScript):

bEnabled = oClientSettings.GetAS2Outbound(bInherited)
MsgBox "Enabled: " & CStr(bEnabled) & " Inherited: " & 
CStr(bInherited)
oClientSettings.SetAS2Outbound abTrue

EFT v6.3 and later

Function GetChangePwd([pInherited]) As Boolean
Sub SetChangePwd(val As SFTPAdvBool)

Allow or determine if users can change their passwords. Use the same method to prohibit the user from changing passwords.

HRESULT GetChangePwd([out, optional] VARIANT *pInherited,
[out, retval] VARIANT_BOOL *pVal);

VARIANT_BOOL equals True(-1) = Enabled; False(0) = Disabled

HRESULT SetChangePwd([in] SFTPAdvBool val);

All versions

Function GetClearFTP([pInherited]) As Boolean
Sub SetClearFTP(val As SFTPAdvBool)

Determine or allow if a user account can make connections using insecure FTP.

HRESULT GetClearFTP([out, optional] VARIANT *pInherited,
[out, retval] VARIANT_BOOL *pVal);

VARIANT_BOOL equals True(-1) = Enabled; False(0) = Disabled

HRESULT SetClearFTP([in] SFTPAdvBool val);

All versions

Function GetClearHTTP([pInherited]) As Boolean
Sub SetClearHTTP(val As SFTPAdvBool)

Allow or determine if a user account can make connections using insecure HTTP.

HRESULT GetClearHTTP([out, optional] VARIANT *pInherited,[out, 
	 retval] VARIANT_BOOL *pVal);

VARIANT_BOOL equals True(-1) = Enabled; False(0) = Disabled

HRESULT SetClearHTTP([in]SFTPAdvBool val);

EFT v4.3.4 and EFT v5.1 and later

Function GetComplexPasswordSettings() As CIComplexPasswordSettings
Sub SetComplexPasswordSettings(pIComplexPasswordSettings As CIComplexPasswordSettings)

Retrieve/specify complex password settings for a user or Settings Template.

HRESULT GetComplexPasswordSettings(
[out, retval] IDispatch** ppIComplexPasswordSettings)
HRESULT SetComplexPasswordSettings(
[in] IDispatch* pIComplexPasswordSettings)

Examples (VBScript):

Set oComplexPwdSettings = 
oClientSettings.GetComplexPasswordSettings();
oClientSettings.SetComplexPasswordSettings oComplexPwdSettings;

EFT v6.3 and later

Function GetDescription() As String
Sub SetDescription(bstrVal As String)

Retrieve or provide the description for a user or User Settings Template.

HRESULT GetDescription([out, retval] BSTR *prop);
HRESULT SetDescription([in] BSTR bstrVal);

All versions

Function GetDownloadsPerSession([pInherited]) As Long
Sub SetDownloadsPerSession(val As Long)

Determine/specify the maximum number of downloads a user is permitted per session.

HRESULT GetDownloadsPerSession(
[out, optional] VARIANT *pInherited,
[out, retval] long *pVal);
HRESULT SetDownloadsPerSession([in] long val);

All versions

Function GetEnableAccount([pInherited]) As Boolean
Sub SetEnableAccount(val As SFTPAdvBool)

Determine/specify if a user account or Settings Template is enabled.

HRESULT GetEnableAccount(
[out, optional] VARIANT *pInherited,
[out, retval] VARIANT_BOOL *pVal);

VARIANT_BOOL equals True(-1) = Enabled; False(0) = Disabled

HRESULT SetEnableAccount([in] SFTPAdvBool val);

You need to obtain a handle to the specific user or Settings Template from ICISite's GetUserSettings method or ICISite's GetSettingsLevelSettings method before you can perform an action upon that user or Settings Template.

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();
?>

All versions

Function GetEnableDiskQuota([pInherited]) As Boolean
Sub SetEnableDiskQuota(val As SFTPAdvBool)

Determine if a user account's home folder space is restricted or limit the amount of space a user can use in a home folder.

HRESULT GetEnableDiskQuota(
[out, optional] VARIANT *pInherited,
[out, retval] VARIANT_BOOL *pVal);

VARIANT_BOOL equals True(-1) = Enabled; False(0) = Disabled

HRESULT SetEnableDiskQuota([in] SFTPAdvBool val);

All versions

Function GetEnablePasswordHistory([pInherited]) As Boolean
Sub SetEnablePasswordHistory(val As SFTPAdvBool)

Determine/specify if password reuse is allowed.

HRESULT GetEnablePasswordHistory(
[out, optional] VARIANT *pInherited,
[out, retval] VARIANT_BOOL *pVal);

VARIANT_BOOL equals True(-1) = Enabled; False(0) = Disabled

HRESULT SetEnablePasswordHistory(SFTPAdvBool val);

Example (VBScript):

bEnable = oClientSettings.GetEnablePasswordHistory(bInherited)
oClientSettings.SetEnablePasswordHistory abTrue

EFT v6.3 and later

Function GetEnableTimeOut([pInherited]) As Boolean
Sub SetEnableTimeOut(val As SFTPAdvBool)

Determine if or enable a time out after a user connection is inactive too long.

HRESULT GetEnableTimeOut(
[out, optional] VARIANT *pInherited,
[out, retval] VARIANT_BOOL *pVal);

VARIANT_BOOL equals True(-1) = Enabled; False(0) = Disabled

HRESULT SetEnableTimeOut([in] SFTPAdvBool val);

All versions

Function GetExpirationDate(dDate) As Boolean
Sub SetExpirationDate(dDate, bEnable As Boolean)

Determine/specify whether an expiration date is set for a particular user account. (Set the expiration date with SetExpirationDate.)

HRESULT GetExpirationDate(
[out]VARIANT *dDate,
[out, retval] VARIANT_BOOL *pVal);
HRESULT SetExpirationDate(
[in] VARIANT *dDate, 
[in]VARIANT_BOOL bEnable);

VARIANT_BOOL equals True(-1) = Enabled; False(0) = Disabled

Examples:

PHP 5 example (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);

VBScrip):

sUser = "q"
sExpirationDate = "Never"
If Site.GetUserSettings(sUser).GetExpirationDate(expirationDate) 
	 Then
sExpirationDate = CStr(expirationDate)
End If
MsgBox "Account " & sUser & " expiration date: " & 
sExpirationDate
Set client_settings = Site.GetUserSettings("testuser")
client_settings.SetExpirationDate 
CDate(FormatDateTime("15/05/2005")),True

All versions

Function GetExpirationDateAsVariant() As Variant
Determine the expiration date for a particular user account, set with SetExpirationDate.

HRESULT GetExpirationDateAsVariant([out, retval]VARIANT *dDate);

Example:

Dim strUser: strUser = "test"
set oUserSettings = oSite.GetUserSettings(strUser)
dtAccExpDate = oUserSettings.GetExpirationDateAsVariant()
WScript.Echo ("dtAccExpDate = " & dtAccExpDate)

EFT v4.3.4 and later

Function GetForcePasswordResetOnInitialLogin([pInherited]) As Boolean
Sub SetForcePasswordResetOnInitialLogin(val As Boolean)

Retrieve or specify whether the option to force the user to change their password on next login is on. If the option allowing this client to change their password is not inherited (i.e., is set to value other than abInherited), this option override the Site’s ForcePasswordResetOnInitialLogin value. If the option is ON, it does not mean the user will necessarily be forced to change the password on next login, because the user’s password might be already changed since the admin had switched the option from OFF to ON. To unconditionally force the user to change password on next login, use ICIClientSettings::ForcePasswordChange method.

HRESULT GetForcePasswordResetOnInitialLogin(
[out, optional] VARIANT *pInherited,
[out, retval] VARIANT_BOOL *pVal);
HRESULT SetForcePasswordResetOnInitialLogin(
[in] VARIANT_BOOL val);

VARIANT_BOOL equals True(-1) = Enabled; False(0) = Disabled

Example (VBScript):

Specifying:

client.SetChangePwd abTrue ‘override “Allow change password” 
option first
client.SetForcePasswordResetOnInitialLogin False

Retrieving:

If client.GetForcePasswordResetOnInitialLogin(isInherited) 
	 Then
If isInherited Then
MsgBox "The option to reset password is turned on from site"
End If
End If

EFT v6.2 and later

Function GetForcePasswordResetOnNextLogin() As Boolean
Sub SetForcePasswordResetOnNextLogin(val As SFTPAdvBool)

HRESULT GetForcePasswordResetOnNextLogin(
[out, retval] VARIANT_BOOL *pVal);
HRESULT SetForcePasswordResetOnNextLogin(
[in] SFTPAdvBool val);

See also Script Examples.

EFT v7.4 and later

Function GetFTPS([pInherited]) As Boolean
Sub SetFTPS(val As SFTPAdvBool)

Retrieve/enable/disable whether access is enabled for a client.

HRESULT GetFTPS(
[out, optional] VARIANT *pInherited,
[out, retval] VARIANT_BOOL *pVal);

VARIANT_BOOL equals True(-1) = Enabled; False(0) = Disabled

HRESULT SetFTPS([in] SFTPAdvBool val);

EFT v6.0 and later

Function GetGDPRPrivacyPolicyConsentStatus() As GDPRPrivacyPolicyConsentStatus
Sub SetGDPRPrivacyPolicyConsentStatus(newVal As GDPRPrivacyPolicyConsentStatus)

Retrieve/specify the Privacy Policy consent status for a client.

HRESULT GetGDPRPrivacyPolicyConsentStatus(
[out, retval] GDPRPrivacyPolicyConsentStatus *pVal);
HRESULT SetGDPRPrivacyPolicyConsentStatus(
[in] GDPRPrivacyPolicyConsentStatus newVal);

Example (VBScript):

Wscript.echo oUser.GetGDPRPrivacyPolicyConsentStatus()
Wscript.echo oUser.SetGDPRPrivacyPolicyConsentStatus
(PPConsent_Granted_explicit)

EFT v8 and later

Function GetGDPRSubjectStatus() As GDPRSubjectStatus
Sub SetGDPRSubjectStatus(newVal As GDPRSubjectStatus)

Retrieve/specify GDPR Subject status for a client.

HRESULT GetGDPRSubjectStatus(
[out, retval] GDPRSubjectStatus *pVal);
HRESULT SetGDPRSubjectStatus(
{in] GDPRSubjectStatus newVal);

Examples (VBScript):

Wscript.echo 
	 oUser.GetGDPRSubjectStatus()
Wscript.echo 
	 oUser.SetGDPRSubjectStatus(Subject_Yes)

EFT v8 and later

Function GetGDPRTermsOfServiceConsentStatus() As GDPRTermsOfServiceConsentStatus
Sub SetGDPRTermsOfServiceConsentStatus(newVal As GDPRTermsOfServiceConsentStatus)

Retrieve/specify the Terms of Service consent status for a client.

HRESULT GetGDPRTermsOfServiceConsentStatus(
[out, retval] GDPRTermsOfServiceConsentStatus *pVal);
HRESULT SetGDPRTermsOfServiceConsentStatus(
[in] GDPRTermsOfServiceConsentStatus newVal);

Example (VBScript):

Wscript.echo oUser. GetGDPRTermsOfServiceConsentStatus()
Wscript.echo oUser. SetGDPRTermsOfServiceConsentStatus 
	 (ToSConsent_Disagreed)

EFT v8 and later

Function GetHasDownloadsPerSession([pInherited]) As Boolean
Sub SetHasDownloadsPerSession(val As SFTPAdvBool)

Determine or limit number of files a user is allowed to download per session.

HRESULT GetHasDownloadsPerSession(
[out, optional] VARIANT *pInherited,
[out, retval] VARIANT_BOOL *pVal);

VARIANT_BOOL equals True(-1) = Enabled; False(0) = Disabled

HRESULT SetHasDownloadsPerSession([in] SFTPAdvBool val);

All versions

Function GetHasMaxDownloadSize([pInherited]) As Boolean
Sub SetHasDownloadsPerSession(val As SFTPAdvBool)

Determine or limit maximum file size a user is allowed to download.

HRESULT GetHasMaxDownloadSize([out, optional] VARIANT 
	 *pInherited,[out, retval] VARIANT_BOOL *pVal);

VARIANT_BOOL equals True(-1) = Enabled; False(0) = Disabled

HRESULT SetHasMaxDownloadSize([in] SFTPAdvBool val);

All versions

Function GetHasMaxIPs([pInherited]) As Boolean
Sub SetHasMaxIPs(val As SFTPAdvBool)

Determine if or limit user or Settings Template maximum number of allowed concurrent connections from same IP.

HRESULT GetHasMaxIPs([out, optional] VARIANT *pInherited,
[out, retval] VARIANT_BOOL *pVal);

 VARIANT_BOOL equals True(-1) = Unlimited; False(0) = Limited

HRESULT SetHasMaxIPs([in] SFTPAdvBool val);

All versions

Function GetHasMaxSpeed([pInherited]) As Boolean
Sub SetHasMaxSpeed(val As SFTPAdvBool)

Determine if or limit user account maximum allowed transfer speed.

HRESULT GetHasMaxSpeed([out, optional] VARIANT *pInherited,
[out, retval] VARIANT_BOOL *pVal);

VARIANT_BOOL equals True(-1) =Maximum; False(0) = Not the maximum

HRESULT SetHasMaxSpeed([in] SFTPAdvBool val);

All versions

Function GetHasMaxUploadSize([pInherited]) As Boolean
Sub SetHasMaxUploadSize(val As SFTPAdvBool)

Determine or limit maximum file size a user is allowed to upload.

HRESULT GetHasMaxUploadSize([out, optional] VARIANT 
	 *pInherited,[out, retval] VARIANT_BOOL *pVal);

 VARIANT_BOOL equals True(-1) = Maximum; False(0) = Not the maximum

HRESULT SetHasMaxUploadSize([in] SFTPAdvBool val);

All versions

Function GetHasMaxUsers([pInherited]) As Boolean
Sub SetHasMaxUsers(val As SFTPAdvBool)

Determine if or limit maximum number of allowed concurrent connections for a user.

HRESULT GetHasMaxUsers([out, optional] VARIANT *pInherited,
[out, retval] VARIANT_BOOL *pVal);

VARIANT_BOOL equals True(-1) = Maximum; False(0) = Not maximum

HRESULT SetHasMaxUsers([in] SFTPAdvBool val);

All versions

Function GetHasPwdRetries([pInherited]) As Boolean
Sub SetHasPwdRetries(val As SFTPAdvBool)

Determine or specify if a user account will be disabled after trying too many bad passwords in a row. Use the same method to allow an unlimited number of bad passwords.

HRESULT GetHasPwdRetries([out, optional] VARIANT 
	 *pInherited,[out, retval] VARIANT_BOOL *pVal);

VARIANT_BOOL equals True(-1) = Maximum; False(0) = Not maximum

HRESULT SetHasPwdRetries([in] SFTPAdvBool val);

NOTE: GetHasPwdRetries and SetHasPwdRetries are related to an 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.

All versions

Function GetHasUploadsPerSession([pInherited]) As Boolean
Sub SetHasUploadsPerSession(val As SFTPAdvBool)

Determine if or limit maximum number of files a user is allowed to upload per session.

HRESULT GetHasUploadsPerSession([out, optional] VARIANT 
	 *pInherited,[out, retval] VARIANT_BOOL *pVal);

 VARIANT_BOOL equals True(-1) = Maximum; False(0) = Not maximum

HRESULT SetHasUploadsPerSession([in] SFTPAdvBool 
	 val);

All versions

Function GetHomeDir([pInherited]) As Boolean
Sub SetHomeDir(val As SFTPAdvBool)

Determine/specify if the user or User Settings Template can have a separate home folder.

HRESULT GetHomeDir([out, optional] VARIANT *pInherited,[out, 
	 retval] VARIANT_BOOL *pVal);

VARIANT_BOOL equals True(-1) = Enabled; False(0) = Disabled

HRESULT SetHomeDir([in] SFTPAdvBool val);

Examples (VBScript):

If client.GetHomeDir Then
MsgBox "Client has separate home folder"
End If
client.SetHomeDir abInherited 
'use home folder from Settings Template

All versions

Function GetHomeDirIsRoot([pInherited]) As Boolean
Sub SetHomeDirIsRoot(val As SFTPAdvBool)

Determine or specify a user's default root folder.

HRESULT GetHomeDirIsRoot([out, optional] VARIANT 
*pInherited,[out, retval] VARIANT_BOOL *pVal);

 VARIANT_BOOL equals True(-1) = Enabled; False(0) = Disabled

HRESULT SetHomeDirIsRoot([in] SFTPAdvBool val);

All versions

Function GetHomeDirString() As String
Sub SetHomeDirString(bstrVal As String)

Retrieve or specify the path to a user or User Settings Template home folder.

HRESULT GetHomeDirString([out, retval] BSTR *prop);

 VARIANT_BOOL equals True(-1) = Enabled; False(0) = Disabled

HRESULT SetHomeDirString([in] BSTR bstrVal);

All versions

Function GetHTTPS([pInherited]) As Boolean
Sub SetHTTPS(val As SFTPAdvBool)

Retrieve or specify whether access is enabled for a client.

HRESULT GetHTTPS([out, optional] VARIANT *pInherited,
[out, retval] VARIANT_BOOL *pVal);

VARIANT_BOOL equals True(-1) = Enabled; False(0) = Disabled

HRESULT SetHTTPS([in] SFTPAdvBool val);

EFT v6.0 and later

Function GetInactiveAccountsMonitoring([pInherited]) As Boolean
Sub SetInactiveAccountsMonitoring(val As SFTPAdvBool)

Retrieve or specify whether inactive accounts are disabled/removed after days of inactivity.

HRESULT GetInactiveAccountsMonitoring([out, optional] 
VARIANT* pInherited,[out, retval] VARIANT_BOOL* pVal);

VARIANT_BOOL equals True(-1) = Enabled; False(0) = Disabled

HRESULT SetInactiveAccountsMonitoring(SFTPAdvBool val);

Example (C#):

//Set inactivity monitoring
userSettings.RemoveInactiveAccounts = true;
userSettings.MaxInactivePeriod = 30;
userSettings.SetInactiveAccountsMonitoring(SFTPAdvBool.abTrue);

Example (VBScript):

bEnable = oClientSettings.GetInactiveAccountsMonitoring
(bInherited)
oClientSettings.SetInactiveAccountsMonitoring abFalse

EFT v6.3 and later

Function GetIncorrectPasswordAttempts() As Long

Retrieve how many times a user has tried to connect with incorrect log in information.

HRESULT GetIncorrectPasswordAttempts([out, retval] long *pVal);

All versions

Function GetIPAccessRules() As Variant

See also the following interfaces:

ICIAutobanIPAccessRule Interface

ICIBannedIP Interface

ICIIPAccessRule Interface

ICIManualIPAccessRule Interface

ICIServer - Server Interface : GetIPAccessRules

ICISite - Single-Site Interface : GetIPAccessRules

Retrieves an array of client/template IP Access rules.

HRESULT GetIPAccessRules([out, retval] VARIANT *aMasks);

Example (VBScript):

The following script would retrieve a list of all IP addresses that have been banned automatically for a user or Settings template.

rules = oClientSettings.GetIPAccessRules()
For Each key In rules
If key.type = 0 Then
WScript.echo "AutoBan"
End if
If key.type = 1 Then
WScript.echo "Manual " + key.address
End if
Next

EFT v6.3 and later

Function GetLimitAccessByIP([pInherited]) As Boolean
Sub SetLimitAccessByIP(val As SFTPAdvBool)

Determine/specify if the IP Access Restriction List is enabled on the Settings Template or user account.

HRESULT GetLimitAccessByIP(
[out, optional] VARIANT *pInherited,
[out, retval] VARIANT_BOOL *pVal);

VARIANT_BOOL equals True(-1) = Enabled; False(0) = Disabled

HRESULT SetLimitAccessByIP(
[in] SFTPAdvBool val);

Example (VBScript):

If client.GetLimitAccessByIP Then
MsgBox "client’s Limit Access by IP is on"
End If
client.SetLimitAccessByIP abInherit

Example (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

EFT v6.1 and later

Function GetLimitLoginAttempts([pInherited]) As Boolean
Sub SetLimitLoginAttempts(val As SFTPAdvBool)

Retrieve/specify whether recognize whether client will be penalized if he repeatedly tries to login with incorrect password.

HRESULT GetLimitLoginAttempts(
[out, optional] VARIANT *pInherited,
[out, retval] VARIANT_BOOL *pVal);

VARIANT_BOOL equals True(-1) = Enabled; False(0) = Disabled

HRESULT SetLimitLoginAttempts(
[in] SFTPAdvBool val);

EFT v5.1.1 and later

Function GetLockoutNotDisable([pInherited]) As Boolean
Sub SetLockoutNotDisable(val As Boolean)

Determine or specify if account lockout is enabled for a user.

HRESULT GetLockoutNotDisable([out, optional] VARIANT 
	 *pInherited,[out, retval] VARIANT_BOOL *pVal);
HRESULT SetLockoutNotDisable([in] VARIANT_BOOL val);

VARIANT_BOOL equals True(-1) = Enabled; False(0) = Disabled

Example (VBScript):

client.SetLockoutNotDisable False

EFT v5.1.1 and later

Function GetLoginMsg() As Long
Sub SetLoginMsg(val As Long)

Determine or specify if 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.

HRESULT GetLoginMsg([out, retval] long *pVal);
HRESULT SetLoginMsg([in] long val);

Values

  • 0 = Use default

  • 1 = Add to default

  • 2 = Replace default

  • 3 = None

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?

EFT displays a connection banner immediately after a client connects via FTP, before requesting the login credentials. After the client provides the login credentials and the credentials are authenticated, EFT displays a login banner.

The default login banner is “Login OK, proceed.” 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. At 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.

All versions

Function GetLoginMsgString() As String
Sub SetLoginMsgString(bstrVal As String)

Retrieve or create a login message.

HRESULT GetLoginMsgString([out, retval] BSTR *prop);

All versions

Function GetMaxDownloadSize([pInherited]) As Long
Sub SetMaxDownloadSize(val As Long)

Determine/specify the maximum file size, in kilobytes, a user is allowed to download.

HRESULT GetMaxDownloadSize([out, optional] VARIANT 
	 *pInherited,[out, retval] long *pVal);
HRESULT SetMaxDownloadSize([in] long val);

All versions

Function GetMaxIPs([pInherited]) As Long
Sub SetMaxIPs(val As Long)

Determine or specfiy the number of concurrent connections allowed from the same IP address.

HRESULT GetMaxIPs([out, optional] VARIANT *pInherited,
[out, retval] long *pVal);
HRESULT SetMaxIPs([in] long val);

All versions

Function GetMaxSpace([pInherited]) As Long
Sub SetMaxSpace(val As Long)

Determine/specify the amount of space a user can use in a home folder.

HRESULT GetMaxSpace([out, optional] VARIANT *pInherited,
[out, retval] long *pVal);
HRESULT SetMaxSpace([in] long val);

All versions

Function GetMaxSpeed([pInherited]) As Long
Sub SetMaxSpeed(val As Long)

Retrieve/specify, in kilobytes per second, the maximum transfer speed allowed for an account or Settings Template.

HRESULT GetMaxSpeed([out, optional] VARIANT *pInherited,
[out, retval] long *pVal);
HRESULT SetMaxSpeed([in] long val);

All versions

Function GetMaxUploadSize([pInherited]) As Long
Sub SetMaxUploadSize(val As Long)

Retrieve/specfiy, in kilobytes, the maximum file size a user is allowed to upload.

HRESULT GetMaxUploadSize([out, optional] VARIANT 
	 *pInherited,[out, retval] long *pVal);
HRESULT SetMaxUploadSize([in] long val);

All versions

Function GetMaxUsers([pInherited]) As Long
Sub SetMaxUsers(val As Long)

Retrieve/retrieve the maximum number of concurrent connections allowed for an account or Settings Template.

HRESULT GetMaxUsers([out, optional] VARIANT *pInherited,
[out, retval] long *pVal);
HRESULT SetMaxUsers([in] long val);

All versions

Function GetPwdRetries([pInherited]) As Long
Sub SetPwdRetries(val As Long)

Retrieve/specify the number of times a user can try to connect with an incorrect password.

HRESULT GetPwdRetries([out, optional] VARIANT *pInherited,
[out, retval] long *pVal);
HRESULT SetPwdRetries([in] long val);

All versions

Function GetRequireMfa([pInherited]) As Boolean and Sub SetRequireMfa(newVal As SFTPAdvBool)

Used to retrieve or specify whether MFA is required on a Settings Template.

HRESULT GetRequireMfa(
[out, optional] VARIANT *pInherited, 
[out, retval] VARIANT_BOOL *pVal);
HRESULT SetRequireMfa([in]SFTPAdvBool newVal);

EFT v8.0.4 and later

Function GetRequireStrongPasswords([pInherited]) As Boolean and Sub SetRequireStrongPasswords(val As SFTPAdvBool)

Retrieve/specify whether strong (complex) passwords are required.

HRESULT GetRequireStrongPasswords(
[out, optional] VARIANT* pInherited,
[out, retval] VARIANT_BOOL* pVal);

VARIANT_BOOL equals True(-1) = Enabled; False(0) = Disabled

HRESULT SetRequireStrongPasswords(
[in] SFTPAdvBool val);

Examples (VBScript):

bEnabled = oClientSettings.GetRequireStrongPasswords(bInherited)
MsgBox "Enabled: " & CStr(bEnabled) & " Inherited: " & CStr(bInherited)
oClientSettings.SetRequireStrongPasswords abFalse

EFT v6.3 and later

Function GetResetPasswordSettings() As CIResetPasswordSettings
Sub SetResetPasswordSettings(pIResetPasswordSettings As CIResetPasswordSettings)

Retrieve/specify password reset settings.

HRESULT GetResetPasswordSettings([out, retval] IDispatch** 
	 ppIResetPasswordSettings); (v6.3 - 6.3.3)
HRESULT SetResetPasswordSettings([in] IDispatch* 
	 pIResetPasswordSettings); (v6.3 - 6.3.3)

Examples (VBScript):

Set oResetPwdSettings = oClientSettings.GetResetPasswordSettings()
oClientSettings.SetResetPasswordSettings oResetPwdSettings

Example (C#):

//Change reset password settings
CIResetPasswordSettings 
resetPswdSettings = userSettings.GetResetPasswordSettings();
resetPswdSettings.MaxPasswordAgeDays = 10;
resetPswdSettings.SendEMailBeforeExpiration = false;
resetPswdSettings.SendEMailUponExpiration = false;
resetPswdSettings.DaysPriorPasswordExpirationToRemindUser = 1;
userSettings.SetResetPasswordSettings(resetPswdSettings);

EFT v6.3 and later

Function GetSFTP([pInherited]) As Boolean
Sub SetSFTP(val As SFTPAdvBool)

Retrieve or specify whether access is enabled for a client. True = Access enabled; False = Access disabled.

HRESULT GetSFTP([out, optional] VARIANT *pInherited,
[out, retval] VARIANT_BOOL *pVal);

VARIANT_BOOL equals True(-1) = Enabled; False(0) = Disabled

HRESULT SetSFTP([in] SFTPAdvBool val);

Examples:

Dim strUser:strUser = "test"
set oUserSettings = oSite.GetUserSettings(strUser)
bIsFTPEnabled = oUserSettings.GetSFTP()
WScript.Echo ("bIsFTPEnabled="& bIsFTPEnabled)

 

Dim strUser:strUser = "test"
set oUserSettings = oSite.GetUserSettings(strUser)
oUserSettings.SetSFTP abTrue

All versions

Function GetSftpAuthenticationType([pInherited]) As String
Sub SetSftpAuthenticationType(val As String)

Retrieve/specify the SFTP authentication type for the client.

HRESULT GetSftpAuthenticationType(
[out, optional] VARIANT *pInherited,
[out, retval] BSTR *pVal);
HRESULT SetSftpAuthenticationType([in] BSTR val);

Values

  • inherited

  • password

  • key

  • both

  • either (v6.3 and later)

Examples:

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

 

Dim strUser:strUser = "test"
set oUserSettings = oSite.GetUserSettings(strUser)
oUserSettings.SetSFTPAuthenticationType ("password")

All versions

Function GetSSHKeyID([pInherited]) As Long
Sub SetSSHKeyID(val As Long)

Retrieve/specify the SFTP (SSH) certificate ID for the client.

HRESULT GetSSHKeyID([out, optional] VARIANT *pInherited,
[out, retval] long *pVal);
HRESULT SetSSHKeyID([in] long val);

Examples:

For Each keyId In oClientSettings.GetSSHKeyIDs(bInherited)
MsgBox "Key id: " & CStr(keyId)
Next

 

Dim strUser:strUser = "test"
set oUserSettings = oSite.GetUserSettings(strUser)
oUserSettings.SetSSHKeyID(1)

All versions

Function GetSSHKeyIDs([pInherited]) As Variant
Sub SetSSHKeyID(val As Long)

Retrieves/specifies the list of SSH Key IDs assigned to specified client.

HRESULT GetSSHKeyIDs([out, optional] VARIANT *pInherited,
[out, retval] VARIANT* pVal);
HRESULT SetSSHKeyIDs([in] VARIANT val);

Example (VBS):

Assign keys with ID = 1, 2, 3, 4, 5, 6, 7, and 8 to Test_user, then get all keys:

Set Client = Site.GetUserSettings("Test_user")
Client.SetSSHKeyIDs Array(1, 2, 3, 4, 5, 7, 8)
Dim allKeys
keys = Client.GetSSHKeyIDs
For Each keyID in Keys
  allKeys = allKeys & vbNewLine & CStr(keyID)
Next
MsgBox allKeys

Expected result is message box with 1, 2, 3, 4, 5, 6, 7, 8

Example (C#):

Assign keys in a list to a client:

userSettings.SetSSHKeyIDs(keyIds.ToArray());

EFT v6.3 and later

Function GetSSLAuthenticationType([pInherited]) As String
Sub SetSSLAuthenticationType(val As String)

Retrieve/specify authentication type for the client.

HRESULT GetSSLAuthenticationType([out, optional] 
	 VARIANT *pInherited,[out, retval] BSTR *pVal);
HRESULT SetSSLAuthenticationType([in] BSTR val);

Examples

Dim strUser:strUser = "test"
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

 

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

EFT v5.1 and later

Function GetSSLKeyID([pInherited]) As Long
Sub SetSSLKeyID(val As Long)

Retrieve/specify the SSL key ID for the client.

HRESULT GetSSLKeyID(
[out, optional] VARIANT *pInherited,
[out, retval] long *pVal);
HRESULT SetSSLKeyID([in] long val);

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
WSCript.Echo "SSL Password type: " & strType

EFT v5.1 and later

Function GetTimeOut([pInherited]) As Long
Sub SetTimeOut(val As Long)

Retrieve/specify number of seconds EFT will allow a user's connection to be inactive before closing the connection.

HRESULT GetTimeOut(
[out, optional] VARIANT *pInherited,
[out, retval] long *pVal);
HRESULT SetTimeOut([in] long val);

All versions

Function GetTwoFactorAuthentication([pInherited]) As Boolean
Sub SetTwoFactorAuthentication(val As SFTPAdvBool)

Retrieve/specify whether two-factor authentication is enabled for the user or Settings Template.

HRESULT GetTwoFactorAuthentication(
[out, optional] VARIANT* pInherited,
[out, retval] VARIANT_BOOL* pVal);

VARIANT_BOOL equals True(-1) = Enabled; False(0) = Disabled

HRESULT SetTwoFactorAuthentication([in] SFTPAdvBool val);

Examples (VBScript):

oClientSettings.GetTwoFactorAuthentication(bInherited)
oClientSettings.SetTwoFactorAuthentication abFalse

EFT v6.3 and later

Function GetUploadsPerSession([pInherited]) As Long
Sub SetUploadsPerSession(val As Long)

Determine/specify the maximum number of uploads a user is permitted per session.

HRESULT GetUploadsPerSession(
[out, optional] VARIANT *pInherited,
[out, retval] long *pVal);
SetUploadsPerSession([in] long val);

All versions

Function GetUsedSpace() As Long

Determine the amount of disk space, in kilobytes, a user has used in a home folder.

HRESULT GetUsedSpace([out, retval] long *pVal);

Example (VBScript):

MsgBox "Client data occupy " & client.GetUsedSpace & " KB"

All versions

Property ID As Long

Retrieve a user or Settings Template ID.

HRESULT ID([out,retval] LONG* pID);

Example:

MsgBox "Client id: " & CStr(oClientSettings.ID)

EFT v6.3 and later

Property InvalidAttemptsPeriod(pDate) As Long

Specify or retrieve user invalid login attempts critical period.

HRESULT InvalidAttemptsPeriod([out, retval] long *pVal);
HRESULT InvalidAttemptsPeriod([in] long newVal);

EFT v6.1 and later

Property IPAccessAllowedDefault As Boolean

Specify or retrieve whether user or Settings Template IP access settings allow or deny access by default (if no rule match).

HRESULT IPAccessAllowedDefault(
[out, retval] VARIANT_BOOL *pVal);
HRESULT IPAccessAllowedDefault(
[in] VARIANT_BOOL newVal);

VARIANT_BOOL equals True(-1) = Allow; False(0) = Deny

EFT v5.1.1 and later

Property IsConnected As Boolean read-only

Retrieve whether the client is connected. (Client only, not for user group.)

HRESULT IsConnected([out, retval] VARIANT_BOOL* pVal);

VARIANT_BOOL equals True(-1) = Connected; False(0) = Not connected

Example (VBScript):

if True = oClientSettings.IsConnected then
MsgBox "Connected."
end if

EFT v6.3 and later

Function IsInactivityPeriodLimited(pDate) As Boolean

Retrieve whether client account has limited maximum inactivity period and what the period end date is.

HRESULT IsInactivityPeriodLimited(
[out] VARIANT* pDate,
[out,retval] VARIANT_BOOL* pLimited);

VARIANT_BOOL equals True(-1) = Enabled; False(0) = Disabled

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

EFT v6.3 and later

Property IsLocked As Boolean

Retrieve whether account is locked.

HRESULT IsLocked(
[out, retval] VARIANT_BOOL* pVal);

VARIANT_BOOL equals True(-1) = Enabled; False(0) = Disabled

Example (VBScript):

if False = oClientSettings.IsLocked then
MsgBox "Not locked."
end if

EFT v6.3 and later

Function IsPasswordAgeLimited(pDate) As Boolean

Retrieve whether the user account password will expire and, if so, the expiration date.

HRESULT IsPasswordAgeLimited(
[out] VARIANT* pDate,
[out,retval] VARIANT_BOOL* pLimited);

VARIANT_BOOL equals True(-1) = Enabled; False(0) = Disabled

Example (VBScript):

If Client.IsPasswordAgeLimited(date) Then
MsgBox "Client Password will expire " & 
	 CStr(date)
End If

EFT v6.1 and later

Property LastConnectionTime As Date

Retrieve date and time user last connected to the server.

HRESULT LastConnectionTime(
[out, retval] DATE* pVal);

Example (VBScript):

MsgBox "Last connection time: " & 
CStr(oClientSettings.LastConnectionTime)

EFT v6.3 and later

Property LastModificationTime As Date

Retrieve date and time user account was last modified.

HRESULT LastModificationTime(
[out, retval] DATE* pVal);

Example (VBScript):

MsgBox "Last modification time: " & 
CStr(oClientSettings.LastModificationTime)

EFT v6.3 and later

Property LastModifiedBy As String

Retrieve administrator account name that last modified this user account.

HRESULT LastModifiedBy(
[out, retval] BSTR* pVal);

Example (VBScript):

MsgBox "Last modified by: " & CStr(oClientSettings.LastModifiedBy)

EFT v6.3 and later

Property LockoutPeriod As Long

Retrieve the length of time a user's account is locked out after invalid login attempts.

HRESULT LockoutPeriod([out, retval] long *pVal);
HRESULT LockoutPeriod([in] long newVal);

EFT v5.1.1 and later

Property MaxInactivePeriod As Long

Retrieve the number of days of inactivity before account is disabled or removed.

HRESULT MaxInactivePeriod([out,retval] LONG* pVal);
HRESULT MaxInactivePeriod([in] LONG newVal);

Example (VBScript):

Retrieving:

MsgBox "Inactive period is: " & 
CStr(oClientSettings.MaxInactivePeriod)

Specifying:

oClientSettings.MaxInactivePeriod = 90

EFT v6.3 and later

Property MaxInvalidLoginAttempts As Long

Retrieve the maximum number of invalid login attempts a client can make to a Site.

HRESULT MaxInvalidLoginAttempts([out, retval] long *pVal);
HRESULT MaxInvalidLoginAttempts([in] long newVal);

EFT v5.1.1 and later

Sub MoveIPAccessRule(nRulePosFrom As Long nRulePosTo As Long)

See also the following interfaces:

ICIAutobanIPAccessRule Interface

ICIBannedIP Interface

ICIIPAccessRule Interface

ICIManualIPAccessRule Interface

Change allowed IP access rule position.

HRESULT MoveIPAccessRule(
[in] long nRulePosFrom,
[in] long nRulePosTo);

VARIANT_BOOL True(-1) = Enabled; False(0) = Disabled

Example (VBScript):

oClientSettings.MoveIPAccessRule(1,2)

EFT v6.3 and later

Property Pager As String

View a user's pager number.

HRESULT Pager([out, retval] BSTR *pVal);
HRESULT Pager([in] BSTR newVal);

EFT v5.0 and later

Property  PartnerID As String

Retrieve or modify PartnerID for a user account:

HRESULT PartnerID ([out, retval] BSTR *pVal);
HRESULT PartnerID ([in] BSTR newVal);

Example (VBScript):

Wscript.echo 
	 oUser.PartnerId
oUser. PartnerId 
	 = “PARTNERID”

EFT v8 and later

Property PasswordHistorySize As Long

Retrieves number of previous passwords prohibited from reuse.

HRESULT PasswordHistorySize([out,retval] LONG* pVal);
HRESULT PasswordHistorySize(LONG newVal);

Example (VBScript):

Retrieving:

MsgBox "Password history size: " & 
CStr(oClientSettings.PasswordHistorySize)

Specifying:

oClientSettings.PasswordHistorySize = 8

EFT v6.3 and later

Property Phone As String

Retrieve a user's telephone number.

HRESULT Phone([out, retval] BSTR *pVal);
HRESULT Phone([in] BSTR newVal);

EFT v5.0 and later

Property RemoveInactiveAccounts As Boolean

Specifies whether inactive accounts are removed.

HRESULT RemoveInactiveAccounts([out, retval] VARIANT_BOOL* pVal);
HRESULT RemoveInactiveAccounts(VARIANT_BOOL newVal);

VARIANT_BOOL equals True(-1) = Enabled; False(0) = Disabled

Example (VBScript):

Retrieving:

if False = oClientSettings.RemoveInactiveAccounts 
	 then
MsgBox "Disable"
else
MsgBox "Remove"
end if

Specifying:

oClientSettings.RemoveInactiveAccounts = True

EFT v6.3 and later

Sub RemoveIPAccessRule(nRulePos As Long)

See also the following interfaces:

ICIAutobanIPAccessRule Interface

ICIBannedIP Interface

ICIIPAccessRule Interface

ICIManualIPAccessRule Interface

Remove the IP access rule.

HRESULT RemoveIPAccessRule([in] long nRulePos);

Example (VBScript):

oClientSettings.RemoveIPAccessRule(0)

EFT v5.1.1 and later

Sub ResetAllFieldAttributeDefaults()

Reset user’s client data fields attributes to default. (i.e., apply attributes from Site's Security tab > User Account Details Template dialog box.)

HRESULT ResetAllFieldAttributeDefaults();

Example (VBScript):

oUser. ResetAllFieldAttributeDefaults()

EFT v8 and later

Sub ResetPassword()

Retrieve whether a user can reset the account password.

HRESULT ResetPassword([out,retval] VARIANT_BOOL* pbSuccess);

VARIANT_BOOL equals True(-1) = Enabled; False(0) = Disabled

Example (VBScript):

if False = oClientSettings.ResetPassword() then
MsgBox "Reset user password failed."
end if

EFT v6.3 and later

Dialog Box Equivalents

The ICIClientSettings interface methods and properties correlate to the following fields and controls in the EFT administration interface:

User Account Details for User

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 administration interface on the user's General tab > Account Details.

The dialog box below is labeled with some of the parameters that are available in the ICIClientSettings interface

.

User Account General Settings

See also ICISite interface::KickUser and UnlockUser

User Connection Limits

User Connection Protocols

User SFTP Authentication Options

User FTP Security Settings

User IP Access Ban List

User Login Security Options

 

User Security and Password Settings

In 7.3.6 and earlier:

In 7.3.7 and later:

User Transfer Limits Settings

User connection limits in the API include getting/setting the number of uploads and download per session and maximum upload and download sizes. The dialog box below, available from the user's Connections tab, is labeled with some of the transfer limits parameters that are available in the ICIClientSettings interface.

Example of using the Custom property

// eftTestCustomFields.js
// CREATED: 24 May 2007
// Script to confirm use of EFT5 Custom Fields properties 
 of a CClientSettings in Javascript through 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
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);