Functions

This page shows available functions in the FastTrack language. Refer to the Getting Started Guide for more information.

Functions syntax

Functions Reference
Active Directory - Computers - Groups

ComputerPrimaryGroup
ComputerPrimaryGroup <UserName>

Returns the name of the computer's primary group. If the computer does not have one, 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 - 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. Use the LocalComputerDescription function to get the description from the local computer. 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>.

LocalComputerDescription

Returns the local description of the executing computer. Use the ComputerDescription function to get the description of the computer from Active Directory.
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 <GroupName>

Returns the distinguished name of the group.
Active Directory - Organizational Units - Computers

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.
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.
Example: If [ComputerLastOU]=Acme Sales Denver Then ConnectShare J:,\\AcmeServer\SalesDenver
Active Directory - Organizational Units - Groups

GroupFirstOU <GroupName>

Returns the top-most OU name in the OU tree, of which the group is a member of in the Active Directory.

GroupLastOU <GroupName>

Returns the bottom-most OU name in the OU tree, of which the group is a member of in the Active Directory.
Active Directory - Organizational Units - Users

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.
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.
Example: If [UserLastOU]=Acme Sales Denver Then ConnectShare J:,\\AcmeServer\SalesDenver
Active Directory - Organizational Units

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. The domain is, by default, the domain of the logged-on user. To specify another domain, use: <Domain>\<OUName>. An OU can be located by either its name (if unique), distinguished name or a special FastTrack slash notation. If the name of an OU is unique, simply use the name and it will automatically be found. If the name might be ambiguous, a slash notation from the root can be used instead of full distinguished name. For example an OU "Sales" under a root OU "America" would have a distinguished name of for example OU=Sales,OU=America,DC=ACME,DC=COM. Simply use America/Sales for simpler syntax instead. If the OU actually contains a slash, use double slash to escape.
Example: If [OUCustomProperty Acme Sales Global,managedBy]="[UserDistinguishedName]" Then

OUDistinguishedName <OUName>

Returns the distinguished name of the Organizational Unit. The domain is, by default, the domain of the logged-on user. To specify another domain, use: <Domain>\<OUName>. An OU can be located by either its name (if unique), distinguished name or a special FastTrack slash notation. If the name of an OU is unique, simply use the name and it will automatically be found. If the name might be ambiguous, a slash notation from the root can be used instead of full distinguished name. For example an OU "Sales" under a root OU "America" would have a distinguished name of for example OU=Sales,OU=America,DC=ACME,DC=COM. Simply use America/Sales for simpler syntax instead. If the OU actually contains a slash, use double slash to escape.

OUFirstOU <OUName>

Returns the top-most OU name in the OU tree, of where the Organizational Unit is located in the Active Directory.The domain is, by default, the domain of the logged-on user. To specify another domain, use: <Domain>\<OUName>. An OU can be located by either its name (if unique), distinguished name or a special FastTrack slash notation. If the name of an OU is unique, simply use the name and it will automatically be found. If the name might be ambiguous, a slash notation from the root can be used instead of full distinguished name. For example an OU "Sales" under a root OU "America" would have a distinguished name of for example OU=Sales,OU=America,DC=ACME,DC=COM. Simply use America/Sales for simpler syntax instead. If the OU actually contains a slash, use double slash to escape.

OUParentOU <GroupName>

Returns the parent OU name in the OU tree, of where the Organizational Unit is located in the Active Directory. The domain is, by default, the domain of the logged-on user. To specify another domain, use: <Domain>\<OUName>. An OU can be located by either its name (if unique), distinguished name or a special FastTrack slash notation. If the name of an OU is unique, simply use the name and it will automatically be found. If the name might be ambiguous, a slash notation from the root can be used instead of full distinguished name. For example an OU "Sales" under a root OU "America" would have a distinguished name of for example OU=Sales,OU=America,DC=ACME,DC=COM. Simply use America/Sales for simpler syntax instead. If the OU actually contains a slash, use double slash to escape.
Active Directory - Users - Groups

UserPrimaryGroup
UserPrimaryGroup <UserName>

Returns the name of the user's primary group. If the user does not have one, 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>.
Active Directory - Users - Password

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

UserPasswordExpiryTime
UserPasswordExpiryTime <UserName>

Returns the expiry date and time 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>.
Active Directory - Users - Properties

UserAssistantPhoneNo
UserAssistantPhoneNo <UserName>

Returns the assistant's telephone number 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>.

UserCity
UserCity <UserName>

Returns the "City" 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>.

UserCommonName
UserCommonName <UserName>

Returns the common name of a user ("cn" 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,[UserCommonName]

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

UserCountry
UserCountry <UserName>

Returns the "Country" 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, for example from schema extensions. 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 managedBy,AcmeUser]="[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>.

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

UserExchangeCustomAttribute <Number>
UserExchangeCustomAttribute <Number>, <UserName>

Returns the value of an Exchange Custom Attribute (also known as Extension Attributes) from the Active Directory of a user or an empty string if it is not set. Number must be between 1 and 15. 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>.

UserFaxNo
UserFaxNo <UserName>

Returns the "Fax" property of the phone number tab 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>.

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

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]

UserHomePhoneNo
UserHomePhoneNo <UserName>

Returns the "Home" property of the phone number tab 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>.

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

UserIPPhoneNo
UserIPPhoneNo <UserName>

Returns the "IP phone" property of the phone number tab 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>.

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

UserManager
UserManager <UserName>

Returns the account name of the "Manager" 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>.

UserMobileNo
UserMobileNo <UserName>

Returns the "Mobile" property of the phone number tab 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>.

UserNotes
UserNotes <UserName>

Returns the "Notes" 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>.

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

UserPagerNo
UserPagerNo <UserName>

Returns the "Pager" property of the phone number tab 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>.

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

UserPOBox
UserPOBox <UserName>

Returns the "P.O. Box" 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>.

UserState
UserState <UserName>

Returns the "State" 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>.

UserStreet
UserStreet <UserName>

Returns the "Street" 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>.

UserTitle
UserTitle <UserName>

Returns the "Job Title" 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>.

UserWebPage
UserWebPage <UserName>

Returns the "Web page" 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>.

UserZip
UserZip <UserName>

Returns the "Zip" 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>.
Active Directory - Users

UserDNSDomain

Returns the dns domain name of the currently logged on user.

UserDomain

Returns the domain of the currently logged on user.

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

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]

UserName
UserName <FullName>

Returns the name of the currently logged on user. If full name is specified, the username is matched from the Active Directory display name. An error will occur, if no users match the given full name or multiple users match.
Example: Splash Welcome to ACME Corporation,[UserName]

UserSID

Returns the SID of the currently logged on user. Note that this function does not support ChangeUserName. The functions always returns the SID of the logged on user.
Azure Active Directory

AzureComputerID
AzureComputerID <DeviceName>

Returns the object id property from the Azure Active Directory of a device or an empty string if it is not set. If no devicename is specified, the executing computer is assumed.

AzureGroupID <GroupName>

Returns the object id property from the Azure Active Directory of a group or an empty string if it is not set.

AzureUserCity
AzureUserCity <UserName>

Returns the city property from the Azure Active Directory of a user or an empty string if it is not set. If no username is specified, current user is assumed.

AzureUserCompany

Returns the company the Azure Active Directory of a user or an empty string if it is not set. If no username is specified, current user is assumed.

AzureUserCountry
AzureUserCountry <UserName>

Returns the country property from the Azure Active Directory of a user or an empty string if it is not set. If no username is specified, current user is assumed.

AzureUserCustomProperty <PropertyName>
AzureUserCustomProperty <PropertyName>, <UserName>

Returns a custom property from a Azure Active Directory schema extension of a user or an empty string if it is not set. If no username is specified, current user is assumed.

AzureUserDepartment
AzureUserDepartment <UserName>

Returns the department property from the Azure Active Directory of a user or an empty string if it is not set. If no username is specified, current user is assumed.

AzureUserEMailAddress
AzureUserEMailAddress <UserName>

Returns the email address property from the Azure Active Directory of a user or an empty string if it is not set. If no username is specified, current user is assumed.

AzureUserFirstName
AzureUserFirstName <UserName>

Returns the first name property from the Azure Active Directory of a user or an empty string if it is not set. If no username is specified, current user is assumed.

AzureUserFullName
AzureUserFullName <UserName>

Returns the full name property from the Azure Active Directory of a user or an empty string if it is not set. If no username is specified, current user is assumed.

AzureUserID
AzureUserID <UserName>

