Collections Reference
Select version:


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

AllComputers
AllComputers <DomainName>

Returns all Active Directory computers. If no domain name is specified, current domain is assumed.
Example: Loop Computer,[AllComputers]

DomainControllers
DomainControllers <DomainName>

Returns all domain controllers. If no domain name is specified, current domain is assumed.
Example: Loop DC,[DomainControllers]
Active Directory Groups

AllGroups
AllGroups <DomainName>

Returns all Active Directory groups. If no domain name is specified, the current domain is assumed.
Example: Loop Group,[AllGroups]

ComputerGroups
ComputerGroups <ComputerName>

Returns all Active Directory groups of which the computer is a member (directly or through nested groups). An example of a nested group: A computer is a member of 'Sales Florida Computers', which is, in turn, a member of 'Sales America Computers'. In this scenario, the computer is implicitly a member of 'Sales America Computers', so both are included. If no computername is specified, the executing computer is assumed. The domain is, by default, the domain of the logged-on user. To specify another domain, use: <Domain>\<ComputerName>.
Example: Loop Group,[ComputerGroups]

GroupComputers <GroupName>

Returns all Active Directory computers that are members of the group (directly or through nested groups). An example of a nested group member: When retrieving members of a group named 'Sales America Computers' and a group named 'Sales Florida Computers' is a also member of 'Sales America Computers', then all 'Sales Florida Computers' computers are also included as members of 'Sales America Computers'. The domain is, by default, the domain of the logged-on user. To specify another domain, use: <Domain>\<GroupName>.
Example: Loop Computer,[GroupComputers]

GroupGroups <GroupName>

Returns all Active Directory groups of which the group is a member (directly or through nested groups). The domain is, by default, that of the logged-on user. To specify another domain, use: <Domain>\<GroupName>.
Example: Loop Group,[GroupGroups Domain Users]

GroupSubGroups <GroupName>

Returns all Active Directory groups that are members of the group directly or groups that are nested groups. By default, the domain is that of the logged-on user. To specify another domain, use: <Domain>\<GroupName>.
Example: Loop Group,[GroupGroups]

GroupUsers <GroupName>

Returns all Active Directory users that are members of the group (directly or through nested groups). An example of a nested group member: When retrieving members of a group named 'Sales America Users' and a group named 'Sales Florida Users' is a also member of 'Sales America Users', then all users of 'Sales Florida Users' are included as members of 'Sales America Users'. By default, the domain is that of the logged-on user. To specify another domain, use: <Domain>\<GroupName>.
Example: Loop User,[GroupUsers Sales America Users]

UserGroups
UserGroups <UserName>

Returns all Active Directory groups of which the user is a member (directly or through nested groups). An example of a nested group is: When a user is a member of 'Sales Florida Users' and 'Sales Florida Users' is a member of 'Sales America Users', then the user is implicitly a member of 'Sales America Users' and both are included. If no user is specified, the currently logged-on user is assumed. If the domain is different than the current users' domain, specify the user as: <Domain>\<UserName>.
Example: Loop Group,[UserGroups]
Active Directory OU

AllOUs
AllOUs <DomainName>

Returns all Active Directory Organizational Units. If no domain name is specified, the current domain is assumed.
Example: Loop OU,[AllOUs]

ComputersInOU <OUName>

Returns all computers in an Organizational Unit or a container in the Active Directory. Computers in sub-OUs are included unless the DisableOURecursion is issued. The domain is, by default, the domain of the logged-on user. To specify another domain, use: <Domain>\<OUName>.
Example: Loop Computer,[ComputersInOU]

GroupsInOU <OUName>

Returns all groups in an Organizational Unit or a container in the Active Directory. Groups in sub-OUs are included unless the DisableOURecursion is issued. The domain is, by default, the domain of the logged-on user. To specify another domain, use: <Domain>\<OUName>.
Example: Loop Group,[GroupsInOU]

OUsInOU <OUName>

Returns all sub-Organizational Units in an Organizational Unit or a container in the Active Directory. OUs in sub-OUs are included unless the DisableOURecursion is issued. The domain is, by default, the domain of the logged-on user. To specify another domain, use: <Domain>\<OUName>.
Example: Loop OU,[OUsInOU]

UsersInOU <OUName>

