Functions Reference
Select version:


Refer to the Getting Started Guide for information on how to use functions.
Active Directory Computers

ComputerCustomProperty <PropertyName>
ComputerCustomProperty <PropertyName>, <ComputerName>

Returns a custom property from the Active Directory of a computer or an empty string if it is not set. Property name must be an LDAP property name like 'description'; see the "Attribute Editor" property tab of the computer for a list of attribute and values. If no computername is specified, executing computer is assumed. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<ComputerName>.
Example: If [ComputerCustomProperty managedBy,AcmePC0010]="[UserDistinguishedName]" Then

ComputerDescription
ComputerDescription <ComputerName>

Returns the "Description" property from the Active Directory of a computer or an empty string if it is not set. If no computername is specified, executing computer is assumed. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<ComputerName>.

ComputerDistinguishedName
ComputerDistinguishedName <ComputerName>

Returns the distinguished name of the computer from the Active Directory. If no computername is specified, executing computer is assumed. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<ComputerName>.

ComputerLastLogon
ComputerLastLogon <ComputerName>

Returns the date and time of the computer's last registered logon date in the Active Directory of a computer. If the computer has never logged on, a blank string is returned. If no computername is specified, executing computer is assumed. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<ComputerName>.
Active Directory Groups

DomainAdminsGroup

Returns the name of the domain admins group.
Example: AddDirPermissions [ProgramFilesDir]\Acme,[DomainAdminsGroup]:Change

DomainUsersGroup

Returns the name of the domain users group.
Example: AddDirPermissions [ProgramFilesDir]\Acme,[DomainUsersGroup]:Change

GroupCustomProperty <GroupName>, <PropertyName>

Returns a custom property from the Active Directory of a group or an empty string if it is not set. Property name must be an LDAP property name like 'managedBy'; see the "Attribute Editor" property tab of the group for a list of attribute and values. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<GroupName>.
Example: If [GroupCustomProperty AcmeGroup,managedBy]="[UserDistinguishedName]" Then

GroupDistinguishedName <OUName>

Returns the distinguished name of the group.
Active Directory OU

ComputerFirstOU
ComputerFirstOU <ComputerName>

Returns the top-most OU name in the OU tree, of which the computer is a member of in the Active Directory. If no computername is specified, executing computer is assumed. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<ComputerName>.
Example: If [ComputerFirstOU]=Acme Sales Global Then ConnectShare J:,\\AcmeServer\Sales

ComputerLastOU
ComputerLastOU <ComputerName>

Returns the bottom-most OU name in the OU tree, of which the computer is a member of in the Active Directory. If no computername is specified, executing computer is assumed. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<ComputerName>.
Example: If [ComputerLastOU]=Acme Sales Denver Then ConnectShare J:,\\AcmeServer\SalesDenver

GroupFirstOU <GroupName>

Returns the top-most OU name in the OU tree, of which the group is a member of in the Active Directory. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<GroupName>.

GroupLastOU <GroupName>

Returns the bottom-most OU name in the OU tree, of which the group is a member of in the Active Directory. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<GroupName>.

OUCustomProperty <OUName>, <PropertyName>

Returns a custom property from the Active Directory of an organizational unit or an empty string if it is not set. Property name must be an LDAP property name like 'managedBy'; see the "Attribute Editor" property tab of the organizational unit for a list of attribute and values. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<OUName>.
Example: If [OUCustomProperty Acme Sales Global,managedBy]="[UserDistinguishedName]" Then

OUDistinguishedName <OUName>

Returns the distinguished name of the Organizational Unit.

OUFirstOU <OUName>

Returns the top-most OU name in the OU tree, of where the Organizational Unit is located in the Active Directory. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<OUName>.

OUParentOU <GroupName>

Returns the parent OU name in the OU tree, of where the Organizational Unit is located in the Active Directory. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<GroupName>.

UserFirstOU
UserFirstOU <UserName>

Returns the top-most OU name in the OU tree, of which the currently logged on user is a member of in the Active Directory. If no username is specified, current user is assumed. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.
Example: If [UserFirstOU]=Acme Sales Global Then ConnectShare J:,\\AcmeServer\Sales

UserLastOU
UserLastOU <UserName>

Returns the bottom-most OU name in the OU tree, of which the currently logged on user is a member of in the Active Directory. If no username is specified, current user is assumed. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.
Example: If [UserLastOU]=Acme Sales Denver Then ConnectShare J:,\\AcmeServer\SalesDenver
Active Directory Users

UserCompany
UserCompany <UserName>

Returns the "Company" property from the Active Directory of a user or an empty string if it is not set. Optional username is the name of a user in the Active Directory. If no username is specified, current user is assumed. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.

UserCustomProperty <PropertyName>
UserCustomProperty <PropertyName>, <UserName>

Returns a custom property from the Active Directory of a user or an empty string if it is not set. Property name must be an LDAP property name like 'streetAddress'; see the "Attribute Editor" property tab of the user for a list of attribute and values. If no username is specified, current user is assumed. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.
Example: If [UserCustomProperty AcmeUser,managedBy]="[UserDistinguishedName]" Then

UserDepartment
UserDepartment <UserName>

Returns the "Department" property from the Active Directory of a user or an empty string if it is not set. Optional username is the name of a user in the Active Directory. If no username is specified, current user is assumed. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.

UserDescription
UserDescription <UserName>

Returns the "Description" property from the Active Directory of a user or an empty string if it is not set. If no username is specified, current user is assumed. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.

UserDistinguishedName
UserDistinguishedName <UserName>

Returns the distinguished name of the currently logged on user from Active Directory. If no username is specified, current user is assumed. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.

UserDomain

Returns the domain of the currently logged on user.

UserEMailAddress
UserEMailAddress <UserName>

Returns the "EMail" property from the Active Directory of a user or an empty string if it is not set. Optional username is the name of a user in the Active Directory. If no username is specified, current user is assumed. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.

UserExpiryDate
UserExpiryDate <UserName>

Returns the expiry date of the user. If the user does not have account expiration, a blank string is returned. Optional username is the name of a user in the Active Directory. If no username is specified, current user is assumed. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.

UserFirstName
UserFirstName <UserName>

Returns the "First Name" property from the Active Directory of a user or an empty string if it is not set. If no username is specified, current user is assumed. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.

UserFullName
UserFullName <UserName>

Returns the user's full name ("Display Name" property in the Active Directory). If no username is specified, current user is assumed. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.
Example: Splash Welcome to Acme,[UserFullName]

UserHomeDir
UserHomeDir <UserName>

Returns the user's home directory. If no username is specified, current user is assumed. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.
Example: SyncDir [UserDocumentsDir],[UserHomeDir]\DocumentBackup

UserHomeDrive
UserHomeDrive <UserName>

Returns the user's home drive. If no username is specified, current user is assumed. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.
Example: ConnectShare [UserHomeDrive],[UserHomeDir]

UserInitials
UserInitials <UserName>

Returns the "Initials" property from the Active Directory of a user or an empty string if it is not set. If no username is specified, current user is assumed. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.

UserLanguage

The ISO 639-2 language code of the regional settings of the currently logged on user (e.g. ENG for English).

UserLastLogon
UserLastLogon <UserName>

Returns the date and time of the user's last logon date. If the user has never logged on, a blank string is returned. Optional username is the name of a user in the Active Directory. If no username is specified, current user is assumed. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.

UserLastName
UserLastName <UserName>

Returns the "Last Name" property from the Active Directory of a user or an empty string if it is not set. If no username is specified, current user is assumed. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.

UserListedName
UserListedName <UserName>

Returns the "Name" property from the Active Directory of a user or an empty string if it is not set. The difference between the UserName and UserListedName functions is that the UserName function returns the logon account name that is used as the key for scripting, whereas the UserListedName returns the display name in the Active Directory. These have the same values by default, but can be set to different values. If no username is specified, current user is assumed. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.
Example: Splash Welcome to ACME Corporation,[UserName]