Returns the object id property from the Azure Active Directory of a user or an empty string if it is not set. If no username is specified, current user is assumed.

AzureUserLanguage
AzureUserLanguage <UserName>

Returns the language property from the Azure Active Directory of a user or an empty string if it is not set. If no username is specified, current user is assumed.

AzureUserLastName
AzureUserLastName <UserName>

Returns the last name property from the Azure Active Directory of a user or an empty string if it is not set. If no username is specified, current user is assumed.

AzureUserMobileNo
AzureUserMobileNo <UserName>

Returns the mobile number property from the Azure Active Directory of a user or an empty string if it is not set. If no username is specified, current user is assumed.

AzureUserName

Returns the user name of the current user logged on to Azure Active Directory.

AzureUserOffice
AzureUserOffice <UserName>

Returns the office property from the Azure Active Directory of a user or an empty string if it is not set. If no username is specified, current user is assumed.

AzureUserPhoneNo
AzureUserPhoneNo <UserName>

Returns the phone number property from the Azure Active Directory of a user or an empty string if it is not set. If no username is specified, current user is assumed.

AzureUserState
AzureUserState <UserName>

Returns the state property from the Azure Active Directory of a user or an empty string if it is not set. If no username is specified, current user is assumed.

AzureUserStreet
AzureUserStreet <UserName>

Returns the street property from the Azure Active Directory of a user or an empty string if it is not set. If no username is specified, current user is assumed.

AzureUserTitle
AzureUserTitle <UserName>

Returns the title property from the Azure Active Directory of a user or an empty string if it is not set. If no username is specified, current user is assumed.

AzureUserZip
AzureUserZip <UserName>

Returns the zip code property from the Azure Active Directory of a user or an empty string if it is not set. If no username is specified, current user is assumed.
Backup And Replication - Statistics

LastSyncChangedFileCount

Returns the number of new or changed files from the last SyncDir, SyncDirHidden, CopyDir or CopyDirHidden operation. If the operation was cancelled, the function returns 0. Use the LastSyncWasCancelled condition to detect cancellation. The cancel button can be removed using the DisableSyncCancel command.

LastSyncChangedSize

Returns the total size in bytes of changed or new files from the last SyncDir, SyncDirHidden, CopyDir or CopyDirHidden operation. If the operation was cancelled, the function returns 0. Use the LastSyncWasCancelled condition to detect cancellation. The cancel button can be removed using the DisableSyncCancel command.

LastSyncChangedSizeGB

Returns the total size in gigabytes of changed or new files from the last SyncDir, SyncDirHidden, CopyDir or CopyDirHidden operation. If the operation was cancelled, the function returns 0. Use the LastSyncWasCancelled condition to detect cancellation. The cancel button can be removed using the DisableSyncCancel command.

LastSyncChangedSizeKB

Returns the total size in kilo bytes of changed or new files from the last SyncDir, SyncDirHidden, CopyDir or CopyDirHidden operation. If the operation was cancelled, the function returns 0. Use the LastSyncWasCancelled condition to detect cancellation. The cancel button can be removed using the DisableSyncCancel command.

LastSyncChangedSizeMB

Returns the total size in megabytes of changed or new files from the last SyncDir, SyncDirHidden, CopyDir or CopyDirHidden operation. If the operation was cancelled, the function returns 0. Use the LastSyncWasCancelled condition to detect cancellation. The cancel button can be removed using the DisableSyncCancel command.

LastSyncDirCount

Returns the number of directories from the last SyncDir, SyncDirHidden, CopyDir or CopyDirHidden operation. If the operation was cancelled, the function returns 0. Use the LastSyncWasCancelled condition to detect cancellation. The cancel button can be removed using the DisableSyncCancel command.

LastSyncDuration

Returns the total time consumed from the last SyncDir, SyncDirHidden, CopyDir or CopyDirHidden operation in format HH:MM:SS. If the operation was cancelled, the function returns 00:00:00. Use the LastSyncWasCancelled condition to detect cancellation. The cancel button can be removed using the DisableSyncCancel command.

LastSyncFileCount

Returns the number of files from the last SyncDir, SyncDirHidden, CopyDir or CopyDirHidden operation. If the operation was cancelled, the function returns 0. Use the LastSyncWasCancelled condition to detect cancellation. The cancel button can be removed using the DisableSyncCancel command.

LastSyncNewDirCount

Returns the number of new directories from the last SyncDir, SyncDirHidden, CopyDir or CopyDirHidden operation. If the operation was cancelled, the function returns 0. Use the LastSyncWasCancelled condition to detect cancellation. The cancel button can be removed using the DisableSyncCancel command.

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. If the operation was cancelled, the function returns 0. Use the LastSyncWasCancelled condition to detect cancellation. The cancel button can be removed using the DisableSyncCancel command.

LastSyncSize

Returns the total size in bytes of all files from the last SyncDir, SyncDirHidden, CopyDir or CopyDirHidden operation. If the operation was cancelled, the function returns 0. Use the LastSyncWasCancelled condition to detect cancellation. The cancel button can be removed using the DisableSyncCancel command.

LastSyncSizeGB

Returns the total size in gigabytes of all files from the last SyncDir, SyncDirHidden, CopyDir or CopyDirHidden operation. If the operation was cancelled, the function returns 0. Use the LastSyncWasCancelled condition to detect cancellation. The cancel button can be removed using the DisableSyncCancel command.

LastSyncSizeKB

Returns the total size in kilo bytes of all files from the last SyncDir, SyncDirHidden, CopyDir or CopyDirHidden operation. If the operation was cancelled, the function returns 0. Use the LastSyncWasCancelled condition to detect cancellation. The cancel button can be removed using the DisableSyncCancel command.

LastSyncSizeMB

Returns the total size in megabytes of all files from the last SyncDir, SyncDirHidden, CopyDir or CopyDirHidden operation. If the operation was cancelled, the function returns 0. Use the LastSyncWasCancelled condition to detect cancellation. The cancel button can be removed using the DisableSyncCancel command.
Browsers

VirtualBrowserURL

Returns the used url for a virtual browser installed using the InstallVirtualBrowser or InstallVirtualUserBrowser commands. Refer to http://www.fasttrackscript.com/browsercontrol for more information.
Citrix - Client

IcaClientVersion
IcaClientVersion <DefaultVersion>

The version of the installed Citrix Receiver (formerly ICA Client). If Citrix Receiver is not installed, a blank string will be returned, unless a default version is specified. You can compare the function by using a simple condition - for example "If [IcaClientVersion 1.0]<9.5 Then", where 1.0 is returned, if no client is installed.
Example: If [IcaClientVersion 1.0]<5.1 Then

IcaClientVersionMajor

Returns the major part (first digit) of the version of the installed Citrix Receiver (formerly ICA Client). If Citrix Receiver is not installed, 0 will be returned to allow less than (<) comparisons without checking installation status.

IcaClientVersionMinor

Returns the minor part (second digit) of the installed Citrix Receiver (formerly ICA Client). If Citrix Receiver is not installed, 0 will be returned to allow less than (<) comparisons without checking installation status.

LastIcaError

Returns the error from the last Citrix Receiver session. Use the LastIcaSessionFailed condition to determine success from last session.
Citrix - Server

IcaApplication

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

IcaClientIP

The ip address of the client running the Citrix ICA session, which can be used to detect the client's location. If the IP is not available, a blank string will be returned. The difference between IcaClientIP and ClientIP is that ClientIP will also get the IP address through a Remote Desktop Services session and will ultimately return the local computer's IP address, if the session is not virtual.

IcaClientIPPart <1-4>

Returns the specified first number of digits in the ip address of the client running the Citrix ICA session. If the IP is not available, a blank string will be returned. The difference between IcaClientIPPart and ClientIPPart is that ClientIPPart will also get the IP address through a Remote Desktop Services session and will ultimately return the local computer's IP address, if the session is not virtual.

IcaClientName

The name of the client running the Citrix ICA session. If the name is not available, a blank string will be returned. The difference between IcaClientName and ClientName is that ClientName will also get the name through a Remote Desktop Services session and will ultimately return the local computer name, if the session is not virtual.
Clipboard

Clipboard

Returns the text on the clipboard.
Cloud Inventory - XML Export

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]
COM Automation

ObjectValue <SourceObject>.<PropertyOrMethod>
ObjectValue <SourceObject>.<PropertyOrMethod>(<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 have dots in the name must be quoted. Refer to http://www.fasttrackscript.com/COM for more details on using COM with FastTrack Automation Studio.
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.
Custom Collections

CollectionItemAt <Name>, <Index>

Returns the collection item at the specified position.

CollectionSize <Name>

Returns the size of the collection.
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).