Returns all users in an Organizational Unit or a container in the Active Directory. Users in sub-OUs are included unless the DisableOURecursion is issued. The domain is, by default, the domain of the logged-on user. To specify another domain, use: <Domain>\<OUName>.
Example: Loop User,[UsersInOU]
Active Directory Users

AllUsers
AllUsers <DomainName>

Returns all Active Directory users. If no domain name is specified, the current domain is assumed.
Example: Loop User,[AllUsers]
Custom Collections

Collection <Name>

Returns the elements of a custom collection.
Directories

SubDirectories <Path>

Returns a collection of sub directories, if they exist.
Example: Loop Dir,[SubDirectories [WinDir]]

SubDirectoryTree <Path>
SubDirectoryTree <Path>, <Pattern>

Returns a collection of all sub directories recursively including their full path, if they exist.
Example: Loop Dir,[SubDirectoryTree [WinDir]]
Directory Sync

LastSyncChangedFiles

Returns a collection of all new or changed files from the last SyncDir or CopyDir operation.
Example: Loop File,[LastSyncChangedFiles]

LastSyncFailedFiles

Returns a collection of files that could not be copied from the last SyncDir or CopyDir operation. Can be used with the LastLineFailed condition. Observe that the list can be empty, if a general error occurs. The script must be in error-resume mode to be executing at all after an error occurs, either by using the /IE command-line switch or the ResumeOnError command.
Example: If LastLineFailed And [Length "[LastSyncFailedFiles]"]>0 Then List Unable to backup these files:,[LastSyncFailedFiles]

LastSyncFiles

Returns a collection of all source files from the last SyncDir or CopyDir operation.
Example: Loop File,[LastSyncFiles]
Files

Files <Path>

Returns a collection of files in the directory - use SubFileTree to get files in ALL subdirectories.
Example: Loop File,[Files [WinDir]]

SubFileTree <Path>
SubFileTree <Path>, <Pattern>

Returns a collection of all SubFiles recursively including their full path.
Example: Loop TxtFile,[SubFileTree [WinDir],*.txt]
Ini Files

IniSection <File>, <Section>

Returns all keys in an ini file section, if it exists. Combine in a loop with GetIniValue to get both key and value.
Example: Loop Section,[IniSection Acme.Ini,General]
Installations - Internal

ApplicationsInstalled

Returns all installed FastTrack scripted applications (using RegisterInstallation command).
Example: Loop App,[ApplicationsInstalled]
Installations - Windows

InstalledPrograms

Returns all installed Windows programs.
Example: Loop App,[InstalledPrograms]
Intervals

Range <From>, <To>

Creates a range collection, from and to must be numbers. Can be used to loop a fixed number of times.
Example: Loop Counter,[Range 0,10]
Local Groups

AllLocalGroups
AllLocalGroups <RemoteComputerName>

Returns all local groups.
Example: Loop Group,[AllLocalGroups]

GroupLocalGroups <Groupname>

Returns all local groups of which the domain group is a member (directly or through nested domain groups) inside the local group. If the domain is different than the current users' domain, specify the group as: <Domain>\<GroupName>.
Example: Loop Group,[GroupLocalGroups]

LocalGroupMembers <GroupName>
LocalGroupMembers <GroupName>, <RemoteComputerName>

Returns all members of a local group.
Example: Loop User,[LocalGroupMembers]

LocalUserLocalGroups
LocalUserLocalGroups <Username>

Returns all local groups of which the local user is a member. If no username is specified, the logged on local user is assumed.
Example: Loop Group,[LocalUserLocalGroups]

UserLocalGroups
UserLocalGroups <Username>

Returns all local groups of which the user is a member (directly or through nested domain groups) inside the local group. If no user is specified, the currently logged-on user is assumed. If the domain is different than the current users' domain, specify user as: <Domain>\<UserName>.
Example: Loop Group,[UserLocalGroups]
Local Users

AllLocalUsers
AllLocalUsers <RemoteComputerName>

Returns all local users.
Example: Loop Group,[AllLocalUsers]
Network

AllNetworkAdapters

Returns a complete list of all network adapters in the executing computer including virtual adapters. Use the NetworkAdapters collection to only get physical adapters. The returned values are the connection names that represent the adapters, which can be used as input to network adapter functions.