UserLogonScript
UserLogonScript <UserName>

Returns the user's logon script. If no username is specified, current user is assumed. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.

UserName

Returns the name of the currently logged on user.
Example: Splash Welcome to ACME Corporation,[UserName]

UserOffice
UserOffice <UserName>

Returns the "Office" property from the Active Directory of a user or an empty string if it is not set. If no username is specified, current user is assumed. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.

UserPasswordExpiryDate
UserPasswordExpiryDate <UserName>

Returns the expiry date of the user's password. If the user does not have password expiration, a blank string is returned. Optional username is the name of a user in the Active Directory. If no username is specified, current user is assumed. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.

UserPasswordSetDate
UserPasswordSetDate <UserName>

Returns the date of the user's last password change. If the user has never changed the password, a blank string is returned. Optional username is the name of a user in the Active Directory. If no username is specified, current user is assumed. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.

UserPhoneNo
UserPhoneNo <UserName>

Returns the "Telephone number" property from the Active Directory of a user or an empty string if it is not set. Optional username is the name of a user in the Active Directory. If no username is specified, current user is assumed. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.

UserPrincipalName
UserPrincipalName <UserName>

Returns the principal name of the currently logged on user from Active Directory. If no username is specified, current user is assumed. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.

UserProfilePath
UserProfilePath <UserName>

Returns the user's roaming profile path, if any. If no username is specified, current user is assumed. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.

UserSID

Returns the SID of the currently logged on user.
Clipboard

Clipboard

Returns the text on the clipboard.
COM Automation

ObjectValue <SourceObject>.<Property>
ObjectValue <SourceObject>.<Method>(<ListOfParameters>)

Gets the value of a property or the result of a method on the source object. The value must be a of a primitive type (e.g. string or integer). The source object can be an object created with the CreateObject function (entering for instance CreateObject(Scripting.FileSystemObject) as SourceObject) or an object set with SetObject. Indefinite object nesting is supported to compact scripts, for example getting a third level object: <SourceObject>.<Method>(<Parameters>).<Property>. ListOfParameters simply means a dynamic number of parameters; there can be any number of parameters from none to an infinite number of parameters. Methods or properties that has dots in the name must be quoted. Refer to http://www.fasttrackscript.com/COM for more details on using COM with FastTrack Scripting Host.
Example: ShowMessage You have excel version [ObjectValue CreateObject(Excel.Application).Version]
Computer Name

ComputerFullName
ComputerFullName <Computer>

Returns the full dns name of the computer.

ComputerName

Returns the name of the executing computer.
Example: AppendFile \\MyServer\MyAdministrativeShare$\NetworkErrors.log,"[Date],[Time],[UserFullName],[LastError]"

ComputerSID

Returns the SID of the executing computer.
Date And Time

AddDays <Days>
AddDays <Days>, <DateTime>

Adds the number of days to the date and time. If date and time is not specified, current date and time is assumed. DateTime parameter can be date and time or just date or just time (assuming current date).
Example: If [FileCreationDate [Var File]]<[AddDays 2] Then DeleteFile [Var File]

AddHours <Hours>
AddHours <Hours>, <DateTime>

Adds the number of hours to the date and time. If date and time is not specified, current date and time is assumed. DateTime parameter can be date and time or just date or just time (assuming current date).

AddMinutes <Minutes>
AddMinutes <Minutes>, <DateTime>

Adds the number of minutes to the date and time. If date and time is not specified, current date and time is assumed. DateTime parameter can be date and time or just date or just time (assuming current date).

AddMonths <Months>
AddMonths <Months>, <DateTime>

Adds the number of months to the date and time. If date and time is not specified, current date and time is assumed. DateTime parameter can be date and time or just date or just time (assuming current date).
Example: If [FileCreationDate [Var File]]<[AddMonths 2] Then DeleteFile [Var File]

AddSeconds <Seconds>
AddSeconds <Seconds>, <DateTime>

Adds the number of seconds to the date and time. If date and time is not specified, current date and time is assumed. DateTime parameter can be date and time or just date or just time (assuming current date).

AddYears <Years>
AddYears <Years>, <DateTime>

Adds the number of years to the date and time. If date and time is not specified, current date and time is assumed. DateTime parameter can be date and time or just date or just time (assuming current date).
Example: If [FileCreationDate [Var File]]<[AddYears 2] Then DeleteFile [Var File]

Date

Returns current date.
Example: AppendFile \\MyServer\MyAdministrativeShare$\NetworkErrors.log,"[Date],[Time],[UserFullName],[LastError]"

DateOnly <DateTime>

Returns the date portion of the date and time. DateTime parameter can be date and time or just date or just time (assuming current date).

DateSerial
DateSerial <DateTime>

Returns the date as the serialized date. If no date is specified, current date and time is assumed. DateTime parameter can be date and time or just date or just time (assuming current date).

DateTime

Returns current date and time.

Day
Day <DateTime>

Returns current day of the month. If no date is specified, today is assumed. If no DateTime is specified, today is assumed. DateTime parameter can be date and time or just date or just time (assuming current date).

DayDiff <DateTime>
DayDiff <DateTime>, <DateTime>

Returns the amount of days between the two dates.

Hour
Hour <DateTime>

Returns current hour in two digits. If no DateTime is specified, now is assumed. DateTime parameter can be date and time or just time (assuming current date).

HourDiff <DateTime>
HourDiff <DateTime>, <DateTime>

Returns the amount of hours between the two dates and/or time. DateTime parameters can be date and time or just date or just time (assuming current date).

Minute
Minute <DateTime>

Returns current minute in two digits. If no DateTime is specified, now is assumed. DateTime parameter can be date and time or just time (assuming current date).

MinuteDiff <DateTime>
MinuteDiff <DateTime>, <DateTime>

Returns the amount of minutes between the two dates and/or time. DateTime parameters can be date and time or just date or just time (assuming current date).

Month
Month <DateTime>

Returns current month number. If no DateTime is specified, today is assumed. DateTime parameter can be date and time or just date or just time (assuming current date).

MonthName
MonthName <DateTime>

Returns the name of the current month in the regional format. If no DateTime is specified, today is assumed. DateTime parameter can be date and time or just date or just time (assuming current date).

Second
Second <DateTime>

Returns current second in two digits. If no DateTime is specified, now is assumed. DateTime parameter can be date and time or just time (assuming current date).

SecondDiff <DateTime>
SecondDiff <DateTime>, <DateTime>

Returns the amount of seconds between the two dates and/or time. DateTime parameters can be date and time or just date or just time (assuming current date).

SubtractDays <Days>
SubtractDays <Days>, <DateTime>

Subtracts the number of days to the date and time. If date and time is not specified, current date and time is assumed. DateTime parameter can be date and time or just date or just time (assuming current date).

SubtractHours <Hours>
SubtractHours <Hours>, <DateTime>

Subtracts the number of hours to the date and time. If date and time is not specified, current date and time is assumed. DateTime parameter can be date and time or just date or just time (assuming current date).

SubtractMinutes <Minutes>
SubtractMinutes <Minutes>, <DateTime>

Subtracts the number of minutes to the date and time. If date and time is not specified, current date and time is assumed. DateTime parameter can be date and time or just date or just time (assuming current date).

SubtractMonths <Months>
SubtractMonths <Months>, <DateTime>

Subtracts the number of months to the date and time. If date and time is not specified, current date and time is assumed. DateTime parameter can be date and time or just date or just time (assuming current date).

SubtractSeconds <Seconds>
SubtractSeconds <Seconds>, <DateTime>

Subtracts the number of seconds to the date and time. If date and time is not specified, current date and time is assumed. DateTime parameter can be date and time or just date or just time (assuming current date).

SubtractYears <Years>
SubtractYears <Years>, <DateTime>

Subtracts the number of years to the date and time. If date and time is not specified, current date and time is assumed. DateTime parameter can be date and time or just date or just time (assuming current date).

Time