ServerTime
ServerTime <ServerName>

Returns the time from a server (or remote computer). If no server is specified, the logon server time is returned.

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 - Attributes

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.

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.
Directories - Logical 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.

ProfilesDir

Returns the root folder of all profiles.

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
TempFile <Extension>

Gets a unique temporary filename.
Example: Set 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.

UserSignaturesDir

Returns the Outlook signature directory for the current user. If outlook is not installed, an empty string is returned.

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
Directories - Size

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.
Directories

BrowseForFolder <Caption>
BrowseForFolder <Caption>, <DefaultPath>

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

CurrentDir

Returns the current directory.

DirFileCount <Path>

Returns the number of files in the directory and subdirectories.

DirPath <File>

Gets the directory part of a full file path.

DirSubDirCount <Path>

Returns the number of total sub directories under the directory.

ParentDir <File>

Gets the parent directory of a directory.
Drivers

DriverPath <InfFile>
DriverPath <InfFile>, <InfFile32Bit>

Gets the path of the local inf file of a driver in the Windows driver store, even if the hardware is not currently present. If your environment is mixed between 32 and 64 bit and the drivers are different, use the last parameter to point to 32-bit driver to be used for 32-bit machines only.
Encryption

Decrypt <PrivateKeyString>, <String>

Returns a decrypted string decrypted usign the private key string. En encrypt a string, use the Encrypt function with the same private key.
Example: Set EncodedKey=[Encrypt myprivatekeystring,[InputPassword Enter your logon password]]

Encrypt <PrivateKeyString>, <String>

Returns an encrypted string encrypted usign the private key string. To get decrypt a string, use the Decrypt function with the same private key.
Example: Set EncodedKey=[Encrypt myprivatekeystring,[InputPassword Enter your logon password]]

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.

ReplaceEnv <String>

Replaces all environment variables in a string, such as %userprofile%.
Execution - Console

ConsoleContent

Returns the complete content currently displayed in the console.

LastCMDOutput

Returns the output from last console execution command.
Execution

LastExitCode

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

LastExitError

Returns the error message mapping to the Win32 exit code from the run command.
FastTrack Engine

CompanyName

The licensed company name.

CurrentRootScriptFile

Returns the full path of the currently executing FastTrack script including filename. If other scripts are included, the root script is still used. Use CurrentScriptFile to get the included script (if any).

CurrentRootScriptName

Returns the name without path of the currently executing FastTrack script. If other scripts are included, the root script is still used. Use CurrentScriptName to get the included script (if any).

CurrentRootScriptPath

Returns the full path of the currently executing FastTrack script without the filename. If other scripts are included, the root script is still used. Use CurrentScriptPath to get the included script (if any).

CurrentScriptFile

Returns the full path of the currently executing FastTrack script including filename. If other scripts are included, this script is used. Use CurrentRootScriptFile to get the entry script.

CurrentScriptName

Returns the name without path of the currently executing FastTrack script. If other scripts are included, this script is used. Use CurrentRootScriptName to get the entry script.

CurrentScriptPath

Returns the full path of the currently executing FastTrack script without the filename. If other scripts are included, this script is used. Use CurrentRootScriptPath to get the entry script.

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. You can compare the function by using a simple condition - for example "If [FastTrackVersion]<8.5 Then".
Example: If [FastTrackVersion]<8.5 Then

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 - Attributes

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.

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.
Files - Properties

FileCertificateName <FIle>

Gets the name of the company the file certificate is issued to. IF the file is not signed, an empty string is returned.

FileCertificateIssuer <FIle>

Gets the issuer of the file certificate. IF the file is not signed, an empty string is returned.

FileComment <File>

Gets the comment property of a file.

FileCompanyName <File>

Gets the company name property of a file.

FileDescription <File>

Gets the file description of a file.

FileLanguage <File>

Gets the language property of a file.

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. You can compare the function by using a simple condition - for example "If [FileProductVersion App.Exe]<5.5 Then".
Example: If [FileProductVersion App.Exe]<5.5 Then

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).

FileVersion <File>

Gets the full 4 digit version of a filename. You can compare the function by using a simple condition - for example "If [FileVersion App.Exe]<5.5 Then".
Example: If [FileVersion App.Exe]<5.5 Then

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).
Files - Size

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.
Files

BrowseForFile <Caption>
BrowseForFile <Caption>, <DefaultPath>

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

BrowseForNewFile <Caption>
BrowseForNewFile <Caption>, <DefaultExtension>
BrowseForNewFile <Caption>, <DefaultExtension>, <DefaultPath>

Asks the user to select a file name for a new file. An existing file can also be selected. You can check for existing file by using the FileExists condition on the returned string. A blank string is return, if user cancels.
Example: Set NewFile=[BrowseForNewFile Select a new log file,.log]

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.

FileExtension <File>

Gets the extension of a file.

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.

FileNameWithoutExtension <File>

Gets the filename without extension.

FindFile <Path>, <FileName>

Finds the file in the directory structure and returns the full path. The file name must be without path and can also be a file pattern. If multiple files exists, the first file found is returned. If no files are found, an empty string is returned.

FullPath <FileOrDirectory>

Gets the full path from a relative path or filename.
FTP - Files

FTPFileContent <FTPAddress>
FTPFileContent <FTPAddress>, <FTPUserName>, <EncryptedPassword>