NetworkAdapters

Returns a list of physical network adapters in the executing computer. The returned values are the connection names that represent the adapters, which can be used as input to network adapter functions.

VirtualNetworkAdapters

Returns a list of virtual network adapters in the executing computer. The returned values are the connection names that represent the adapters, which can be used as input to network adapter functions.
Printers

LocalPrinters

Returns all local printers.
Example: Loop Printer,[LocalPrinters]

NetworkPrinters

Returns all mapped network printers.
Example: Loop Printer,[NetworkPrinters]
Processes

RunningProcesses

Returns all running processed.
Example: Loop Process,[RunningProcesses]
Registry

RegistryKeys <Key>

Returns all keys under the specified key. Returns an empty list if the key does not exist. HKey_Local_Machine, HKey_Current_User and HKey_Classes_Root can be abbreviated to HKLM, HKCU and HKCR.
Example: Loop Key,[RegistryKeys HKCU\Software\Acme]

RegistryKeysx86 <Key>

Returns all keys under the specified key. Keys are returned from the redirected registry for 32-bit applications on a 64-bit operating system. Works the same as RegistryKeys on a 32-bit operating system or non-redirected keys. Returns an empty list, if the key does not exist. HKey_Local_Machine, HKey_Current_User and HKey_Classes_Root can be abbreviated to HKLM, HKCU and HKCR.
Example: Loop Key,[RegistryKeysx86 HKCU\Software\Acme]

RegistryValueData <Key>

Returns all value data under the specified key. HKey_Local_Machine, HKey_Current_User and HKey_Classes_Root can be abbreviated to HKLM, HKCU and HKCR.
Example: Loop ValueData,[RegistryValueData HKCU\Software\Acme]

RegistryValueDatax86 <Key>

Returns all value data under the specified key. Value data are returned from the redirected registry for 32-bit applications on a 64-bit operating system. Works the same as RegistryValueData on a 32-bit operating system or non-redirected keys. HKey_Local_Machine, HKey_Current_User and HKey_Classes_Root can be abbreviated to HKLM, HKCU and HKCR.
Example: Loop ValueData,[RegistryValueDatax86 HKCU\Software\Acme]

RegistryValues <Key>

Returns all values under the specified key. HKey_Local_Machine, HKey_Current_User and HKey_Classes_Root can be abbreviated to HKLM, HKCU and HKCR.
Example: Loop Value,[RegistryValues HKCU\Software\Acme]

RegistryValuesx86 <Key>

Returns all values under the specified key. Values are returned from the redirected registry for 32-bit applications on a 64-bit operating system. Works the same as RegistryValues on a 32-bit operating system or non-redirected values. HKey_Local_Machine, HKey_Current_User and HKey_Classes_Root can be abbreviated to HKLM, HKCU and HKCR.
Example: Loop Value,[RegistryValuesx86 HKCU\Software\Acme]
SQL Server

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

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

CharSplit <String>

Splits a string into a collection of characters.

Split <String>
Split <String>, <Splitter>
Split <String>, <Position1>, <Splitter2>

Splits a string into a collection. The string is, by default, split with comma and dot.
WMI

WMIValues <Query statement>

Executes a WMI query and returns a collection of results. Query must explicitly specify one attribute. See documentation for COM Automation for advanced use of WMI objects.
Example: Loop DiskModel,[WMIValues SELECT Model FROM Win32_DiskDrive]
XML

XMLAttributes <File>, <XmlPath>

Gets a collection of attributes of the first xml node that fits the path. Returns an empty collection if file or attributes are not found.
Example: Loop Attribute,[XMLAttributes PrinterList.xml,Settings/Printers/Houston]

XMLMultiAttributes <File>, <XmlPath>, <Attribute>

This is the same a the XMLAttribute function, except that it will return a collection of all nodes and attributes that match.
Example: Loop Attribute,[XMLMultiAttributes Locations.xml,Acme/Printers/Houston/PrinterSite,Name]

XMLSubNodes <File>, <XmlPath>

Gets a collection of names of subnodes of the first xml node that fits the x-path. Returns an empty collection if the file or path is not found.
Example: Loop Node,[XMLSubNodes PrinterList.xml,Settings/Printers]