Returns current time.
Example: AppendFile \\MyServer\MyAdministrativeShare$\NetworkErrors.log,"[Date],[Time],[UserFullName],[LastError]"

TimeOnly <DateTime>

Returns the time portion of the date and time. DateTime parameter can be date and time or just date.

WeekDay

Returns current week day's name.
Example: AppendFile \\MyServer\MyAdministrativeShare$\NetworkErrors.log,"[WeekDay] [Date],[Time],[UserFullName],[LastError]"

Year
Year <DateTime>

Returns current year. If no DateTime is specified, today is assumed. DateTime parameter can be date and time or just date or just time (assuming current date).
Directories

BrowseForFolder <Caption>

Asks the user to select a directory. A blank string is return, if user cancels.

CurrentDir

Returns the current directory.

DirCreationDate <Path>

Returns the creation date of a directory.

DirCreationTime <Path>

Returns the creation date and time of a directory.

DirCreationTimeSerial <Path>

Returns the serialized creation date and time of a directory for comparison.

DirFileCount <Path>

Returns the number of files in the directory and subdirectories.

DirLastAccessDate <Path>

Returns the last access date of a directory.

DirLastAccessTime <Path>

Returns the last access date and time of a directory.

DirLastAccessTimeSerial <Path>

Returns the serialized last access date and time of a directory for comparison.

DirLastWriteDate <Path>

Returns the last write date of a directory.

DirLastWriteTime <Path>

Returns the last write date and time of a directory.

DirLastWriteTimeSerial <Path>

Returns the serialized last write date and time of a directory for comparison.

DirPath <File>

Gets the directory part of a full file path.

DirSize <Path>

Returns the complete size of all files in the directory and subdirectories in bytes.

DirSizeGB <Path>

Returns the complete size of all files in the directory and subdirectories in gigabytes, rounded to nearest gigabyte.

DirSizeKB <Path>

Returns the complete size of all files in the directory and subdirectories in kilo bytes, rounded to nearest kilo byte.

DirSizeMB <Path>

Returns the complete size of all files in the directory and subdirectories in megabytes, rounded to nearest megabyte.

DirSubDirCount <Path>

Returns the number of total sub directories under the directory.
Directory Paths

AppDataDir

Returns the application data folder for all users.

CommonFilesDir

Returns the common files directory.

CommonFilesDirx86

Returns the common files directory for x86 (32-bit) applications on 64-bit operating systems. On a 32-bit operating system, the regular common files directory is returned.

DesktopDir

Returns the common desktop folder for all users.
Example: CopyFile [StartMenuDir]\Programs\Microsoft Office\Microsoft Office Word 2007.lnk, [DesktopDir]\Word 2007.lnk

DocumentsDir

Returns the common documents folder for all users.

FavoritesDir

Returns the common favorites folder for all users.

FontsDir

Returns the fonts path.

MusicDir

Returns the common music folder for all users.

PicturesDir

Returns the common pictures folder for all users.

ProgramFilesDir

Returns the program Files directory. On a 64-bit machine, the 64-bit program files directory is returned.

ProgramFilesDirx86

Returns the program Files directory for x86 (32-bit) applications on 64-bit operating systems. On a 32-bit operating system, the regular program files directory is returned.

ProgramsDir

Returns the common program icons folder for all users.
Example: CreateShortcut [ProgramsDir],Notepad,[WinDir]\Notepad.exe

StartMenuDir

Returns the common Start Menu folder for all users.
Example: CopyFile [StartMenuDir]\Programs\Microsoft Office\Microsoft Office Word 2007.lnk, [UserDesktopDir]\Word 2007.lnk

StartUpDir

Returns the common StartUp folder for all users.

SystemDir

Returns the system directory.
Example: CopyFile MyDll.dll,[SystemDir]\MyDll.dll

SystemDirx86

Returns the system directory for x86 (32-bit) applications on 64-bit operating systems. On a 32-bit operating system, the regular system directory is returned.
Example: CopyFile MyDll.dll,[SystemDirx86]\MyDll.dll

TempDir

Temp directory.
Example: If UserOnceAWeek Then DeleteDirPreserved [TempDir]

TempFile

Gets a unique temporary filename.
Example: SetVar TempFile,[TempFile]

TemplateDir

Returns the common template folder for all users.

UserAppDataDir

Returns the application data folder for current user.
Example: Splash Welcome to Rock America,[UserFullName],[UserAppDataDir]\FastTrack\Logo.png

UserCookiesDir

Returns the cookies folder for the current user.

UserDesktopDir

Returns the desktop folder for the current user.
Example: CopyFile [StartMenuDir]\Programs\Microsoft Office\Microsoft Office Word 2007.lnk, [UserDesktopDir]\Word 2007.lnk

UserDocumentsDir

Returns the documents folder for current user.
Example: SyncDir [UserDocumentsDir],[UserHomeDir]\DocumentsBackup

UserFavoritesDir

Returns the favorites folder for the current user.
Example: SyncDir [UserFavoritesDir],[UserHomeDir]\Backup\Favorites

UserHistoryDir

Returns the history folder for the current user.

UserInternetCacheDir

Returns the internet cache folder for the current user.
Example: If UserOnceAMonth Then DeleteDirPreserved [UserInternetCacheDir]

UserMusicDir

Returns the music folder for the current user.

UserPersonalDir

Returns the personal folder for the current user.

UserPicturesDir

Returns the pictures folder for the current user.

UserProfileDir

Returns the root of current user's profile.

UserProgramsDir

Returns the program icons folder for the current user.
Example: CreateShortcut [UserProgramsDir],Notepad,[WinDir]\Notepad.exe

UserRecentDir

Returns the recent files folder for the current user.

UserRoamingAppDataDir

Returns the application data folder when user is roaming. Returns a blank string for non-roaming users.

UserSendToDir

Returns the SendTo folder for the current user.

UserStartMenuDir

Returns the start Menu folder for the current user.

UserStartUpDir

Returns the startUp folder for the current user.

UserTemplateDir

Returns the template folder for the current user.

UserVideosDir

Returns the videos folder for the current user.

VideosDir

Returns the common videos folder for all users.

WinDir

Returns the windows directory.
Example: Launch [WinDir]\Notepad.Exe,MyTextFile.txt
Directory Sync

LastSyncChangedFileCount

Returns the number of new or changed files from the last SyncDir, SyncDirHidden, CopyDir or CopyDirHidden operation.

LastSyncChangedSize

Returns the total size in bytes of changed or new files from the last SyncDir, SyncDirHidden, CopyDir or CopyDirHidden operation.

LastSyncChangedSizeGB

Returns the total size in gigabytes of changed or new files from the last SyncDir, SyncDirHidden, CopyDir or CopyDirHidden operation.

LastSyncChangedSizeKB

Returns the total size in kilo bytes of changed or new files from the last SyncDir, SyncDirHidden, CopyDir or CopyDirHidden operation.

LastSyncChangedSizeMB

Returns the total size in megabytes of changed or new files from the last SyncDir, SyncDirHidden, CopyDir or CopyDirHidden operation.

LastSyncDirCount

Returns the number of directories from the last SyncDir, SyncDirHidden, CopyDir or CopyDirHidden operation.

LastSyncDuration

Returns the total time consumed from the last SyncDir, SyncDirHidden, CopyDir or CopyDirHidden operation in format HH:MM:SS.

LastSyncFileCount

Returns the number of files from the last SyncDir, SyncDirHidden, CopyDir or CopyDirHidden operation.

LastSyncNewDirCount

Returns the number of new directories from the last SyncDir, SyncDirHidden, CopyDir or CopyDirHidden operation.

LastSyncNewFileCount

Returns the number of new files from the last SyncDir, SyncDirHidden, CopyDir or CopyDirHidden operation. Changed files are not included, use LastSyncChangedFiles for this information.

LastSyncSize

Returns the total size in bytes of all files from the last SyncDir, SyncDirHidden, CopyDir or CopyDirHidden operation.