Gets the content of an FTP file on an FTP server. Password must be encrypted in the editor using Tools->Encrypt Password or by using the EncryptPassword function.
Example: Set Content=[FTPFileContent ftp://10.10.10.10/Backups.log]

FTPFileDate <FTPAddress>
FTPFileDate <FTPAddress>, <FTPUserName>, <EncryptedPassword>

Gets the date of an FTP file on an FTP server. Password must be encrypted in the editor using Tools->Encrypt Password or by using the EncryptPassword function.
Example: Set Date=[FTPFileDate ftp://10.10.10.10/Backups/Latest.Zip]

FTPFileSize <FTPAddress>
FTPFileSize <FTPAddress>, <FTPUserName>, <EncryptedPassword>

Gets the size in bytes of an FTP file on an FTP server. Password must be encrypted in the editor using Tools->Encrypt Password or by using the EncryptPassword function.
Example: Set Size=[FTPFileSize ftp://10.10.10.10/Backups/Latest.Zip]

FTPFileSizeGB <FTPAddress>
FTPFileSizeGB <FTPAddress>, <FTPUserName>, <EncryptedPassword>

Gets the size in gigabytes of an FTP file on an FTP server. Password must be encrypted in the editor using Tools->Encrypt Password or by using the EncryptPassword function.
Example: Set Size=[FTPFileSizeGB ftp://10.10.10.10/Backups/Latest.Zip]

FTPFileSizeKB <FTPAddress>
FTPFileSizeKB <FTPAddress>, <FTPUserName>, <EncryptedPassword>

Gets the size in kilobytes of an FTP file on an FTP server. Password must be encrypted in the editor using Tools->Encrypt Password or by using the EncryptPassword function.
Example: Set Size=[FTPFileSizeKB ftp://10.10.10.10/Backups/Latest.Zip]

FTPFileSizeMB <FTPAddress>
FTPFileSizeMB <FTPAddress>, <FTPUserName>, <EncryptedPassword>

Gets the size in megabytes of an FTP file on an FTP server. Password must be encrypted in the editor using Tools->Encrypt Password or by using the EncryptPassword function.
Example: Set Size=[FTPFileSizeMB ftp://10.10.10.10/Backups/Latest.Zip]

FTPFileTime <FTPAddress>
FTPFileTime <FTPAddress>, <FTPUserName>, <EncryptedPassword>

Gets the date and time of an FTP file on an FTP server. Password must be encrypted in the editor using Tools->Encrypt Password or by using the EncryptPassword function.
Example: Set Time=[FTPFileTime ftp://10.10.10.10/Backups/Latest.Zip]
FTP - Synchronization

LastFTPSyncChangedFileCount

Returns the number of new or changed files from the last SyncFTPDir or CopyFTPDir operation. If the operation was cancelled, the function returns 0. Use the LastFTPWasCancelled condition to detect cancellation. The cancel button can be removed using the DisableFTPCancel command.

LastFTPSyncChangedSize

Returns the total size in bytes of changed or new files from the last SyncFTPDir or CopyFTPDir operation. If the operation was cancelled, the function returns 0. Use the LastFTPWasCancelled condition to detect cancellation. The cancel button can be removed using the DisableFTPCancel command.

LastFTPSyncChangedSizeGB

Returns the total size in gigabytes of changed or new files from the last SyncFTPDir or CopyFTPDir operation. If the operation was cancelled, the function returns 0. Use the LastFTPWasCancelled condition to detect cancellation. The cancel button can be removed using the DisableFTPCancel command.

LastFTPSyncChangedSizeKB

Returns the total size in kilo bytes of changed or new files from the last SyncFTPDir or CopyFTPDir operation. If the operation was cancelled, the function returns 0. Use the LastFTPWasCancelled condition to detect cancellation. The cancel button can be removed using the DisableFTPCancel command.

LastFTPSyncChangedSizeMB

Returns the total size in megabytes of changed or new files from the last SyncFTPDir or CopyFTPDir operation. If the operation was cancelled, the function returns 0. Use the LastFTPWasCancelled condition to detect cancellation. The cancel button can be removed using the DisableFTPCancel command.

LastFTPSyncDirCount

Returns the number of directories from the last SyncFTPDir or CopyFTPDir operation. If the operation was cancelled, the function returns 0. Use the LastFTPWasCancelled condition to detect cancellation. The cancel button can be removed using the DisableFTPCancel command.

LastFTPSyncDuration

Returns the total time consumed from the last SyncFTPDir or CopyFTPDir operation in format HH:MM:SS. If the operation was cancelled, the function returns 00:00:00. Use the LastFTPWasCancelled condition to detect cancellation. The cancel button can be removed using the DisableFTPCancel command.

LastFTPSyncFileCount

Returns the number of files from the last SyncFTPDir or CopyFTPDir. If the operation was cancelled, the function returns 0. Use the LastFTPWasCancelled condition to detect cancellation. The cancel button can be removed using the DisableFTPCancel command.

LastFTPSyncNewDirCount

Returns the number of new directories from the last SyncFTPDir or CopyFTPDir operation. If the operation was cancelled, the function returns 0. Use the LastFTPWasCancelled condition to detect cancellation. The cancel button can be removed using the DisableFTPCancel command.

LastFTPSyncNewFileCount

Returns the number of new files from the last SyncFTPDir or CopyFTPDir operation. Changed files are not included, use LastFTPSyncChangedFiles for this information. If the operation was cancelled, the function returns 0. Use the LastFTPWasCancelled condition to detect cancellation. The cancel button can be removed using the DisableFTPCancel command.

LastFTPSyncSize

Returns the total size in bytes of all files from the last SyncFTPDir or CopyFTPDir operation. If the operation was cancelled, the function returns 0. Use the LastFTPWasCancelled condition to detect cancellation. The cancel button can be removed using the DisableFTPCancel command.

LastFTPSyncSizeGB

Returns the total size in gigabytes of all files from the last SyncFTPDir or CopyFTPDir operation. If the operation was cancelled, the function returns 0. Use the LastFTPWasCancelled condition to detect cancellation. The cancel button can be removed using the DisableFTPCancel command.

LastFTPSyncSizeKB

Returns the total size in kilo bytes of all files from the last SyncFTPDir or CopyFTPDir operation. If the operation was cancelled, the function returns 0. Use the LastFTPWasCancelled condition to detect cancellation. The cancel button can be removed using the DisableFTPCancel command.

LastFTPSyncSizeMB

Returns the total size in megabytes of all files from the last SyncFTPDir or CopyFTPDir operation. If the operation was cancelled, the function returns 0. Use the LastFTPWasCancelled condition to detect cancellation. The cancel button can be removed using the DisableFTPCancel command.
Geographical Location

City

Returns the city of the geographical location of the executing computer. Note that the computer makes a small web request to determine the location. The location is a proximity location based on the public IP address at a city level. If the location cannot be determined, a blank string is returned.

Country

Returns the country of the geographical location of the executing computer. Note that the computer makes a small web request to determine the location. The location is a proximity location based on the public IP address at a city level. If the location cannot be determined, a blank string is returned.

Latitude

Returns the latitude of the geographical location of the executing computer. Note that the computer makes a small web request to determine the location. The location is a proximity location based on the public IP address at a city level. If the location cannot be determined, a blank string is returned.

Longitude

Returns the longitude of the geographical location of the executing computer. Note that the computer makes a small web request to determine the location. The location is a proximity location based on the public IP address at a city level. If the location cannot be determined, a blank string is returned.

MapUrl

Returns an url to display the the current geographical location on a map. Note that the computer makes a small web request to determine the location. The location is a proximity location based on the public IP address at a city level. If the location cannot be determined, a blank string is returned.
Example: ShowWebPage [MapUrl],You are approximately here

Region

Returns the region of the geographical location of the executing computer. Note that the computer makes a small web request to determine the location. The location is a proximity location based on the public IP address at a city level. If the location cannot be determined, a blank string is returned.
Graphical User Interfaces - Menus - Settings

LastDoubleListRightValue

Returns the right value of the last selection using the DoubleListMenu function.
Graphical User Interfaces - Menus

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

Shows a menu of choices in a list with two columns and returns the selection. The following settings commands have effect on the window: SetScreenPos, SetBodyFont, SetBodyColor, SetHeaderFont, SetHeaderColor, SetBackgroundImage, ResetBackgroundImage, SetWindowSize, SetWindowScale, SetNextWindowSize, SetNextWindowScale, SetScaling, EnableTopMost/DisableTopMost and the visual effects commands. 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 using 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 Printer Location,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. The following settings commands have effect on the window: SetScreenPos, SetBodyFont, SetBodyColor, SetHeaderFont, SetHeaderColor, SetBackgroundImage, ResetBackgroundImage, SetWindowSize, SetWindowScale, SetNextWindowSize, SetNextWindowScale, SetScaling, EnableTopMost/DisableTopMost and the visual effects commands. 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 using 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 Printer Location,Location,Printers,Plant Building 1. Floor,Printer01,Plant Building 2. Floor,Printer05 & Printer07,Reception,Printer09 & Printer11]

ListMenu <HeaderText>, <ListOfValues>

Shows a list menu of choices and returns the selected value. The following settings commands have effect on the window: SetScreenPos, SetBodyFont, SetBodyColor, SetHeaderFont, SetHeaderColor, SetBackgroundImage, ResetBackgroundImage, SetWindowSize, SetWindowScale, SetNextWindowSize, SetNextWindowScale, SetScaling, EnableTopMost/DisableTopMost and the visual effects commands. 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 using 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. The following settings commands have effect on the window: SetScreenPos, SetBodyFont, SetBodyColor, SetHeaderFont, SetHeaderColor, SetBackgroundImage, ResetBackgroundImage, SetWindowSize, SetWindowScale, SetNextWindowSize, SetNextWindowScale, SetScaling, EnableTopMost/DisableTopMost and the visual effects commands. 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 using 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=[ListMenuForced 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=[MenuForced Toolbox,Network|Connect to VPN,Download|Surf the Internet,Recycle|Reconnect network drives]
Graphical User Interfaces - Textual Input

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. The following settings commands have effect on the window: SetScreenPos, SetBodyFont, SetBodyColor, SetHeaderFont, SetHeaderColor, SetBackgroundImage, ResetBackgroundImage, SetScaling, EnableTopMost/DisableTopMost and the visual effects commands. 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.
Example: Set Username=[Input "Please enter your name"]

InputForced <Question>
InputForced <Question>, <HeaderText>
InputForced <Question>, <HeaderText>, <IconName>
InputForced <Question>, <HeaderText>, <IconName>, <DefaultValue>

Asks the user to enter a string. The question must be quoted, if there is a comma. The following settings commands have effect on the window: SetScreenPos, SetBodyFont, SetBodyColor, SetHeaderFont, SetHeaderColor, SetBackgroundImage, ResetBackgroundImage, SetScaling, EnableTopMost/DisableTopMost and the visual effects commands. 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.
Example: Set Username=[InputForced "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. The following settings commands have effect on the window: SetScreenPos, SetBodyFont, SetBodyColor, SetHeaderFont, SetHeaderColor, SetBackgroundImage, ResetBackgroundImage, SetScaling, EnableTopMost/DisableTopMost and the visual effects commands. 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.
Example: Set Password=[InputPassword "Please enter your password"]

InputPasswordForced <Question>
InputPasswordForced <Question>, <HeaderText>
InputPasswordForced <Question>, <HeaderText>, <IconName>

Asks the user to enter a password. The question must be quoted, if there is a comma. The following settings commands have effect on the window: SetScreenPos, SetBodyFont, SetBodyColor, SetHeaderFont, SetHeaderColor, SetBackgroundImage, ResetBackgroundImage, SetScaling, EnableTopMost/DisableTopMost and the visual effects commands. 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.
Example: Set Password=[InputPasswordForced "Please enter your password"]

InputText <Question>
InputText <Question>, <HeaderText>
InputText <Question>, <HeaderText>, <IconName>
InputText <Question>, <HeaderText>, <IconName>, <DefaultValue>

Asks the user to enter a text in a text field. The text can be multi-line. The question must be quoted, if there is a comma. The following settings commands have effect on the window: SetScreenPos, SetBodyFont, SetBodyColor, SetHeaderFont, SetHeaderColor, SetBackgroundImage, ResetBackgroundImage, SetScaling, EnableTopMost/DisableTopMost and the visual effects commands. 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.
Example: Set Feedback=[InputText "Please enter your feedback"]

InputTextForced <Question>
InputTextForced <Question>, <HeaderText>
InputTextForced <Question>, <HeaderText>, <IconName>
InputTextForced <Question>, <HeaderText>, <IconName>, <DefaultValue>

Asks the user to enter a text in a text field. The text can be multi-line. The question must be quoted, if there is a comma. The following settings commands have effect on the window: SetScreenPos, SetBodyFont, SetBodyColor, SetHeaderFont, SetHeaderColor, SetBackgroundImage, ResetBackgroundImage, SetScaling, EnableTopMost/DisableTopMost and the visual effects commands. 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.
Example: Set Feedback=[InputForced "Please enter your feedback"]
Hardware - Battery

BatteryRemainingMinutes

Returns number of minutes of battery life remaining. Returns 1000 minutes for desktops or if laptop is charging.

BatteryRemainingPercent

Returns percentage of battery life remaining. Returns 100 percent for desktops or if laptop is charging.
Hardware

ComputerType

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

CPU
CPU <RemoteComputerName>
CPU <RemoteComputerName>, <UserName>, <EncryptedPassword>

Vendor's description of the CPU. Remote computer queries require you to open the firewall rule "WMI" on the remote computer. Use <Domain>\<UserName> to specify domain for the remote connection user. Password must be encrypted in the editor using Tools->Encrypt Password or by using the EncryptPassword function.
Example: WriteIni \\AcmeServer\AdminShare$\Inventory.ini,[ComputerName],CPU,[Cpu]

CpuSpeed
CpuSpeed <RemoteComputerName>
CpuSpeed <RemoteComputerName>, <UserName>, <EncryptedPassword>

CPU speed in MHz. Remote computer queries require you to open the firewall rule "WMI" on the remote computer. Use <Domain>\<UserName> to specify domain for the remote connection user. Password must be encrypted in the editor using Tools->Encrypt Password or by using the EncryptPassword function.
Example: WriteIni \\AcmeServer\AdminShare$\Inventory.ini,[ComputerName],CPUSpeed,[CpuSpeed]

DiskSize
DiskSize <Drive>:

Gets the size in GB of the primary harddisk.
Example: WriteIni \\AcmeServer\AdminShare$\Inventory.ini,[ComputerName],Disk,[DiskSize]

DiskStatus
DiskStatus <RemoteComputerName>
DiskStatus <RemoteComputerName>, <UserName>, <EncryptedPassword>

Gets S.M.A.R.T. status of the primary harddisk. Possible values are "OK", "Error", "Degraded", "Unknown", "Pred Fail", "Starting", "Stopping", "Service", "Stressed", "NonRecover", "No Contact" or "Lost Comm". Remote computer queries require you to open the firewall rule "WMI" on the remote computer. Use <Domain>\<UserName> to specify domain for the remote connection user. Password must be encrypted in the editor using Tools->Encrypt Password or by using the EncryptPassword function.
Example: WriteIni \\AcmeServer\AdminShare$\Inventory.ini,[ComputerName],DiskStatus,[DiskStatus]

FreeDiskSpace
FreeDiskSpace <Drive>:

Gets free diskspace in GB of the primary harddisk. You can use this in login scripts 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
Manufacturer <RemoteComputerName>
Manufacturer <RemoteComputerName>, <UserName>, <EncryptedPassword>

System manufacturer, e.g. 'HP', 'Lenovo' or 'Dell Inc'. The manufacturer of a machine can also be found be typing "wmic computersystem get manufacturer" in a command prompt. Remote computer queries require you to open the firewall rule "WMI" on the remote computer. Use <Domain>\<UserName> to specify domain for the remote connection user. Password must be encrypted in the editor using Tools->Encrypt Password or by using the EncryptPassword function.
Example: If [Manufacturer]=Lenovo Then

Model
Model <RemoteComputerName>
Model <RemoteComputerName>, <UserName>, <EncryptedPassword>

System model. Useful for detecting virtual machines. The model of a machine can also be found be typing "wmic computersystem get model" in a command prompt. Remote computer queries require you to open the firewall rule "WMI" on the remote computer. Use <Domain>\<UserName> to specify domain for the remote connection user. Password must be encrypted in the editor using Tools->Encrypt Password or by using the EncryptPassword function.
Example: If [Model]=Virtual Machine Then LogoffForced

NoDisks
NoDisks <RemoteComputerName>
NoDisks <RemoteComputerName>, <UserName>, <EncryptedPassword>

Number of physical hard drives. Remote computer queries require you to open the firewall rule "WMI" on the remote computer. Use <Domain>\<UserName> to specify domain for the remote connection user. Password must be encrypted in the editor using Tools->Encrypt Password or by using the EncryptPassword function.
Example: WriteIni \\AcmeServer\AdminShare$\Inventory.ini,[ComputerName],NoDisks,[NoDisks]

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
SerialNo <RemoteComputerName>
SerialNo <RemoteComputerName>, <UserName>, <EncryptedPassword>

Returns the serial number allocated by the hardware manufacturer to identify the hardware. On Dell computers, this is referred to as the service tag. Remote computer queries require you to open the firewall rule "WMI" on the remote computer. Use <Domain>\<UserName> to specify domain for the remote connection user. Password must be encrypted in the editor using Tools->Encrypt Password or by using the EncryptPassword function.
Example: WriteIni \\AcmeServer\AdminShare$\Inventory.ini,[ComputerName],SerialNo,[SerialNo]

TotalMemory
TotalMemory <RemoteComputerName>
TotalMemory <RemoteComputerName>, <UserName>, <EncryptedPassword>

Total memory in megabytes. Remote computer queries require you to open the firewall rule "WMI" on the remote computer. Use <Domain>\<UserName> to specify domain for the remote connection user. Password must be encrypted in the editor using Tools->Encrypt Password or by using the EncryptPassword function.
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 FastTrack Registration

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>
InstallationVersion <ApplicationName>, <DefaultVersion>

Returns the version of an installed application (registered with RegisterInstallation). If it is not installed, an empty string is returned, unless a default version is specified. You can compare the function by using a simple condition - for example "If [InstallationVersion TeamViewer,1.0]<10.2 Then", where 1.0 is returned, if TeamViewer is not installed.
Example: If [InstallationVersion TeamViewer,1.0]<10.2 Then

InstallationVersionMajor <ApplicationName>

Returns the major part (first digit) of the version of an installed application (registered with RegisterInstallation). If it is not installed, 0 will be returned to allow less than (<) comparisons without checking installation status.

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, 0 will be returned to allow less than (<) comparisons without checking installation status.
Installations - Software On Demand

OnDemandMenu <Caption>, <ApplicationHeaderText>, <VersionHeaderText>

Shows a menu of items added using the AddOnDemandItem command and sets the application to install using the InstallMSIOnDemand, InstallProgramOnDemand and InstallProgramScriptOnDemand commands, if the user does not click cancel.
Installations - Windows Program List

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 inventory website, if you use inventory. You can specify the left-most 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 in by 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.

ProgramLocation <ProgramName>

Returns the installation folder 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 inventory website, if you use inventory. You can specify the left-most 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 in by 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 inventory website, if you use inventory. You can specify the left-most 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 in by 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 inventory website, if you use inventory. You can specify the left-most 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 in by 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.

ProgramUninstaller <ProgramName>

Returns the uninstallation string of a program listed in Windows installed programs list, which is used to uninstall an application. In case 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 inventory website, if you use inventory. You can specify the left-most 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 in by 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>
ProgramVersion <ProgramName>, <DefaultVersion>

Returns the version of a program listed in Windows installed programs list. In some cases the version is missing. If the program is not installed or the version is missing, a blank string is returned, unless a default version is specified. You can compare the function by using a simple condition - for example "If [ProgramVersion TeamViewer,1.0]<10.2 Then", where 1.0 is returned, if TeamViewer is not installed. Program names can be found in the installed programs list in the control panel or on your inventory website, if you use inventory. You can specify the left-most 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 in by 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.
Example: If [ProgramVersion TeamViewer,1.0]<10.2 Then

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, 0 will be returned to allow less than (<) comparisons without checking installation status. Program names can be found in the installed programs list in the control panel or on your inventory website, if you use inventory. You can specify the left-most 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 in by 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, 0 will be returned to allow less than (<) comparisons without checking installation status. Program names can be found in the installed programs list in the control panel or on your inventory website, if you use inventory. You can specify the left-most 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 in by 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 Users and Groups - Groups

LocalAdminsGroup

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

LocalGroupDescription <LocalGroupName>
LocalGroupDescription <LocalGroupName>, <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 and Groups - 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 <LocalUserName>
LocalUserDescription <LocalUserName>, <RemoteComputerName>

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

LocalUserFullName
LocalUserFullName <LocalUserName>
LocalUserFullName <LocalUserName>, <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 <LocalUserName>
LocalUserHomeDir <LocalUserName>, <RemoteComputerName>

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

LocalUserHomeDrive
LocalUserHomeDrive <LocalUserName>
LocalUserHomeDrive <LocalUserName>, <RemoteComputerName>

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

LocalUserLastLogon
LocalUserLastLogon <LocalUserName>
LocalUserLastLogon <LocalUserName>, <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 <LocalUserName>
LocalUserLogonScript <LocalUserName>, <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 <LocalUserName>
LocalUserProfilePath <LocalUserName>, <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.
Microsoft Office - Installed Versions

ExcelPath

The full path to the Microsoft Excel exe file. If it is not installed, a blank string is returned.

ExcelVersion
ExcelVersion <DefaultVersion>

The installed version of Microsoft Excel. If it is not installed, a blank string is returned, unless a default version is specified. You can compare the function by using a simple condition - for example "If [ExcelVersion 1.0]<10.5 Then" where 1.0 is returned, if Excel is not installed.
Example: If [ExcelVersion 1.0]<10.5 Then

ExcelVersionMajor

Gets the major part of the installed version of Microsoft Excel (first digit). If it is not installed, 0 will be returned to allow less than (<) comparisons without checking installation status.

OutlookPath

The full path to the Microsoft Outlook exe file. If it is not installed, a blank string is returned. Note that the function returns blank also, if Outlook is installed, but no accounts are set up. This is because Outlook is not functional in this case.

OutlookVersion
OutlookVersion <DefaultVersion>

The installed version of Microsoft Outlook. If it is not installed, a blank string is returned, unless a default version is specified. You can compare the function by using a simple condition - for example "If [OutlookVersion 1.0]<10.5 Then" where 1.0 is returned, if Outlook is not installed. Note that the function returns blank also, if Outlook is installed, but no accounts are set up. This is because Outlook is not functional in this case.
Example: If [OutlookVersion 1.0]<10.5 Then

OutlookVersionMajor

Gets the major part of the installed version of Microsoft Outlook (first digit). If it is not installed, 0 will be returned to allow less than (<) comparisons without checking installation status. Note that the function returns blank also, if Outlook is installed, but no accounts are set up. This is because Outlook is not functional in this case.

WordPath

The full path to the Microsoft Word exe file. If it is not installed, a blank string is returned.

WordVersion
WordVersion <DefaultVersion>

The installed version of Microsoft Word. If it is not installed, a blank string is returned, unless a default version is specified. You can compare the function by using a simple condition - for example "If [WordVersion 1.0]<10.5 Then" where 1.0 is returned, if Word is not installed.
Example: If [WordVersion 1.0]<10.5 Then

WordVersionMajor

Gets the major part of the installed version of Microsoft Word (first digit). If it is not installed, 0 will be returned to allow less than (<) comparisons without checking installation status.
Microsoft Outlook - Profiles

DefaultOutlookProfile

Returns the name of the default Outlook profile, if any.

NoOutlookAccounts

Gets the number of mapped Outlook accounts for the current user. Useful for checking if the user has mapped non-authorized accounts (if the function returns a number larger than 1). Use the OutlookAccounts collection to get a list of mapped email addresses.
Example: If [NoOutlookAccounts]>1 Then
Microsoft Outlook - Signatures

DefaultNewEmailSignature

Returns the default signature for the current user for new emails. Returns blank, if no default signature is set.

DefaultReplyEmailSignature

Returns the default reply signature for the current user for new emails. Returns blank, if no default signature is set.

NoSignatures

Returns the number of Outlook signatures the current user has.
Microsoft Outlook - Storage Files

NoOSTFiles

Gets the number of ost files (Off-line Storage Table) used by the current user. Use the OSTFiles collection to get a list of OST files.
Example: If [NoOSTFiles]>1 Then

NoPSTFiles

Gets the number of pst files (Personal Storage Table) used by the current user. Use the PSTFiles collection to get a list of PST files.
Example: If [NoPSTFiles]>1 Then
Network - Adapters - Wired

WiredAdapterConnectionName

Returns the connection name of the fasteset wired network adapter. If there are no wired adapters, an empty string is returned.

WiredAdapterManufacturer

Returns the manufacturer of the fasteset wired network adapter. If there are no wired adapters, an empty string is returned.

WiredAdapterName

Returns the name of the fasteset wired network adapter. If there are no wired adapters, an empty string is returned.

WiredMacAddress

Get the MAC address of the fastest wired network adapter. Returns an empty string, if there is no active wired connection.

WiredNetworkSpeed

Get the speed in mbit of the fastest wired network adapter. Returns 0 if there is no active wired connection.
Network - Adapters - Wireless

WirelessAdapterConnectionName

Returns the connection name of the fasteset wireless network adapter. If there are no wireless adapters, an empty string is returned.

WirelessAdapterManufacturer

Returns the manufacturer of the fasteset wireless network adapter. If there are no wireless adapters, an empty string is returned.

WirelessAdapterName

Returns the name of the fasteset wireless network adapter. If there are no wireless adapters, an empty string is returned.

WirelessMacAddress

Get the MAC address of the fastest wireless network adapter. Returns an empty string, if there is no active wireless connection.

WirelessNetworkSpeed

Get the speed in mbit of the fastest wireless network adapter. Returns 0 if there is no active wireless connection.
Network - Adapters

AdapterConnectionName

Returns the connection name of the fastest active network adapter.

AdapterManufacturer
AdapterManufacturer <ConnectionName>

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

AdapterName
AdapterName <ConnectionName>

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

ComputerDNSDomain
ComputerDNSDomain <Computer>

Returns the dns name of the computer's domain.

ComputerDomain
ComputerDomain <Computer>

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

HostName
HostName <HostOrConnectionName>

Returns the host name of an IP address or blank string, if hostname cannot be resolved. The IP address of the executing computer is used, 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.

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

LogonScript

Returns the full path of the last executed FastTrack logon script.

LogonServer

Returns the current logon server.
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. Using connection name to identify a specific network adapter requires Vista or newer.

PublicIPAddress

Returns the public IP address of the executing computer. Note that the computer makes a web request to determine the public IP. If the computer has no public ip address, 127.0.0.1 is returned.
OneDrive For Business

OneDriveURL

Returns the url from the last OneDrive drive mapping. The ConnectOneDrive command must be used first.
Operating System

BootMode

Boot mode.

BootTime
BootTime <RemoteComputerName>
BootTime <RemoteComputerName>, <UserName>, <EncryptedPassword>

Returns the date and time of the last boot. Remote computer queries require you to open the firewall rule "WMI" on the remote computer. Use <Domain>\<UserName> to specify domain for the remote connection user. Password must be encrypted in the editor using Tools->Encrypt Password or by using the EncryptPassword function.

OperatingSystem
OperatingSystem <RemoteComputerName>
OperatingSystem <RemoteComputerName>, <UserName>, <EncryptedPassword>

Returns the friendly name of the operating system like 'Windows 7'. Remote computer queries require you to open the firewall rule "WMI" on the remote computer. Use <Domain>\<UserName> to specify domain for the remote connection user. Password must be encrypted in the editor using Tools->Encrypt Password or by using the EncryptPassword function.

OperatingSystemBits

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

OperatingSystemBuildNo

Returns the build number of the Operating System version, such as 16299.

OperatingSystemBuildUpdateNo

Returns the Update Build Revision (UBR) of the Operating System version, such as 248.

OperatingSystemFullVersion

Returns full version of the Operating System.

OperatingSystemLanguage

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

OperatingSystemReleaseNo

Returns the release number of Windows such as 1709.

OperatingSystemServicePack

Returns Operating System Service Pack.

OperatingSystemVersion

Returns Operating System version. You can compare the function by using a simple condition - for example "If [OperatingSystemVersion]<6.1 Then".
Example: If [OperatingSystemVersion]<6.1 Then

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
WindowsInstallDate <RemoteComputerName>
WindowsInstallDate <RemoteComputerName>, <UserName>, <EncryptedPassword>

Returns the date the operating system was installed. Useful as indication of the age of the computer. Remote computer queries require you to open the firewall rule "WMI" on the remote computer. Use <Domain>\<UserName> to specify domain for the remote connection user. Password must be encrypted in the editor using Tools->Encrypt Password or by using the EncryptPassword function.
Printers - Locations

PrinterLocationListMenu
PrinterLocationListMenu <HeaderText>

Shows a list of printer locations added by the SetPrinterLocation command and saves the choice to the registry. Use the ConnectPrinterMenuItem to connect the chosen printers.

PrinterLocationMenu
PrinterLocationMenu <HeaderText>

Shows an icon menu of printer locations added by the SetPrinterLocation command and saves the choice to the registry. Use the ConnectPrinterMenuItem to connect the chosen printers.
Printers

DefaultPrinter

Gets the name of the current default printer.

NetworkPrinterName <UNCPath>

Converts the UNC path of a mapped network printer to a name as listed in the control panel. Converts for example \\Server\Printer to "Printer on Server".

NetworkPrinterPath <PrinterName>

Converts the name of a mapped network printer as listed in the control panel to the corresponding UNC path. Converts for example "Printer on Server" to \\Server\Printer. Useful for converting an entry from the NetworkPrinterNames collection into the share name for mapping.
Registry - 32 Bit

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

Returns a comma separated list of hex values (e.g. 6C,4A,40,23) of the given registry value (e.g. 6C,4A,40,23) or blank if it does not exist. If the value is not binary, it will be returned as a normal string. Type REG_MULTI can be read with the collection RegistryValueMultilinex86. 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. Binary values will be return as hex values - use RegistryValuex86 to read the value converted to text.

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

Returns the value of the given registry value or blank if it does not exist. Type REG_MULTI can be read with the collection RegistryValueMultilinex86. 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. Binary values will be converted to text - use RegistryValueBinaryx86 to read as a list of hex values.
Registry

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

Returns the value of the given registry value or blank if it does not exist. REG_MULTI can be read with the collection RegistryValueMultiline. HKey_Local_Machine, HKey_Current_User and HKey_Classes_Root can be abbreviated to HKLM, HKCU and HKCR. Binary values will be converted to text - use RegistryValueBinary to read as a list of hex values.
Example: If Not [RegistryValue HKCU\Control Panel\Desktop\WallPaper]=[WinDir]\Acme.png Then ShowMessage You are not allowed to overrule the corporate wallpaper!

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

Returns a comma separated list of hex values (e.g. 6C,4A,40,23) of the given registry value or blank if it does not exist. If the value is not binary, it will be returned as a normal string. REG_MULTI can be read with the collection RegistryValueMultiline. HKey_Local_Machine, HKey_Current_User and HKey_Classes_Root can be abbreviated to HKLM, HKCU and HKCR. Binary values will be return as hex values - use RegistryValue to read the value converted to text.
Remote Desktop Services - Client

RdpClientVersion
RdpClientVersion <DefaultVersion>

The version of the installed Remote Desktop Services client. If no client is installed, a blank string is returned, unless a default version is specified. You can compare the function by using a simple condition - for example "If [RdpClientVersion 1.0]<6.1 Then", where 1.0 is returned, if no client is installed.
Example: If [RdpClientVersion 1.0]<6.1 Then

RdpClientVersionMajor

Returns the major part (first digit) of the version of the installed Remote Desktop Services client. If no Remote Desktop Services client is installed, 0 will be returned to allow less than (<) comparisons without checking installation status.

RdpClientVersionMinor

Returns the minor part (second digit) of the version of the installed Remote Desktop Services client. If no Remote Desktop Services client is installed, 0 will be returned to allow less than (<) comparisons without checking installation status.
Remote Desktop Services - Server

ClientIP

The ip address of the client running a Remote Desktop Services or Citrix ICA Session. If the session is not a remote session, the local IP will be returned. In scenarios without remote sessions, use the IPAddress function. Use the "RemoteSession" condition to detect a remote session. If the IP is not available, a blank string will be returned.

ClientIPPart <1-4>

Returns the specified first number of digits in the ip address of the client running a Remote Desktop Services or Citrix ICA Session. If the session is not a remote session, the local IP will be returned. In scenarios without remote sessions, use the IPAddressPart function. Use the "RemoteSession" condition to detect a remote session. If the IP is not available, a blank string will be returned.

ClientName

The name of the client running a Remote Desktop Services or Citrix ICA Session. If the session is not a remote session, the local computer name will be returned. In scenarios without remote sessions, use the ComputerName function. Use the "RemoteSession" condition to detect a remote session. Observe that session through web interfaces on Citrix XenApp might return a generated computer name. This can be disabled to get the true remote computer name; refer to http://support.citrix.com/article/CTX111851 for more information.

RdpApplication

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

RdpClientIP

The ip address of the client running Remote Desktop Services, which can be used to detect the client's location. If the IP is not available, a blank string will be returned. The difference between RdpClientIP and ClientIP is that ClientIP will also get the IP address through a Citrix ICA session and will ultimately return the local computer's IP address, if the session is not virtual.

RdpClientIPPart <1-4>

Returns the specified first number of digits in the ip address of the client running Remote Desktop Services. If the IP is not available, a blank string will be returned. The difference between RdpClientIPPart and ClientIPPart is that ClientIPPart will also get the IP address through a Citrix ICA session and will ultimately return the local computer's IP address, if the session is not virtual.

RdpClientName

The name of the client running Remote Desktop Services. If the name is not available, a blank string will be returned. The difference between RdpClientName and ClientName is that ClientName will also get the name through a Citrix ICA session and will ultimately return the local computer name, if the session is not virtual.

SessionID <UserName>
SessionID <UserName>, <RemoteComputerName>

Gets the session ID of the first process matching the user name. If the user has no processes, blank is returned.

TSApplication

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

TSClientIP

The ip address of the client running Remote Desktop Services, which can be used to detect the client's location. If the IP is not available, a blank string will be returned. The difference between TSClientIP and ClientIP is that ClientIP will also get the IP address through a Citrix ICA session and will ultimately return the local computer's IP address, if the session is not virtual.

TSClientIPPart <1-4>

Returns the specified first number of digits in the ip address of the client running Remote Desktop Services. If the IP is not available, a blank string will be returned. The difference between TSClientIPPart and ClientIPPart is that ClientIPPart will also get the IP address through a Citrix ICA session and will ultimately return the local computer's IP address, if the session is not virtual.

TSClientName

The name of the client running Remote Desktop Services. If the name is not available, a blank string will be returned. The difference between TSClientName and ClientName is that ClientName will also get the name through a Citrix ICA session and will ultimately return the local computer name, if the session is not virtual.
SCCM

LastTaskActionExitCode

Returns the exit code of the previous action on the Task Sequence (same as reading the _SMSTSLastActionRetCode variable).

SCCMClientVersion
SCCMClientVersion <DefaultVersion>

Returns the version of the SCCM client. If no client is installed, a blank string is returned, unless a default version is specified. You can compare the function by using a simple condition - for example "If [SCCMClientVersion 1.0]<3.1 Then", where 1.0 is returned, if no client is installed..
Example: If [SCCMClientVersion 1.0]<3.1 Then

SCCMClientVersionMajor

Returns the major part (first digit) of the version of the installed SCCM client. If the SCCM client is not installed, 0 will be returned to allow less than (<) comparisons without checking installation status.

SCCMClientVersionMinor

Returns the minor part (second digit) of the installed SCCM client. If the SCCM client is not installed, 0 will be returned to allow less than (<) comparisons without checking installation status.

SCCMSiteCode

Returns the name of the code of the currently assigned site. If no client is installed or the site code is not set, an empty string is returned.

TaskActionName

Returns the name of the current action step of the executing Task Sequence (same as reading the _SMSTSCurrentActionName variable).

TaskSequenceName

Returns the name of the executing Task Sequence (same as reading the _SMSTSPackageName variable).

TaskVar

Returns the value of an SCCM Task Sequence variable. An error occurs, if the variable does not exist. Use the TSVarExists to test for existence.
Example: If TaskVarExists InstallFolder Then SyncDir Bin,[TaskVar InstallFolder]
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
Script Control

CmdParam <ParameterName>

Gets a command 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]"

Param <ParameterName>

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

ShortcutTarget <File>

Returns the target path of a shortcut.

ShortcutWorkingDir <File>

Returns the working directory of a shortcut.
SID

AccountName <SID>

Gets an account name from a SID.

AccountType <UserName>

Gets the account type of a SID. Account type can be "Alias", "Computer", "Deleted account", "Domain", "Group", "Invalid", "User", "Well known group" or "Unknown".

SID <AccountName>

Gets a SID from an account name. Use <Domain>\<AccountName> for an account from a different domain than the current user.

SIDType <SID>

Gets type of a SID. Type can be "Alias", "Computer", "Deleted account", "Domain", "Group", "Invalid", "User", "Well known group" or "Unknown".
SNMP

SNMPValue <Host>, <ObjectID>
SNMPValue <Host>, <ObjectID>, <Community>

Gets an SNMP value. If the port is different than 161, specify host as <host>:<port>. Community is "Public" unless specified otherwise.
Example: Set NoGetRequests = [SNMPValue 192.168.1.1, 1.3.6.1.2.1.11.13.0]
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 <SQLStatement>, <Server>
SQLQuery <SQLStatement>, <Server>, <DefaultDatabase>
SQLQuery <SQLStatement>, <Server>, <UserName>, <EncryptedPassword>
SQLQuery <SQLStatement>, <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 by 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

StopwatchElapsedMS

Returns the current elapsed time of the stopwatch in milliseconds. Useful for comparison.

StopwatchTime

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

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]

BracketEnd

Replaced by the ] sign for marking the literal sign and not the end of a function or collection.

BracketStart

Replaced by the [ sign for marking the literal sign and not the start of a function or collection.

Char <Value>

Returns the character of the specified value.

Comma

Replaced by a comma.

Quote

Replaced by a quote.

Return

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

Tab

Replaced by a tab.
Strings

CreateGUID

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

CutLeft <String>, <SearchString>

Cuts the string at the start of the first occurrence of the specified search string. If the string is not found, the whole string is returned.

CutLeftLast <String>, <SearchString>

Cuts the string at the start of the last occurrence of the specified search string. If the string is not found, the whole string is returned.

CutRight <String>, <SearchString>

Returns the string from the first occurrence of the specified search string. If the string is not found, the whole string is returned.

CutRightLast <String>, <SearchString>

Returns the string from the last occurrence of the specified search string. If the string is not found, the whole string is returned.

FormatPhoneNo <PhoneNo>
FormatPhoneNo <PhoneNo>, <Format>

Formats a number into a phone number. Default is US format: ###.###.####, where # is a digit. All characters except numbers are stripped from the input string to build the returned result. # represents a digit. If there number of digits does not match, the original phone number is returned. For example 555-123-1234, 555.123.1234, 5551231234 or 555 123 1234 all result in 555.123.1234 with the default format.
Example: Set PhoneNumber = [FormatPhoneNumber [UserPhoneNo], (+1) ###-###-#####]

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.

NumTrim <String>

Trims the zeros away from strings. For example 01000 is stripped to 1000 and 1000,10 is stripped to 1000,1.

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]

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.

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]]
TeamViewer

TeamViewerID

Returns this computers TeamViewer ID. If it is not installed, a blank string is returned.

TeamViewerVersion
TeamViewerVersion <DefaultVersion>

The installed version of TeamViewer. If it is not installed, a blank string is returned, unless a default version is specified. You can compare the function by using a simple condition - for example "If [TeamViewerVersion 1.0]<10.2 Then", where 1.0 is returned, if TeamViewer is not installed.
Example: If [TeamViewerVersion 1.0]<10.2 Then

TeamViewerVersionMajor

Gets the major version (first digit) og the installed version of TeamViewer. If it is not installed, a blank string is returned.

TeamViewerVersionMinor

Gets the minor version (second digit) og the installed version of TeamViewer. If it is not installed, a blank string is returned.
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 is 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.

LastHttpStatus

Returns the last http status code (404 = not found, 500 = server error, etc) from the SendHttpData command or the HttpRequest function. Note that to the ResumeOnError command must be used to catch errors codes, as the script will otherwise fail before being able to react on the result with this function.

UrlDecode <String>

Returns the string url decoded.

UrlEncode <String>

Returns the string url encoded.
Windows Installer - MSI File Properties

MSIFileProductCode <MSIFile>

Returns the unique MSI product code of an MSI file.

MSIFileProductName <MSIFile>

Returns the product name of an MSI file.

MSIFilePublisher <MSIFile>

Returns the publisher of a Windows Installer MSI file.

MSIFileVersion <MSIFile>

Returns the version of a Windows Installer MSI file.

MSIFileVersionMajor <MSIFile>

Returns the major part (first digit) of the version of a Windows Installer MSI File.

MSIFileVersionMinor <MSIFile>

Returns the minor part (second digit) of the version of a Windows Installer MSI file.
Windows Installer

MSIVersion
MSIVersion <DefaultVersion>

Returns the version of Windows Installer. If Windows Installer is not installed, a blank string is returned, unless a default version is specified. You can compare the function by using a simple condition - for example "If [MSIVersion 1.0]<4.5 Then", where 1.0 is returned, if Windows Installer is not installed. Build and revision numbers can be extracted by using the 'Digit' function.
Example: If [MSIVersion 1.0]<4.5 Then

MSIVersionMajor

Returns the major part (first digit) of the version of Windows Installer. In case it is missing or the program is not installed, 0 will be returned to allow less than (<) comparisons without checking installation status.

MSIVersionMinor

Returns the minor part (second digit) of the version of Windows Installer. In case it is missing or the program is not installed, 0 will be returned to allow less than (<) comparisons without checking installation status.
WMI

WMIQuery <Query statement>
WMIQuery <Query statement>, <RemoteComputerName>
WMIQuery <Query statement>, <RemoteComputerName>, <UserName>, <EncryptedPassword>

Executes a WMI query. Query must explicitly return one attribute. See documentation for COM Automation for advanced use of WMI objects. Use <Domain>\<UserName> to specify domain for the remote connection user. Password must be encrypted in the editor using Tools->Encrypt Password or by using the EncryptPassword function. Citrix receiver must be installed.
Example: Set DiskModel=[WMIQuery SELECT Model FROM Win32_DiskDrive]
XML

XMLAttribute <XML>, <XmlPath>, <Attribute>
XMLAttribute <File>, <XmlPath>, <Attribute>
XMLAttribute <XML>, <XmlPath>, <Attribute>, <DefaultValue>
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 <XML>, <XmlPath>, <PairKey>, <PairValue>, <Attribute>
XMLPairAttribute <File>, <XmlPath>, <PairKey>, <PairValue>, <Attribute>
XMLPairAttribute <XML>, <XmlPath>, <PairKey>, <PairValue>, <Attribute>, <DefaultValue>
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 <XML>, <XmlPath>
XMLValue <File>, <XmlPath>
XMLValue <XML>, <XmlPath>, <DefaultValue>
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]


Rating: 5 out of 5

"Use this as a replacement for VBScript and PowerShell"

"It's easy to include attractive GUI elements in FastTrack scripts, beyond the basic dialog boxes and text input that VBScript offers ... Another powerful feature is the ability to distribute scripts as Windows Installer (.msi) or standard .exe files. Although interesting in its own right, this ability results in a much more intriguing capability: to repackage -- or wrap -- software installers as .msi files without using snapshots. If you've ever created an .msi installer file from before-and-after system snapshots, for use with a software distribution system such as Group Policy or SCCM, then you know how hit-and-miss the results can be."

Read full review


Rating: 8 out of 10

"Faster than the rest"

"We found the FastTrack syntax to be more transparent and easier to learn than Microsoft's PowerShell – the editor in particular provided good support in this regard. the Script Editor offers a large number of options from the command set through to simple output of graphical elements, which cannot be achieved at all with PowerShell or other solutions or only with a significantly greater level of effort."

"Anyone wanting to tackle the many hurdles in everyday admin and especially anyone for whom logon scripts and client automation is a priority will benefit from the variety of functions offered by FastTrack."

Review in English      Review in German