Running Reports on User Configuration with VB Scripting


THE INFORMATION IN THIS ARTICLE APPLIES TO:

  • EFT v6 and later

DISCUSSION

User data is different than User Configuration and is not in the ARM module. Only metrics from users who upload and downloads files are in the ARM database.

(Refer to KB#11283 for details of using the EFT Migration and Sync Tool instead of scripting.)

Configuring COM API

COM API is required for the any type of script to run and affect settings in EFT. This is true for EFT Migration and Sync Tool. It also requires the same functionality as VB scripting/Powershell when connecting to the service.

  1. Remote administration must be enabled on EFT.
  2. Either the EFT administration interface must be installed or the DLL’s must be on the system where the script is run: C:\Program Files (x86)\Common Files\Globalscape\SFTPCOMInterface\ or C:\Program Files\Common Files\Globalscape\SFTPCOMInterface\.
  3. User ID of either a GS administrator account or AD auth (if you have HSM module).

How do we use the script to enforce settings?

Let’s start by breaking down the script.

Connecting to EFT:

CRLF = (Chr(13)& Chr(10))

txtServer = "localhost"

txtPort = "1100"

txtAdminUserName = "test"

txtPassword = "test"

txtSiteName = "EFT FTP"

txtSettingsLevel = "Default Settings"

Modify Security Settings:

In this case, no modification is required of the actual logic of the script.

For each name in users

set userSettings = site.GetUserSettings(name)

Fullname = userSettings.Fullname

Locked = userSettings.IsLocked

Phone = userSettings.Phone

Fax = userSettings.Fax

Pager = userSettings.Pager

Email = userSettings.Email

Custom1 = userSettings.Custom1

Custom2 = userSettings.Custom2

Custom3 = userSettings.Custom3

Comment = userSettings.Comment

PhysHomeDir = site.GetPhysicalPath(name)

HomeDirString = userSettings.GetHomeDirString

lastModifiedBy = userSettings.LastModifiedBy

lastModifiedTime = FormatDateTime(userSettings.LastModificationTime, 1)

lastconnectionTime = FormatDateTime(userSettings.LastConnectionTime, 1)

accountCreationTime = FormatDateTime(userSettings.AccountCreationTime, 1)

As you see, the script will loop through ALL users on the EFT Site (specified from above section) and will find all details relating to that user accounts.

The generated file from the run will create an “output_users.csv” file that can now be imported into Excel or any other product.

*Note: This process is only about extracting information from the EFT system for documentation and not about importing information from a RAW comma delimited text file.