LastSyncSizeGB

Returns the total size in gigabytes of all files from the last SyncDir, SyncDirHidden, CopyDir or CopyDirHidden operation.

LastSyncSizeKB

Returns the total size in kilo bytes of all files from the last SyncDir, SyncDirHidden, CopyDir or CopyDirHidden operation.

LastSyncSizeMB

Returns the total size in megabytes of all files from the last SyncDir, SyncDirHidden, CopyDir or CopyDirHidden operation.
Encryption

EncryptPassword <Password>

Returns the password in encrypted form, which is the same as encrypting a password in the editor. Useful when asking the user for a password that must be used in encrypted format as input to another command.
Example: Set EncryptedPassword=[EncryptPassword [InputPassword Enter your logon password]]

Hash <String>
Hash <String>, <Algorithm>

Returns a hashed string based on the input string. The returned hashed string cannot be reverse engineered and is useful for storing local information like passwords. The password can then be verified later by hashing the password again and comparing the outputs. By default SHA1 is used for hashing. Algorithm can be MD5 (128 bit), SHA1 (160 bit), RIPEMD160 (160 bit), SHA256 (256 bit), SHA384 (384 bit) or SHA512 (512 bit). The output hash string is the hex representation of the returned bits.
Example: Set StoredPassword=[Hash [Var UserPassword]]
Environment Variables

Env <Name>

Returns the value of an environment variable, or an empty string, if it does not exist.
Execution

CmdParam <ParameterName>

Gets a command the line parameter value (specified with /P "ParameterName=Value"), returns blank if it is not specified.
Example: If [CmdParam Action]=Uninstall Then

LastError

Returns the last execution error, useful for logging in ErrorHandler.fsh.
Example: AppendFile \\MyServer\MyAdministrativeShare$\NetworkErrors.log,"[Date],[Time],[UserFullName],[LastError]"

LastExitCode

Returns the exit code from the run command.
Example: If [LastExitCode]=200 Then

Param <ParameterName>

Gets a parameter value for a custom function or custom command.
Example: If [CmdParam Action]=Uninstall Then
FastTrack Engine

FastTrackExe

Returns the full path including the executable name of the executing FastTrack engine.

FastTrackPath

Returns the path to the executing FastTrack engine.

FastTrackVersion

Returns the current FastTrack engine version.

FastTrackVersionMajor

Returns the major version (first digit) of the current FastTrack engine.

FastTrackVersionMinor

Returns the minor version (second digit) of the current FastTrack engine.
Files

BrowseForFile <Caption>

Asks the user to browse for a file. A blank string is return, if user cancels.

FileComment <File>

Gets the comment property of a file.

FileCompanyName <File>

Gets the company name property of a file.

FileContent <File>

Gets the content of a file. Useful for long messages with ShowMessage. The file content gets parsed for functions, so you can use a file as a template message with [FullUserName] and other functions.

FileCreationDate <File>

Returns the creation date of a file.

FileCreationTime <File>

Returns the creation date and time of a file.

FileCreationTimeSerial <File>

Returns the serialized creation date and time of a file for comparison.

FileDescription <File>

Gets the file description of a file.

FileExtension <File>

Gets the extension of a file.

FileLanguage <File>

Gets the language property of a file.

FileLastAccessDate <File>

Returns the last access date of a file.

FileLastAccessTime <File>

Returns the last access date and time of a file.

FileLastAccessTimeSerial <File>

Returns the serialized last access date and time of a file for comparison.

FileLastWriteDate <File>

Returns the last write date of a file.

FileLastWriteTime <File>

Returns the last write date and time of a file.

FileLastWriteTimeSerial <File>

Returns the serialized last write date and time of a file for comparison.

FileName <File>

Gets the filename part of a full file path.

FileNameCombine <Path>, <FileName>

Combines a path and a filename to the full path.

FileNameLong <File>

Gets the full file name from a 8.3 file name.

FileNameShort <File>

Gets the 8.3 version of the file name.

FileProductName <File>

Gets the product name property of the file.

FileProductVersion <File>

Gets the product version of a filename. The file and product versions are usually the same, but do not have to be. Normally the file version is considered the correct version to use. Product version is usually listed as "Product Version" on file properties. Build and revision numbers can be extracted by using the 'Digit' function.

FileProductVersionMajor <File>

Gets the major part of the file product version of a file (first digit of four in the version).

FileProductVersionMinor <File>

Gets the minor part of the file product version of a file (second digit of four in the version).

FileSize <File>

Returns the size of the file in bytes.

FileSizeGB <File>

Returns the size of the file in gigabytes, rounded to nearest gigabyte.

FileSizeKB <File>

Returns the size of the file in kilo bytes, rounded to nearest kilo byte.

FileSizeMB <File>

Returns the size of the file in megabytes, rounded to nearest megabyte.

FileVersion <File>

Gets the full 4 digit version of a filename.

FileVersionMajor <File>

Gets the major part of the file version of a file (first digit of four in the version).

FileVersionMinor <File>

Gets the minor part of the file version of a file (second digit of four in the version).

FullPath <FileOrDirectory>

Gets the full path from a relative path or filename.
Graphical User Interfaces

DoubleListMenu <HeaderText>, <LeftColumnHeaderText>, <RightColumnHeaderText>, <ListOfValues>

Shows a menu of choices in a list with two columns and returns the selection. For every two items in the list of values, the first value is the left side and the second is the right side. The left side is returned as the selected choice. If the selected choice must be different than the displayed text, split the value with |, where the variable name is before the split and the display text after the split. If cancelled, blank is returned. The window icon can be changed with the SetMenuHeaderIcon command. ListOfValues simply means a dynamic number of parameters/values; there can be any number of parameters from none to an infinite number of parameters.
Example: Set Choice=[DoubleListMenu Select Printers,Location,Printers,Plant Building 1. Floor,Printer01,Plant Building 2. Floor,Printer05 & Printer07,Reception,Printer09 & Printer11]

DoubleListMenuForced <HeaderText>, <LeftColumnHeaderText>, <RightColumnHeaderText>, <ListOfValues>

Shows a menu of choices in a list with two columns and returns the selection without offering an option to cancel. For every two items in the list of values, the first value is the left side and the second is the right side. The left side is returned as the selected choice. If the selected choice must be different than the displayed text, split the value with |, where the variable name is before the split and the display text after the split. The window icon can be changed with the SetMenuHeaderIcon command. ListOfValues simply means a dynamic number of parameters/values; there can be any number of parameters from none to an infinite number of parameters.
Example: Set Choice=[DoubleListMenuForced Select Printers,Location,Printers,Plant Building 1. Floor,Printer01,Plant Building 2. Floor,Printer05 & Printer07,Reception,Printer09 & Printer11]

Input <Question>
Input <Question>, <HeaderText>
Input <Question>, <HeaderText>, <IconName>
Input <Question>, <HeaderText>, <IconName>, <DefaultValue>

Asks the user to enter a string. The question must be quoted, if there is a comma. IconName refers to an internal icon name of icons listed in the "Icon Explorer" in the script editor. Further icons can added with the AddCustomIcon command. You also point directly to an image file preferably by in png format and the size must be 64x64 pixels or less.
Example: Set Username=[Input "Please enter your name"]

InputPassword <Question>
InputPassword <Question>, <HeaderText>
InputPassword <Question>, <HeaderText>, <IconName>

Asks the user to enter a password. The question must be quoted, if there is a comma. IconName refers to an internal icon name of icons listed in the "Icon Explorer" in the script editor. Further icons can added with the AddCustomIcon command. You also point directly to an image file preferably by in png format and the size must be 64x64 pixels or less.
Example: Set Password=[InputPassword "Please enter your password"]

ListMenu <HeaderText>, <ListOfValues>

Shows a list menu of choices and returns the selected value. If the returned value must be different than the displayed text, split the value with |, where the variable name is before the split and the display text after the split. If cancelled, blank is returned. The window icon can be changed with the SetMenuHeaderIcon command. ListOfValues simply means a dynamic number of parameters/values; there can be any number of parameters from none to an infinite number of parameters.
Example: Set Choice=[ListMenu Select Printer,Printer 1,Printer 2,Printer 3,Printer 4]

ListMenuForced <HeaderText>, <ListOfValues>

Shows a list menu of choices and returns the selected value without offering an option to cancel. If the returned value must be different than the displayed text, split the value with |, where the variable name is before the split and the display text after the split. The window icon can be changed with the SetMenuHeaderIcon command. ListOfValues simply means a dynamic number of parameters/values; there can be any number of parameters from none to an infinite number of parameters.
Example: Set Choice=[ListMenuWithoutCancel Select Printer,Printer 1,Printer 2,Printer 3,Printer 4]

Menu <HeaderText>, <ListOfValues>

Shows a menu with choices and returns the selected item. If cancelled, blank is returned. Values can start with "<IconName>|" for another icon than the default, see the icon explorer in the editor for names. Custom icons can added with the AddCustomIcon command. ListOfValues simply means a dynamic number of parameters/values; there can be any number of parameters from none to an infinite number of parameters.
Example: Set Choice=[Menu Toolbox,Network|Connect to VPN,Download|Surf the Internet,Recycle|Reconnect network drives]

MenuForced <HeaderText>, <ListOfValues>

Shows a menu with choices and returns the selected item. User is forced to select an item and cannot cancel. Values can start with "<IconName>|" for another icon than the default, see the icon explorer in the editor for names. Custom icons can added with the AddCustomIcon command. ListOfValues simply means a dynamic number of parameters/values; there can be any number of parameters from none to an infinite number of parameters.
Example: Set Choice=[MenuWithoutCancel Toolbox,Network|Connect to VPN,Download|Surf the Internet,Recycle|Reconnect network drives]
Hardware

ComputerType

Returns 'Portable' or 'Desktop'.
Example: WriteIni \\AcmeServer\AdminShare$\Inventory.ini,[ComputerName],Type,[ComputerType]

CPU

Vendor's description of the CPU.
Example: WriteIni \\AcmeServer\AdminShare$\Inventory.ini,[ComputerName],CPU,[Cpu]

CpuSpeed

CPU speed in MHz.
Example: WriteIni \\AcmeServer\AdminShare$\Inventory.ini,[ComputerName],CPUSpeed,[CpuSpeed]

DiskSize
DiskSize <Drive>:

Gets disksize in GB.
Example: WriteIni \\AcmeServer\AdminShare$\Inventory.ini,[ComputerName],Disk,[DiskSize]

DiskStatus :

Gets S.M.A.R.T. status of the primary drive. Possible values are "OK", "Error", "Degraded", "Unknown", "Pred Fail", "Starting", "Stopping", "Service", "Stressed", "NonRecover", "No Contact" or "Lost Comm".
Example: WriteIni \\AcmeServer\AdminShare$\Inventory.ini,[ComputerName],DiskStatus,[DiskStatus]

FreeDiskSpace
FreeDiskSpace <Drive>:

Gets free diskspace in GB. You can use this in loginscript to display a warning when below a certain threshold. Defaults to the root of the drive that Windows resides on, if no drive is specified.
Example: If [FreeDiskSpace]<5 Then ShowMessage "Please contact HelpDesk, you are running out of disk space"

Manufacturer

System manufacturer, e.g. 'HP', 'Lenovo' or 'Dell Inc'.
Example: If [Manufacturer]=Lenovo Then

Model

System model. Useful for detecting virtual machines.
Example: If [Model]=Virtual Machine Then LogoffForced

NoMonitors

Number of monitors.
Example: WriteIni \\AcmeServer\AdminShare$\Inventory.ini,[ComputerName],NoMonitors,[NoMonitors]

NoProcessors

Number of logical processors.
Example: WriteIni \\AcmeServer\AdminShare$\Inventory.ini,[ComputerName],NoProcessors,[NoProcessors]

SerialNo

Returns the serial number allocated by the hardware manufacturer to identify the hardware. On Dell computers, this is referred to as the service tag.
Example: WriteIni \\AcmeServer\AdminShare$\Inventory.ini,[ComputerName],SerialNo,[SerialNo]

TotalMemory

Total memory in megabytes.
Example: WriteIni \\AcmeServer\AdminShare$\Inventory.ini,[ComputerName],RAM,[TotalMemory]
Ini Files

IniValue <IniFile>, <Section>, <Key>

Gets the setting in an ini file. Returns a blank string if value or file is not found.
Installations - Internal

CurrentInstallName

Returns the application name in the current script context from RegisterInstallation or UnregisterInstallation, useful for PostInstall.fsh and PostUninstall.fsh.
Example: AppendFile \\MyServer\MyAdministrativeShare$\Install.log,"[Date],[Time],[ComputerName],[CurrentInstallName] v[CurrentInstallVersion]"

CurrentInstallVersion

Returns the application name version in the current script context from RegisterInstallation, useful for PostInstall.fsh.
Example: AppendFile \\MyServer\MyAdministrativeShare$\Install.log,"[Date],[Time],[ComputerName],[CurrentInstallName] v[CurrentInstallVersion]"

InstallationBuild <ApplicationName>

Returns the build number of an installed application (registered with RegisterInstallation). If it is not installed, an empty string is returned.

InstallationInstalledDate <ApplicationName>

Returns the install date in the local machine date format of an installed application (registered with RegisterInstallation with version 6.5 or later). If it is not installed, an empty string is returned.

InstallationVersion <ApplicationName>

Returns the version of an installed application (registered with RegisterInstallation). If it is not installed, an empty string is returned.

InstallationVersionMajor <ApplicationName>

Returns the major part (first digit) of the version of an installed application (registered with RegisterInstallation). If it is not installed, an empty string is returned.

InstallationVersionMinor <ApplicationName>

Returns the minor part (second digit) of the version of an installed application (registered with RegisterInstallation). If it is not installed or the minor part is missing, an empty string is returned.
Installations - Windows

ProgramInstallDate <ProgramName>

Returns the installation date of a program listed in Windows installed programs list. In many cases this information is missing. In case it is missing or the program is not installed, an empty string is returned. Program names can be found in the installed programs list in the control panel or on your FastTrack Inventory website, if you use inventory. You can specify the-most left part, but the full name must be preferred. Some programs like Adobe Reader postfixes the version number in the application name, in which case, this can easily be factored out using "Adobe Reader" as program name. However using for example "Microsoft Office" instead of the full program name to detect an office installation is not a good idea, because you can get a positive unintentional hit on "Microsoft Office Outlook Connector" for example. As a general rule of thumb, use the longest possible left-most part.

ProgramPublisher <ProgramName>

Returns the publisher of a program listed in Windows installed programs list. In many cases this information is missing. In case it is missing or the program is not installed, an empty string is returned. Program names can be found in the installed programs list in the control panel or on your FastTrack Inventory website, if you use inventory. You can specify the-most left part, but the full name must be preferred. Some programs like Adobe Reader postfixes the version number in the application name, in which case, this can easily be factored out using "Adobe Reader" as program name. However using for example "Microsoft Office" instead of the full program name to detect an office installation is not a good idea, because you can get a positive unintentional hit on "Microsoft Office Outlook Connector" for example. As a general rule of thumb, use the longest possible left-most part.

ProgramSize <ProgramName>

Returns the size of a program listed in Windows installed programs list in megabytes. In many cases this information is missing. In case it is missing or the program is not installed, an empty string is returned. Program names can be found in the installed programs list in the control panel or on your FastTrack Inventory website, if you use inventory. You can specify the-most left part, but the full name must be preferred. Some programs like Adobe Reader postfixes the version number in the application name, in which case, this can easily be factored out using "Adobe Reader" as program name. However using for example "Microsoft Office" instead of the full program name to detect an office installation is not a good idea, because you can get a positive unintentional hit on "Microsoft Office Outlook Connector" for example. As a general rule of thumb, use the longest possible left-most part.

ProgramVersion <ProgramName>

Returns the version of a program listed in Windows installed programs list. In many cases this information is missing. In case it is missing or the program is not installed, an empty string is returned. Program names can be found in the installed programs list in the control panel or on your FastTrack Inventory website, if you use inventory. You can specify the-most left part, but the full name must be preferred. Some programs like Adobe Reader postfixes the version number in the application name, in which case, this can easily be factored out using "Adobe Reader" as program name. However using for example "Microsoft Office" instead of the full program name to detect an office installation is not a good idea, because you can get a positive unintentional hit on "Microsoft Office Outlook Connector" for example. As a general rule of thumb, use the longest possible left-most part. Build and revision numbers can be extracted by using the 'Digit' function.

ProgramVersionMajor <ProgramName>

Returns the major part (first digit) of the version of a program listed in Windows installed programs list. In case it is missing or the program is not installed, an empty string is returned. Program names can be found in the installed programs list in the control panel or on your FastTrack Inventory website, if you use inventory. You can specify the-most left part, but the full name must be preferred. Some programs like Adobe Reader postfixes the version number in the application name, in which case, this can easily be factored out using "Adobe Reader" as program name. However using for example "Microsoft Office" instead of the full program name to detect an office installation is not a good idea, because you can get a positive unintentional hit on "Microsoft Office Outlook Connector" for example. As a general rule of thumb, use the longest possible left-most part.

ProgramVersionMinor <ProgramName>

Returns the minor part (second digit) of the version of a program listed in Windows installed programs list. In case it is missing or the program is not installed, an empty string is returned. Program names can be found in the installed programs list in the control panel or on your FastTrack Inventory website, if you use inventory. You can specify the-most left part, but the full name must be preferred. Some programs like Adobe Reader postfixes the version number in the application name, in which case, this can easily be factored out using "Adobe Reader" as program name. However using for example "Microsoft Office" instead of the full program name to detect an office installation is not a good idea, because you can get a positive unintentional hit on "Microsoft Office Outlook Connector" for example. As a general rule of thumb, use the longest possible left-most part.
Local Groups

LocalAdminsGroup

Returns the name of the local administrators group.
Example: AddDirPermissions [ProgramFilesDir]\Acme,[LocalAdminsGroup]:Full Control

LocalGroupDescription <GroupName>
LocalGroupDescription <GroupName>, <RemoteComputerName>

Returns the description of a local group.

LocalPowerUsersGroup

Returns the name of the local power users group.
Example: AddDirPermissions [ProgramFilesDir]\Acme,[LocalPowerUsersGroup]:Change

LocalUsersGroup

Returns the name of the local users group.
Example: AddDirPermissions [ProgramFilesDir]\Acme,[LocalUsersGroup]:Change
Local Users

LocalEveryoneAccount

Returns the name of the local everyone account.
Example: AddDirPermissions [ProgramFilesDir]\Acme,[LocalEveryoneAccount]:Change

LocalNetworkServiceAccount

Returns the name of the local network service account.
Example: AddDirPermissions [ProgramFilesDir]\Acme,[LocalNetworkServiceAccount]:Change

LocalServiceAccount

Returns the name of the local service account.
Example: AddDirPermissions [ProgramFilesDir]\Acme,[LocalServiceAccount]:Change

LocalSystemAccount

Returns the name of the local system account.
Example: AddDirPermissions [ProgramFilesDir]\Acme,[LocalSystemAccount]:Change

LocalUserDescription
LocalUserDescription <Username>
LocalUserDescription <Username>, <RemoteComputerName>

Returns the description of a local user. If no user is specified, locally logged on user is assumed.

LocalUserFullName
LocalUserFullName <Username>
LocalUserFullName <Username>, <RemoteComputerName>

Returns the full name of a local user. If no user is specified, locally logged on user is assumed.
Example: Splash Performing backup for,[LocalUserFullName]

LocalUserHomeDir
LocalUserHomeDir <Username>
LocalUserHomeDir <Username>, <RemoteComputerName>

Returns the home path of a local user. If no user is specified, locally logged on user is assumed.

LocalUserHomeDrive
LocalUserHomeDrive <Username>
LocalUserHomeDrive <Username>, <RemoteComputerName>

Returns the home drive of a local user. If no user is specified, locally logged on user is assumed.

LocalUserLastLogon
LocalUserLastLogon <UserName>
LocalUserLastLogon <UserName>, <RemoteComputerName>

Returns the date and time of the user's last logon date. If the user has never logged on, a blank string is returned. Optional username is the name of a user in the Active Directory. If no username is specified, current user is assumed. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.

LocalUserLogonScript
LocalUserLogonScript <Username>
LocalUserLogonScript <Username>, <RemoteComputerName>

Returns the logon script path of a local user. If no user is specified, locally logged on user is assumed.

LocalUserName

Returns the name of the currently logged on user. Will return the same result as the function UserName.
Example: Splash Performing backup for,[LocalUserName]

LocalUserProfilePath
LocalUserProfilePath <Username>
LocalUserProfilePath <Username>, <RemoteComputerName>

Returns the profile path of a local user. If no user is specified, locally logged on user is assumed.
Math

Calc <Expression>

Calculates the result of a mathematical expression, returning the result with decimals. Expression can contain parenthesis, common operators (+ - / * ^), arithmetic operators (% (Mod) || (Or) && (And) ! (Not)) and comparison operators (< > == != <= =>).
Example: Sleep [Calc 60*60]

CalcRounded <Expression>

Calculates the result of a mathematical expression, returning a result rounded to nearest number without digits. Expression can contain parenthesis, common operators (+ - / * ^), arithmetic operators (% (Mod) || (Or) && (And) ! (Not)) and comparison operators (< > == != <= =>).

Round <Number>, <Digits>

Rounds the number to the defined number of digits.
Network

AdapterManufacturer
AdapterManufacturer <ConnectionName>

Returns the manufacturer of a network adapter. If no adapter is specified, the fastest network adapter is used.

AdapterName
AdapterName <ConnectionName>

Returns the name of a network adapter. If no adapter is specified, the fastest network adapter is used.

ComputerDomain
ComputerDomain <Computer>

Returns the domain of the computer. If the computer is not in a domain, a blank string is returned.

IP6Address
IP6Address <HostOrConnectionName>

Returns the IP v6 address of the executing computer, unless Host or ConnectionName is specified. Host can be a hostname or an IP address. ConnectionName is the name of a connection in the Control Panel, for example "Local Area Connection". If the host has multiple IP6 addresses, the first obtained IP6 address is returned and if the host has no IP v6 addresses, the loopback address 0:0:0:0:0:0:0:1 is returned.

IPAddress
IPAddress <HostOrConnectionName>

Returns the IP v4 address of the executing computer, unless Host or ConnectionName is specified. Host can be a hostname or an IP address. ConnectionName is the name of a connection in the Control Panel, for example "Local Area Connection". If the host has multiple IP addresses, the first obtained IP is returned and if the host has no IP addresses, the loopback address 127.0.0.1 is returned.

IPAddressPart <Index>
IPAddressPart <Index>, <HostOrConnectionName>

Returns the specified first number of digits in the ip v4 address, for instance the 'IPAddressPart 2' of 127.0.0.1 is 127.0. Useful for indexing xml files for a specific location. Host can be a hostname or an IP address. ConnectionName is the name of a connection in the Control Panel, for example "Local Area Connection".
Example: If [IPAddressPart 2]=127.0 Then

LogonServer

Returns the current logon server of the executing computer.
Example: If [LogonServer]=AcmeSrv01 Then

MacAddress
MacAddress <ConnectionName>

Gets the MAC address of a network adapter. If no adapter is specified, the MAC address of the fastest network adapter is returned.

NetworkSpeed
NetworkSpeed <ConnectionName>

Get the speed in mbit of the fastest network adapter. If no adapter is specified, the speed of the fastest network adapter is returned.
Online Services

HardwareInventoryXML
HardwareInventoryXML <ListOfCustomValues>

Returns an inventory xml file of the most important hardware inventory information. The output can be used to perform simple inventory logging from clients. The xml output can be processed with for instance Excel and the format is subject to future changes. Any parameters are added as custom data. ListOfCustomValues simply means a dynamic number of parameters/values; there can be any number of parameters from none to an infinite number of parameters.
Example: WriteFile \\AcmeServer\AdminLogs$\Inventory\Hardware\[ComputerName].xml,[HardwareInventoryXML]

InventoryXML
InventoryXML <ListOfCustomValues>

Returns an inventory xml file of the most important software and hardware inventory information. The output can be used to perform simple inventory logging from clients. The xml output can be processed with for instance Excel and the format is subject to future changes. Any parameters are added as custom data. ListOfCustomValues simply means a dynamic number of parameters/values; there can be any number of parameters from none to an infinite number of parameters.
Example: WriteFile \\AcmeServer\AdminLogs$\Inventory\[ComputerName].xml,[InventoryXML]

SoftwareInventoryXML
SoftwareInventoryXML <ListOfCustomValues>

Returns an inventory xml file of installed software. The output can be used to perform simple inventory logging from clients. The xml output can be processed with for instance Excel and the format is subject to future changes. ListOfCustomValues simply means a dynamic number of parameters/values; there can be any number of parameters from none to an infinite number of parameters.
Example: WriteFile \\AcmeServer\AdminLogs$\Inventory\Software\[ComputerName].xml,[SoftwareInventoryXML]
Operating System

BootMode

Boot mode.

BootTime

Returns the date and time of the last boot.

OperatingSystem

Returns the friendly name of the operating system like 'Windows 7'.

OperatingSystemBits

Returns the number of bits like '64-bit'.

OperatingSystemFullVersion

Returns full name of the Operating System.

OperatingSystemLanguage

Returns the ISO 639-2 language code of the operating system (e.g. ENG for English).

OperatingSystemServicePack

Returns Operating System Service Pack.

OperatingSystemVersion

Returns Operating System version.

OperatingSystemVersionMajor

Returns the major part (first digit) of the Operating System version.

OperatingSystemVersionMinor

Returns the minor part (second digit) of the Operating System version.

WindowsInstallDate

Returns the date the operating system was installed. Useful as indication of the age of the computer.
Printers

DefaultPrinter

Gets the name of the current default printer.
Registry

RegistryValue <RegistryValue>
RegistryValue <RegistryValue>, <DefaultValue>

Returns the value of the given registry value or blank if it does not exist. HKey_Local_Machine, HKey_Current_User and HKey_Classes_Root can be abbreviated to HKLM, HKCU and HKCR.
Example: If Not [RegistryValue HKCU\Control Panel\Desktop\WallPaper]=[WinDir]\Acme.png Then ShowMessage You are not allowed to overrule the corporate wallpaper!

RegistryValuex86 <RegistryValue>
RegistryValuex86 <RegistryValue>, <DefaultValue>

Returns the value of the given registry value or blank if it does not exist. Value is read from the redirected registry for 32-bit applications on a 64-bit operating system. Works the same as RegistryValue on a 32-bit operating system and for non-redirected keys. HKey_Local_Machine, HKey_Current_User and HKey_Classes_Root can be abbreviated to HKLM, HKCU and HKCR.
Screen

PrimaryScreenIndex

Returns index number of primary screen.

ScreenDepth
ScreenDepth <ScreenIndex>

Returns number of bits per pixel. If ScreenIndex is omitted, the primary screen will be used. Observe that your primary screen is not necessarily the first screen. You can get the screen index of the primary screen with the PrimaryScreenIndex function. To loop through all screens, use a construct like 'For ScreenIndex = 1 to [NoMonitors]'.
Example: If [ScreenDepth]<16 Then SetScreenRes [ScreenWidth],[ScreenHeight],32

ScreenDevice
ScreenDevice <ScreenIndex>

Returns the screen device name. If ScreenIndex is omitted, the primary screen will be used. Observe that your primary screen is not necessarily the first screen. You can get the screen index of the primary screen with the PrimaryScreenIndex function. To loop through all screens, use a construct like 'For ScreenIndex = 1 to [NoMonitors]'.

ScreenHeight
ScreenHeight <ScreenIndex>

Returns screen height in pixels. If ScreenIndex is omitted, the primary screen will be used. Observe that your primary screen is not necessarily the first screen. You can get the screen index of the primary screen with the PrimaryScreenIndex function. To loop through all screens, use a construct like 'For ScreenIndex = 1 to [NoMonitors]'.
Example: If [ScreenHeight]<768 Then SetScreenRes 1366,768

ScreenMaxDepth
ScreenMaxDepth <ScreenIndex>

Returns maximum number of bits per pixel. If ScreenIndex is omitted, the primary screen will be used. Observe that your primary screen is not necessarily the first screen. You can get the screen index of the primary screen with the PrimaryScreenIndex function. To loop through all screens, use a construct like 'For ScreenIndex = 1 to [NoMonitors]'.
Example: If [ScreenDepth]<[ScreenMaxDepth] Then SetScreenRes [ScreenMaxWidth],[ScreenMaxHeight],[ScreenMaxDepth]

ScreenMaxHeight
ScreenMaxHeight <ScreenIndex>

Returns maximum screen height in pixels. If ScreenIndex is omitted, the primary screen will be used. Observe that your primary screen is not necessarily the first screen. You can get the screen index of the primary screen with the PrimaryScreenIndex function. To loop through all screens, use a construct like 'For ScreenIndex = 1 to [NoMonitors]'.
Example: If [ScreenHeight]<[ScreenMaxHeight] Then SetScreenRes [ScreenMaxWidth],[ScreenMaxHeight]

ScreenMaxRefreshRate
ScreenMaxRefreshRate <ScreenIndex>

Returns the maximum screen refresh rate in mhz. If ScreenIndex is omitted, the primary screen will be used. Observe that your primary screen is not necessarily the first screen. You can get the screen index of the primary screen with the PrimaryScreenIndex function. To loop through all screens, use a construct like 'For ScreenIndex = 1 to [NoMonitors]'.

ScreenMaxWidth
ScreenMaxWidth <ScreenIndex>

Returns the maximum screen resolution width in pixels. If ScreenIndex is omitted, the primary screen will be used. Observe that your primary screen is not necessarily the first screen. You can get the screen index of the primary screen with the PrimaryScreenIndex function. To loop through all screens, use a construct like 'For ScreenIndex = 1 to [NoMonitors]'.
Example: If [ScreenWidth]<[ScreenMaxWidth] Then SetScreenRes [ScreenMaxWidth],[ScreenMaxHeight]

ScreenRefreshRate
ScreenRefreshRate <ScreenIndex>

Returns the screen refresh rate in mhz. If ScreenIndex is omitted, the primary screen will be used. Observe that your primary screen is not necessarily the first screen. You can get the screen index of the primary screen with the PrimaryScreenIndex function. To loop through all screens, use a construct like 'For ScreenIndex = 1 to [NoMonitors]'.

ScreenWidth
ScreenWidth <ScreenIndex>

Returns number screen width in pixels. If ScreenIndex is omitted, the primary screen will be used. Observe that your primary screen is not necessarily the first screen. You can get the screen index of the primary screen with the PrimaryScreenIndex function. To loop through all screens, use a construct like 'For ScreenIndex = 1 to [NoMonitors]'.
Example: If [ScreenWidth]<1366 Then SetScreenRes 1366,768
Shortcuts

ShortcutTarget <File>

Returns the target path of a shortcut.

ShortcutWorkingDir <File>

Returns the working directory of a shortcut.
SQL Server

SQLDate
SQLDate <Date>

Returns current date in SQL Server format. If no date is specified, today is assumed.

SQLDateTime
SQLDateTime <DateTime>

Returns current date and time in SQL Server format. If no date and time is specified, now is assumed.

SQLQuery <SQL Statement>, <Server>
SQLQuery <SQL Statement>, <Server>, <DefaultDatabase>
SQLQuery <SQL Statement>, <Server>, <UserName>, <EncryptedPassword>
SQLQuery <SQL Statement>, <Server>, <DefaultDatabase>, <UserName>, <EncryptedPassword>

Executes an SQL query against a SQL Server database, returning the value of the first field. If no records are returned from the SQL Server, a blank string is return from SQLQuery. Query should explicitly return one field, otherwise the first one is used. Your SQL statement must be quoted, as it will most likely contain commas. Also remember that when you construct your SQL statements, values must be in apostrophes (') according to the T-SQL language; for example "SELECT LogonTime FROM Logons WHERE UserName='[UserName]' ORDER BY LogonTime Desc". Password must be encrypted in the editor using Tools->Encrypt Password or using the EncryptPassword function or using the EncryptPassword function.
Example: Set LastLogon=[SQLQuery "SELECT LogonTime FROM Logons WHERE UserName='[UserName]' ORDER BY LogonTime Desc",AcmeServer\SQL,LogonAudit]

SQLTime
SQLTime <Time>

Returns current time in SQL Server format. If no time is specified, now is assumed.
Stopwatch

StopwatchTime

Returns the current time on the stopwatch in format HH:MM:SS. Useful for output of a time measure on operations.
Strings

AsciiCode <Char>

Returns the ascii code of a character.

Blank

Returns an empty string for readability. For condition test, the Empty condition can be used.
Example: Set MyVar=[Blank]

Char <Value>

Returns the character of the specified value. Can be used to encode [ and ], like [Char 91] and [Char 93].

CreateGUID

Generates a Global Unique Identifier (GUID).
Example: Set MyNewGuid=[CreateGUID]

IndexOf <String>, <SearchString>
IndexOf <String>, <SearchString>, <StartPosition>

Gets the position of the searchstring inside the string; can be used to for instance mask ip addresses. Index is zero based, no match will result in 0. To test if the searchstring is inside the string at all, the condition Contains can be used instead of comparing to 0.
Example: Set Position = [IndexOf [Var MyVar],FindMe]

LastIndexOf <String>, <SearchString>
LastIndexOf <String>, <SearchString>, <StartPosition>

Gets the last position of the searchstring inside the string; can be used to for instance mask ip addresses. Index is zero based, no match will result in 0.
Example: If [LastIndexOf [Var MyVar],FindMe]>0 Then

Left <String>, <Count>

Returns the leftmost "Count" number of chars from the string.
Example: if [Left [IPAddress],7]=192.168 Then

Length <String>

Gets the length of a string.
Example: If [Length [Var MyVar]]>0 Then

LowerCase <String>

Returns the string in lower case.
Example: Set MyVar=[LowerCase [Var MyVar]]

Mid <String>, <Start>
Mid <String>, <Start>, <End>

Gets a middle part of a string. Not specifying end will return the rest of the string.

PadLeft <String>, <Char>, <Length>

Performs a left padding of the string to the length specified. If the string is shorter than Length, than it will be left padded with the specified char.
Example: Set ComputerName=ACME[PadLeft [Var Sequence],0,4]

PadRight <String>, <Char>, <Length>

Performs a right padding of the string to the length specified. If the string is shorter than Length, then it will be right padded with the specified char.

PrettyPrint <String>

Corrects case of a string and returns the result. First letter in every sentence is made upper case, everything else lower case.

PrettyPrintUpper <String>

Corrects case of a string and returns the result. Every first letter is made upper case, everything else lower case.

Random <MaxNumber>

Returns a random number between 0 and the MaxNumber parameter. Useful in logon scripts to randomize when large installations happen to avoid network congestion.
Example: If [Random 10]=0 Then

Replace <String>, <SearchString>, <ReplaceString>

Replaces 'SearchString' with 'ReplaceString' in the given string, returning the result.
Example: Set MyVar=[Replace [Var MyVar],Foo,Bar]

Return

Replaced by a carriage return.
Example: ShowMessage Installation complete.[Return][Return]Press OK to continue

Right <String>, <Count>

Gets up to the rightmost "Count" chars of the string.

SplitElement <String>, <Position>
SplitElement <String>, <Position>, <Splitter>
SplitElement <String>, <Position>, <Splitter1>, <Splitter2>

Returns the 'Position' element of an array. The string is by default split with both comma and dot. If the position is larger than the number of elements, an empty string is returned. Use the 'SplitSize' function to detect the number of digits. The example returns the build number of notepad.exe.
Example: Set Revision = [SplitElement [FileProductVersion [WinDir]\Notepad.exe],3]

SplitSize <String>
SplitSize <String>, <Splitter>
SplitSize <String>, <Splitter1>, <Splitter2>

Returns the number of elements in a string. The string is by default split with both comma and dot.

Tab

Replaced by a tab.

Trim <String>

Trims the string of leading and trailing white spaces.

UpperCase <String>

Returns the string in upper case.
Example: Set MyVar=[UpperCase [Var MyVar]]
Terminal Services

TSApplication

The name of the published application (blank if not available).

TSClientIP

The ip address of the client running terminal services, which can be used to detect the clients location (blank if not available).

TSClientIPPart <1-4>

Returns the specified first number of digits in the ip address of the client running terminal services (blank if not available).

TSClientName

The name of the client running terminal services (blank if not available).
Variables

Var <VariableName>
Var <VariableName>, <DefaultValue>

Returns the value of the specified variable. If default value is specified, it is returned, if the variable value is empty. If the variable does not exist, an error will be thrown.
Example: AppendFile \\MyServer\MyAdministrativeShare$\NetworkErrors.log,"[Date],[Time],[UserFullName],[Var MyLogText]"
Web

HtmlDecode <String>

Returns the string html decoded.

HtmlEncode <String>

Returns the string html encoded.

HttpRequest <Url>
HttpRequest <Url>, <FormData>
HttpRequest <Url>, <UserName>, <EncryptedPassword>
HttpRequest <Url>, <FormData>, <UserName>, <EncryptedPassword>

Makes a http request returning the content returned from the http request. Use the command SendHttpData, if the returned data are not needed. FormData is optional POST (form) data for the request in url format like param1=value1&param2=value2. If optional password is used, it must be encrypted in the editor using Tools->Encrypt Password.

UrlDecode <String>

Returns the string url decoded.

UrlEncode <String>

Returns the string url encoded.
WMI

WMIQuery <Query statement>

Executes a WMI query. Query must explicitly return one attribute. See documentation for COM Automation for advanced use of WMI objects.
Example: Set DiskModel=[WMIQuery SELECT Model FROM Win32_DiskDrive]
XML

XMLAttribute <File>, <XmlPath>, <Attribute>
XMLAttribute <File>, <XmlPath>, <Attribute>, <DefaultValue>

Gets the attribute of the value of the first xml node that fits the path or blank if file or value does not exist.

XmlDecode <String>

Returns the string xml decoded.

XmlEncode <String>

Returns the string xml encoded (for instance & is replaced by &amp;).

XMLPairAttribute <File>, <XmlPath>, <PairKey>, <PairValue>, <Attribute>
XMLPairAttribute <File>, <XmlPath>, <PairKey>, <PairValue>, <Attribute>, <DefaultValue>

Gets the first xml node attribute that fits the path and has an attribute that fits the pairs key and value. Returns a blank string if file or attribute is not found.

XMLValue <File>, <XmlPath>
XMLValue <File>, <XmlPath>, <DefaultValue>

Gets the value of the first xml node that fits the path or blank if file or value does not exist.
Example: Set MsdnIEPath=[XMLValue [UserAppDataDir]\Microsoft\MSDN\9.0\Browsers.xml,BrowserInfo/Browser/Path]