|
|
|
 | |
|  |
 |
|
CreateComputer <ComputerName> CreateComputer <ComputerName>, <ContainerOrOUName> | Creates a computer account in the Active Directory. If ContainerOrOUName is specified, the computer is created in that Container or OU, otherwise in the root of the Active Directory. If domain is different than the domain of the executing user, specify group as <Domain>\<ComputerName> and <Domain>\<ContainerOrOUName>.
Example: CreateComputer AcmePC0010 |
|
DeleteComputer <ComputerName> | Deletes an Active Directory computer, if it exists. If domain is different than the domain of the executing user, specify computer as <Domain>\<ComputerName>.
Example: DeleteComputer AcmePC0010 |
|
RenameComputer <ComputerName>, <NewComputerName> | Renames an Active Directory computer. If domain is different than the current users' domain, specify name <Domain>\<ComputerName>.
Example: RenameComputer AcmePC0010,AcmeShopPC01 |
|
SetComputerCustomProperty <ComputerName>, <PropertyName>, <PropertyValue> | Changes a custom property for an Active Directory computer. Property name must be an LDAP property name like 'managedBy'. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<ComputerName>.
Example: SetComputerCustomProperty AcmePC0010,managedBy,"[UserDistinguishedName AcmeSysAdm]" |
|
SetComputerDescription <ComputerName>, <Description> | Sets the description field of an Active Directory computer. If domain is different than the domain of the executing user, specify computer as <Domain>\<ComputerName>.
Example: SetComputerDescription AcmePC0010,Shop demo computer |
|
|  |
 |
|
AddComputerToGroup <ComputerName>, <GroupName> | Adds a computer to the Active Directory group, if not already member. If domain is different than the current users' domain, specify group as <Domain>\<GroupName> and <Domain>\<ComputerName> .
Example: AddComputerToGroup AcmeComputer, MSOfficeMachines |
|
AddGroupToGroup <GroupName>, <TargetGroupName> | Adds a the first specified Active Directory group to the second Active Directory group, if not already member. If domain is different than the current users' domain, specify group as <Domain>\<DomainGroupName>.
Example: AddGroupToGroup AcmeHelpDesk,Acme Operators |
|
AddUserToGroup <UserName>, <GroupName> | Adds a user to an Active Directory group, if not already member. If domain is different than the domain of the executing user, specify as <Domain>\<GroupName> and <Domain>\<UserName>.
Example: AddUserToGroup AcmeUser,Acme Operators |
|
CreateDomainLevelDistributionGroup <GroupName> CreateDomainLevelDistributionGroup <GroupName>, <ContainerOrOUName> | Creates a Domain Level Active Directory Distribution group. If ContainerOrOUName is specified, the user is created in that Container or OU, otherwise in the root of the Active Directory. If domain is different than the domain of the executing user, specify group as <Domain>\<GroupName> and <Domain>\<ContainerOrOUName>.
Example: CreateDomainLevelDistributionGroup Acme Operators |
|
CreateDomainLevelGroup <GroupName> CreateDomainLevelGroup <GroupName>, <ContainerOrOUName> | Creates a Domain Level Active Directory Security group. If ContainerOrOUName is specified, the user is created in that Container or OU, otherwise in the root of the Active Directory. If domain is different than the domain of the executing user, specify group as <Domain>\<GroupName> and <Domain>\<ContainerOrOUName>.
Example: CreateDomainLevelGroup Acme Operators |
|
CreateGlobalDistributionGroup <GroupName> CreateGlobalDistributionGroup <GroupName>, <ContainerOrOUName> | Creates a Global Active Directory Distribution group. If ContainerOrOUName is specified, the user is created in that Container or OU, otherwise in the root of the Active Directory. If domain is different than the domain of the executing user, specify group as <Domain>\<GroupName> and <Domain>\<ContainerOrOUName>.
Example: CreateGlobalDistributionGroup Acme Operators |
|
CreateGlobalGroup <GroupName> CreateGlobalGroup <GroupName>, <ContainerOrOUName> | Creates a Global Active Directory Security group. If ContainerOrOUName is specified, the user is created in that Container or OU, otherwise in the root of the Active Directory. If domain is different than the domain of the executing user, specify group as <Domain>\<GroupName> and <Domain>\<ContainerOrOUName>.
Example: CreateGlobalGroup Acme Operators |
|
CreateUniversalDistributionGroup <GroupName> CreateUniversalDistributionGroup <GroupName>, <ContainerOrOUName> | Creates a Univeral Active Directory Distribution group. If ContainerOrOUName is specified, the user is created in that Container or OU, otherwise in the root of the Active Directory. If domain is different than the domain of the executing user, specify group as <Domain>\<GroupName> and <Domain>\<ContainerOrOUName>.
Example: CreateUniversalDistributionGroup Acme Operators |
|
CreateUniversalGroup <GroupName> CreateUniversalGroup <GroupName>, <ContainerOrOUName> | Creates a Univeral Active Directory Security group. If ContainerOrOUName is specified, the user is created in that Container or OU, otherwise in the root of the Active Directory. If domain is different than the domain of the executing user, specify group as <Domain>\<GroupName> and <Domain>\<ContainerOrOUName>.
Example: CreateUniversalGroup Acme Operators |
|
DeleteGroup <GroupName> | Deletes an Active Directory group of any type, if it exists. If domain is different than the domain of the executing user, specify group as <Domain>\<GroupName>.
Example: DeleteGroup Acme Operators |
|
RemoveComputerFromGroup <ComputerName>, <GroupName> | Removes a computer from the Active Directory group, if already member. If domain is different than the current users' domain, specify group as <Domain>\<GroupName> and <Domain>\<ComputerName> .
Example: RemoveComputerFromGroup AcmeComputer, MSOfficeMachines |
|
RemoveGroupFromGroup <GroupName>, <TargetGroupName> | Removes the first specified Active Directory group from the second Active Directory group, if already member. If domain is different than the current users' domain, specify group as <Domain>\<DomainGroupName>.
Example: RemoveGroupFromGroup AcmeHelpDesk,Acme Operators |
|
RemoveUserFromGroup <UserName>, <GroupName> | Removes a user from an Active Directory group, if already member. If domain is different than the domain of the executing user, specify as <Domain>\<GroupName> and <Domain>\<UserName>.
Example: RemoveUserFromGroup AcmeUser,Acme Operators |
|
RenameGroup <GroupName>, <NewGroupName> | Renames an Active Directory group. If domain is different than the current users' domain, specify group as <Domain>\<DomainGroupName>.
Example: RenameGroup AcmeHelpDesk,Acme HelpDesk |
|
SetGroupCustomProperty <GroupName>, <PropertyName>, <PropertyValue> | Changes a custom property for an Active Directory group. Property name must be an LDAP property name like 'managedBy'. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<GroupName>.
Example: SetGroupCustomProperty AcmeHelpDesk,managedBy,"[UserDistinguishedName AcmeSysAdm]" |
|
SetGroupDescription <GroupName>, <Description> | Sets the description field of an Active Directory group of any type. If domain is different than the domain of the executing user, specify group as <Domain>\<GroupName>.
Example: SetGroupDescription Acme Operators,HelpDesk operators within Acme Corp |
|
|  |
 |
|
CreateOU <OUName> CreateOU <OUName>, <ContainerOrOUName> | Creates a organizational unit in the Active Directory. If ContainerOrOUName is specified, the OU is created in that Container or OU, otherwise in the root of the Active Directory. If domain is different than the domain of the executing user, specify group as <Domain>\<OUName> and <Domain>\<ContainerOrOUName>.
Example: CreateOU Acme Sales America |
|
DeleteOU <OUName> | Deletes an Active Directory organizational unit, if it exists. If domain is different than the domain of the executing user, specify OU as <Domain>\<OUName>.
Example: DeleteOU Acme Sales America |
|
MoveComputer <ComputerName>, <ContainerOrOUName> | Moves a computer to a specific OU or container. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<ComputerName> and <Domain>\<ContainerOrOUName>.
Example: MoveComputer AcmePC0010,Acme Sales America |
|
MoveGroup <GroupName>, <ContainerOrOUName> | Moves a group to a specific OU or container. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<GroupName> and <Domain>\<ContainerOrOUName>.
Example: MoveUser Acme Sales Staff,Acme Sales America |
|
MoveOU <OUName>, <ContainerOrOUName> | Moves an organizational unit to a specific OU or container. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<OUName> and <Domain>\<ContainerOrOUName>.
Example: MoveOU Acme Sales America,Acme Sales Global |
|
MoveUser <UserName>, <ContainerOrOUName> | Moves user to a specific OU or container. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName> and <Domain>\<ContainerOrOUName>.
Example: MoveUser AcmeUser,Acme Sales America |
|
RenameOU <OUName>, <NewOUName> | Renames an Active Directory organizational unit. If domain is different than the current users' domain, specify name as <Domain>\<OUName>.
Example: RenameOU Acme Sales America,Acme Sales |
|
SetOUCustomProperty <OUName>, <PropertyName>, <PropertyValue> | Changes a custom property for an Active Directory organizational unit. Property name must be an LDAP property name like 'managedBy'. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<OUName>.
Example: SetOUCustomProperty Acme Sales America,managedBy,"[UserDistinguishedName AcmeSysAdm]" |
|
SetOUDescription <OUName>, <Description> | Sets the description field of an Active Directory organizational unit. If domain is different than the domain of the executing user, specify OU as <Domain>\<OUName>.
Example: SetOUDescription Acme Sales America,All sales staff in the US |
|
|  |
 |
|
AllowUserPasswordChange <UserName> | Enables the ability to change password for an Active Directory user. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.
Example: AllowUserPasswordChange AcmeUser |
|
CreateUser <UserName>, <EncryptedPassword> CreateUser <UserName>, <PlainTextPassword>, <ContainerOrOUName> | Creates an Active Directory user account. If no ContainerOrOUName is specified, the new user is placed in the "Users" container. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName> and <Domain>\<ContainerOrOUName>. Password must be encrypted in the editor using Tools->Encrypt Password.
Example: CreateUser AcmeUser, Akut3sRS6e3kJHztyeqg9w== |
|
CreateUserPlain <UserName>, <PlainTextPassword> CreateUserPlain <UserName>, <PlainTextPassword>, <ContainerOrOUName> | Creates an Active Directory user account. If no ContainerOrOUName is specified, the new user is placed in the "Users" container. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName> and <Domain>\<ContainerOrOUName>. Password is entered as plain text. CreateLocalUser is recommended, unless the password is retrieved from user input. Use CreateLocalUserPlain to create a local user.
Example: CreateUserPlain AcmeUser, AcmePassword |
|
DeleteUser <UserName> | Deletes an Active Directory user account, if it exists. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.
Example: DeleteUser AcmeUser |
|
DisableUser <UserName> | Disables an Active Directory user, if it is currently enabled. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.
Example: DisableUser AcmeUser |
|
DisableUserMustChangePassword <UserName> | Sets the user not be forced to change password at next logon. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.
Example: DisableUserMustChangePassword AcmeUser |
|
DisableUserPasswordExpiry <UserName> | Disables expiration of password for an Active Directory user. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.
Example: DisableUserPasswordExpiry AcmeUser |
|
DisallowUserPasswordChange <UserName> | Disables the ability to change password for an Active Directory user. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.
Example: DisallowUserPasswordChange AcmeUser |
|
EnableUser <UserName> | Enables an Active Directory user, if it is currently disabled. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.
Example: EnableUser AcmeUser |
|
EnableUserMustChangePassword <UserName> | Sets the user to must change password at next logon. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.
Example: EnableUserMustChangePassword AcmeUser |
|
EnableUserPasswordExpiry <UserName> | Enables expiration of password for an Active Directory user. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.
Example: EnableUserPasswordExpiry AcmeUser |
|
RenameUser <UserName>, <NewName> | Renames a user. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.
Example: RenameUser AcmeUser, AcmeRenamedUser |
|
SetUserCompany <UserName>, <CompanyName> | Changes the "Company" property of an Active Directory user. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.
Example: SetUserCompany AcmeUser,Acme Corp |
|
SetUserCustomProperty <UserName>, <PropertyName>, <PropertyValue> | Changes a custom property for an Active Directory user. Property name must be an LDAP property name like 'streetAddress'. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.
Example: SetUserCustomProperty AcmeUser,streetAddress,Acmeroad 55 |
|
SetUserDepartment <UserName>, <DepartmentName> | Changes the "Department" property of an Active Directory user. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.
Example: SetUserDepartment AcmeUser,Sales |
|
SetUserDescription <UserName>, <Description> | Changes the description of an Active Directory user. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.
Example: SetUserDescription AcmeUser,Acme test user |
|
SetUserDisplayName <UserName>, <DisplayName> | Changes the display name of an Active Directory user (when using SetUserName and display name is not set, it is by default set to FirstName and LastName combined). Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.
Example: SetUserDisplayName AcmeUser,Steve Hansson |
|
SetUserEMailAddress <UserName>, <EMailAddress> | Changes the principal name of an Active Directory user. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.
Example: SetUserEMailAddress AcmeUser,acme@acme.com |
|
SetUserHomeDir <UserName>, <Path> | Changes the home path of an Active Directory user. Enter blank path to clear the home path. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.
Example: SetUserHomeDir AcmeUser,\\Acme\Home$\AcmeUser |
|
SetUserHomeDrive <UserName>, <Drive> | Changes the home drive of an Active Directory user (e.g. H:). Enter blank path to clear the home drive. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.
Example: SetUserHomeDrive AcmeUser,H: |
|
SetUserInitials <UserName>, <Initials> | Changes the initials of an Active Directory user. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.
Example: SetUserInitials AcmeUser,SH |
|
SetUserLogonScript <UserName>, <Path> | Changes the logon script path of an Active Directory user. Enter blank path to clear the logon script. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.
Example: SetUserLogonScript AcmeUser,\\Acme\NetLogon\FTLogon.exe |
|
SetUserName <UserName>, <FirstName>, <LastName> | Changes the first name and last name of an Active Directory user. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.
Example: SetUserName AcmeUser,Steve,Hansson |
|
SetUserOffice <UserName>, <Office> | Changes the "Office" property of an Active Directory user. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.
Example: SetUserOffice AcmeUser,Acme office |
|
SetUserPassword <UserName>, <EncryptedPassword> | Changes the password of an Active Directory user. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>. Password must be encrypted in the editor using Tools->Encrypt Password.
Example: SetUserPassword AcmeUser, Akut3sRS6e3kJHztyeqg9w== |
|
SetUserPasswordPlain <UserName>, <PlainTextPassword> | Changes the password of an Active Directory user. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>. Password is entered as plain text. SetUserPassword is recommended, unless the password is retrieved from user input.
Example: SetUserPassword AcmeUser, MyNewAcmePassword2 |
|
SetUserPhoneNo <UserName>, <PhoneNo> | Changes the "Telephone number" property of an Active Directory user. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.
Example: SetUserPhoneNo AcmeUser,555-12345 |
|
SetUserPrincipalName <UserName>, <PrincipalName> | Changes the principal name of an Active Directory user. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.
Example: SetUserPrincipalName AcmeUser,acme@acme.com |
|
SetUserProfilePath <UserName>, <Path> | Changes the profile path of an Active Directory user. Enter blank path to clear the profile path. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.
Example: SetUserProfilePath AcmeUser,\\AcmeServer\Roaming$\AcmeUser |
|
UnlockUser <UserName> | Unlocks an Active Directory user, if it is currently locked. Domain is by default the domain of the logged on user, to specify another domain, use <Domain>\<UserName>.
Example: UnlockUser AcmeUser |
|
|  |
 |
|
SetClipboard <Value> | | Puts text on the clipboard. |
|
|  |
 |
|
SetTimeFromServer SetTimeFromServer <ServerName> | | Syncronizes client time to the remote time. If no servername is specified, the logon server is used. |
|
|  |
 |
|
EmptyRecycleBin EmptyRecycleBin <Drive:> | | Empties recycle bin of all drives. Specifying for instance C: as parameter, vil empty recycle bin on the C-drive only. |
|
RestoreDesktop | | Restores windows from ShowDesktop. |
|
SetWallPaper | Sets the wallpaper for the current user. The wallpaper is only changed, if the specified file type is supported by the operating system.
Example: SetWallPaper [WinDir]\Acme.jpg |
|
ShowDesktop | | Minimizes all windows and shows the desktop. |
|
|  |
 |
|
CopyDir <SourcePath>, <DestPath> | Copies source directory tree to the destination directory. Any any extra files and directories in destination will not be deleted, use SyncDir for this functionality. Files and directories issued with SyncExcludeDir and SyncExcludeFile are excluded.
Example: CopyDir [UserDocumentsDir],[UserHomeDir]\DocumentsBackup |
|
CopyDirHidden <SourcePath>, <DestPath> | Copies source directory tree to the destination directory without showing any user GUI during the process. Any any extra files and directories in destination will not be deleted, use SyncDirHidden for this functionality. Files and directories issued with SyncExcludeDir and SyncExcludeFile are excluded.
Example: CopyDirHidden [UserDocumentsDir],[UserHomeDir]\DocumentsBackup |
|
DeleteDir <Path> | Deletes a directory including all directories and files under it, if it exists.
Example: DeleteDir [ProgramFilesDir]\Acme\AcmeCRMApp |
|
DeleteDirPreserved <Path> | Deletes all subdirectories and files in a directory preserving the folder itself. Useful for emptying folder, e.g. temporary internet files or the windows temp directory.
Example: If UserOnceAWeek Then DeleteDirPreserved [TempDir] |
|
MakeDir <Path> | Creates a directory recursively.
Example: MakeDir [ProgramFilesDir]\Acme\AcmeCRMApp |
|
RenameDir <Path>, <NewPath> | | Rename or move directory including subdirectories and subfiles. |
|
SetCurrentDir <Path> | | Changes the current directory. |
|
SyncDir <SourcePath>, <DestPath> | Synchronizes source directory tree to the destination directory making them the same, while only copying changes. Files and directories issued with SyncExcludeDir and SyncExcludeFile are excluded. Symbolic link directories are ignored to prevent unintended copying of files.
Example: SyncDir [UserDocumentsDir],[UserHomeDir]\DocumentsBackup |
|
SyncDirHidden <SourcePath>, <DestPath> | Synchronizes source directory tree to the destination directory making them the same, while only copying changes. No user GUI is shown during the process. Files and directories issued with SyncExcludeDir and SyncExcludeFile are excluded.
Example: SyncDirHidden [UserDocumentsDir],[UserHomeDir]\DocumentsBackup |
|
SyncExcludeClear | | Clears all exclude patterns for SyncDir and CopyDir. |
|
SyncExcludeDir <Directory> | Adds a directory to exclude from SyncDir and CopyDir. All subdirectories and subfiles are excluded. Multiple excludes are possible and wildcards are accepted.
Example: SyncExcludeDir Pictures |
|
SyncExcludeFile <FilePattern> | Adds a file pattern to exclude from SyncDir and CopyDir. Multiple excludes are possible. Wildcards are accepted like *.dat. Any file matching the patterns is not included.
Example: SyncExcludeFile *.mp3 |
|
|  |
 |
|
AddDirPermissions <Path>, <ACL> | Removes inherited permissions and ensures the defined accounts have the defined access to the directory including all subdirectories and subfiles. If the accounts already have permissions, they will be changed to the new access right. Any accounts not specified, will keep their existing access rights. ACL (Access Control List) is as a comma separated ACE (Access Control Entry) list in the format [<Domain>\]<AccountName>:<AccessRight>. Account name can be a user or a group. AccessRight is typically 'Read', 'Read And Execute', 'Modify', 'Write' or 'Full Control' (or abbreviated to R, RE, M, W and FC respectively); for a full list of access rights, select Extended Attributes in the Tools menu in the editor. To add multiple access rights to the same user, add the user more than once in the list. Use SetDirPermissions to specify a new ACL instead of replacing permissions. Requires admin privileges.
Example: AddDirPermissions [ProgramFilesDir]\Acme,Acme\CRMUsers:Read |
|
AddDirPermissionsDenied <Path>, <ACL> | Removes inherited permissions and denies access to the directory including all subdirectories and subfiles. ACL (Access Control List) is as a comma separated ACE (Access Control Entry) list in the format [<Domain>\]<AccountName>:<AccessRight>. Account name can be a user or a group. AccessRight is typically 'Read', 'Read And Execute', 'Modify', 'Write' or 'Full Control' (or abbreviated to R, RE, M, W and FC respectively); for a full list of access rights, select Extended Attributes in the Tools menu in the editor. To add multiple access rights to the same user, add the user more than once in the list. Use SetDirPermissions to specify a full ACL list. Requires admin privileges.
Example: AddDirPermissionsDenied [ProgramFilesDir]\Acme,Acme\CRMUsers:Read |
|
RemoveDirPermissions <Path>, <AccountName> | Removes inherited permissions and removes the specified account name from the ACL (Access Control List) on the directory including all subdirectories and subfiles. Account name can be a user or a group in the format [<Domain>\]<AccountName>. When specifying a specific user, be aware that the user can still have access, if the user is a member of a group that still has access. Requires admin privileges.
Example: RemoveDirPermissions [ProgramFilesDir]\Acme,Acme\CRMUsers |
|
SetDirOwner <Path>, <AccountName> | Sets the owner of to the specified account name including all subdirectories and subfiles.
Example: SetDirOwner [ProgramFilesDir]\Acme,[SystemAccount] |
|
SetDirPermissions <Path>, <ACL> | Removes inherited permissions and sets the directory permissions including all subdirectories and subfiles. ACL (Access Control List) is as a comma separated ACE (Access Control Entry) list in the format [<Domain>\]<AccountName>:<AccessRight>. Account name can be a user or a group. AccessRight is typically 'Read', 'Read And Execute', 'Modify', 'Write' or 'Full Control' (or abbreviated to R, RE, M, W and FC respectively); for a full list of access rights, select Extended Attributes in the Tools menu in the editor. To add multiple access rights to the same user, add the user more than once in the list. Use AddDirPermissions, AddDirPermissionsDenied and RemoveDirPermissions to modify to an existing ACL instead of creating a new one. Requires admin privileges.
Example: SetDirPermissions [ProgramFilesDir]\Acme,Acme\Domain Users:Read,Acme\Domain Admins:Full Control |
|
SetDirPermissionsInherited <Path> | Sets the directory and all subdirectories and subfiles to inherit permissions from it's parent directory. Requires admin privileges.
Example: SetDirPermissionsInherited [ProgramFilesDir]\Acme |
|
|  |
 |
|
SetEnvVar <Name>, <Value> | Sets a common environment variable.
Example: SetEnvVar LocalServer,[Var CurrentServer] |
|
SetUserEnvVar <Name>, <Value> | Sets a user specific environment variable.
Example: SetUserEnvVar LocalServer,[Var CurrentServer] |
|
|  |
 |
|
ClearEventLog <LogName> ClearEventLog <LogName>, <MachineName> | Clears an event log. LogName must be the name of the log to clear, for instance System or Application.
Example: ClearEventLog Application |
|
LogEvent <Source>, <EventText> LogEvent <Source>, <EventText>, <LogName> LogEvent <Source>, <EventText>, <LogName>, <MachineName> | Logs an event to the event log, which requires local admin rights. Source is the Source row in the event viewer, which is used to categorize events in a log. If log is not specified, Application is used by default.
You could use you company name for a custom log area, if you would like to isolate your own custom events. Be aware that Windows does not allow the same Source name to be used in multiple logs.
Example: LogEvent Installation,Installation of [CurrentInstallName] v[CurrentInstallVersion] complete at [Time] on [Date] |
|
|  |
 |
|
DoEvents | | Forces Windows to run its pending events. |
|
Exit | | Stops FastTrack execution. |
|
Halt <ErrorMessage> | Stops FastTrack execution with error, useful for installations when detecting errors.
Example: Halt "Installation of Microsoft Office 2010 was unsuccessful. Please contact HelpDesk." |
|
KillProcess <ProcessName> | Kills the specified process if it is running.
Example: KillProcess Setup.Exe |
|
Launch <Executable> Launch <Executable>, <Arguments> Launch <Executable>, <Username>, <EncryptedPassword> Launch <Executable>, <Arguments>, <Username>, <EncryptedPassword> | Launches a program without waiting for it to finish. Launch uses shell execution, meaning that implicit execution is also possible, like launching a web page or executing files that are associated without specifying the executable file.
Specify user as <Domain>\<Username> for a domain user. Password must be encrypted in the editor using Tools->Encrypt Password.
Example: If UserOnce ShowWelcome Then Launch http://intra.acme.com/Welcome |
|
LaunchHidden <Executable> LaunchHidden <Executable>, <Arguments> | Launches a program hidden, if possible, without waiting for it to finish. LaunchHidden uses shell execution, meaning that implicit execution is also possible, like launching a web page or executing files that are associated without specifying the executable file.
Example: LaunchHidden MyWorkerProgram.Exe |
|
LaunchMax <Executable> LaunchMax <Executable>, <Arguments> | Launches a program maximized without waiting for it to finish. LaunchMax uses shell execution, meaning that implicit execution is also possible, like launching a web page or executing files that are associated without specifying the executable file.
Example: If UserOnce ShowWelcome Then LaunchMax http://intra.acme.com/Welcome |
|
LaunchMin <Executable> LaunchMin <Executable>, <Arguments> | | Launches a program minimized without waiting for it to finish. LaunchMin uses shell execution, meaning that implicit execution is also possible, like launching a web page or executing files that are associated without specifying the executable file. |
|
LaunchScript <ScriptFile> LaunchScript <ScriptFile>, <Username>, <EncryptedPassword> | Launches another script without waiting for it to finish out of process. Specify user as <Domain>\<Username> for a domain user. Password must be encrypted in the editor using Tools->Encrypt Password.
Example: LaunchScript Cleanup.fsh |
|
Run <Executable> Run <Executable>, <Arguments> Run <Executable>, <Username>, <EncryptedPassword> Run <Executable>, <Arguments>, <Username>, <EncryptedPassword> | Runs a program and waits for it to finish. Exit code can be retrieved with the LastExitCode function.
Specify user as <Domain>\<Username> for a domain user. Password must be encrypted in the editor using Tools->Encrypt Password.
Example: Run Setup.Exe,/Config Acme.xml |
|
RunHidden <Executable> RunHidden <Executable>, <Arguments> | Runs a program hidden, if possible, and waits for it to finish. Exit code can be retrieved with the LastExitCode function.
Example: RunHidden MyMaintenanceTask.Exe |
|
RunMax <Executable> RunMax <Executable>, <Arguments> | Runs a program maximized and waits for it to finish. Exit code can be retrieved with the LastExitCode function.
Example: If UserOnce ShowWelcome Then RunMax [ProgramFilesDirx86]\Internet Explorer\IExplore.exe,http://intra.acme.com/Welcome |
|
RunMin <Executable> RunMin <Executable>, <Arguments> | | Runs a program minimized and waits for it to finish. Exit code can be retrieved with the LastExitCode function. |
|
RunScript <ScriptFile> RunScript <ScriptFile>, <Username>, <EncryptedPassword> | Runs another script out of process and waits for it to finish, not sharing script variables. To share variables between scripts, use the Include command.
Specify user as <Domain>\<Username> for a domain user. Password must be encrypted in the editor using Tools->Encrypt Password.
Example: RunScript \\AcmeServer\Installers$\Office2010\Install.fsh,Acme\Installer,<EncryptedPassword> |
|
Sleep <Seconds> | | Sleeps script for the specified number of seconds. |
|
SleepUntil <Time> | Sleeps the script until a specific time. If the time is already passed on the executing day, a sleep is done until the time the day after.
Example: SleepUntil 14:00 |
|
WaitForProcess <ProcessName> | Waits for the specified process to start and stop.
Example: WaitForProcess Setup.Exe |
|
WaitForProcessComplete <ProcessName> | Waits for the specified process to complete.
Example: WaitForProcessComplete Setup.Exe |
|
WaitForProcessStart <ProcessName> | Waits for the specified process to start.
Example: WaitForProcessStart Setup.Exe |
|
|  |
 |
|
AssociateExtension <Extension>, <Exefile> AssociateExtension <Extension>, <Exefile>, <Parameters> | Associates an extension with an exe file. Extension is without dot prefix. A system association requires local admin rights, but association per user can be done with AssociateUserExtension.
If parameters are not specified, the opened filename is send to the program as the only parameter. If parameters are specified, use "%1" (with quotes) to include the filename.
Example: AssociateExtension fsh,[FastTrackExe] |
|
AssociateUserExtension <Extension>, <Exefile> AssociateUserExtension <Extension>, <Exefile>, <Parameters> | Associates an extension with an exe file for the current user only. Extension is without dot prefix and overrules system associations.
If parameters are not specified, the opened filename is send to the program as the only parameter. If parameters are specified, use "%1" (with quotes) to include the filename.
Example: AssociateUserExtension fsh,[FastTrackExe] |
|
UnassociateExtension <Extension> | Unassociates an extension. Will ask the user to select an associated program when the extension is used.
Example: AssociateExtension fsh |
|
UnassociateUserExtension <Extension> | Unassociates an extension for the current user only. Will ask the user to select an associated program when the extension is used, unless a system association is also present for that extension.
Example: UnassociateUserExtension fsh |
|
|  |
 |
|
AddFilePermissions <Path>, <ACL> | Removes inherited permissions and ensures the defined accounts have the defined access to the file. If the accounts already have permissions, they will be changed to the new access right. Any accounts not specified, will keep their existing access rights. ACL (Access Control List) is as a comma separated ACE (Access Control Entry) list in the format [<Domain>\]<AccountName>:<AccessRight>. Account name can be a user or a group. AccessRight is typically 'Read', 'Read And Execute', 'Modify', 'Write' or 'Full Control' (or abbreviated to R, RE, M, W and FC respectively); for a full list of access rights, select Extended Attributes in the Tools menu in the editor. To add multiple access rights to the same user, add the user more than once in the list. Use SetFilePermissions to specify a new ACL instead of replacing permissions. Requires admin privileges.
Example: AddFilePermissions [ProgramFilesFile]\Acme\ReadMe.txt,Acme\CRMUsers:Read |
|
AddFilePermissionsDenied <Path>, <ACL> | Removes inherited permissions and denies access to the file. ACL (Access Control List) is as a comma separated ACE (Access Control Entry) list in the format [<Domain>\]<AccountName>:<AccessRight>. Account name can be a user or a group. AccessRight is typically 'Read', 'Read And Execute', 'Modify', 'Write' or 'Full Control' (or abbreviated to R, RE, M, W and FC respectively); for a full list of access rights, select Extended Attributes in the Tools menu in the editor. To add multiple access rights to the same user, add the user more than once in the list. Use SetFilePermissions to specify a full ACL list. Requires admin privileges.
Example: AddFilePermissionsDenied [ProgramFilesFile]\Acme\ReadMe.txt,Acme\CRMUsers:Read |
|
RemoveFilePermissions <Path>, <AccountName> | Removes inherited permissions and removes the specified account name from the ACL (Access Control List) on the file. Account name can be a user or a group in the format [<Domain>\]<AccountName>. When specifying a specific user, be aware that the user can still have access, if the user is a member of a group that still has access. Requires admin privileges.
Example: RemoveFilePermissions [ProgramFilesFile]\Acme\ReadMe.txt,Acme\CRMUsers |
|
SetFileOwner <Path>, <AccountName> | Sets the owner of to the specified account name.
Example: SetFileOwner [ProgramFilesDir]\Acme\Readme.Txt,[SystemAccount] |
|
SetFilePermissions <Path>, <ACL> | Removes inherited permissions and sets the file permissions explicitly. ACL (Access Control List) is as a comma separated ACE (Access Control Entry) list in the format [<Domain>\]<AccountName>:<AccessRight>. Account name can be a user or a group. AccessRight is typically 'Read', 'Read And Execute', 'Modify', 'Write' or 'Full Control' (or abbreviated to R, RE, M, W and FC respectively); for a full list of access rights, select Extended Attributes in the Tools menu in the editor. To add multiple access rights to the same user, add the user more than once in the list. Use AddFilePermissions, AddFilePermissionsDenied and RemoveFilePermissions to modify to an existing ACL instead of creating a new one. Requires admin privileges.
Example: SetFilePermissions [ProgramFilesFile]\Acme\ReadMe.txt,Acme\Domain Users:Read,Acme\Domain Admins:Full Control |
|
SetFilePermissionsInherited <Path> | Sets the file inherit permissions from it's parent file. Requires admin privileges.
Example: SetFilePermissionsInherited [ProgramFilesFile]\Acme\ReadMe.txt |
|
|  |
 |
|
AppendFile <File>, <Content> | Appends the content line to the file creating it if it does not exist.
Example: AppendFile \\MyServer\MyAdministrativeShare$\NetworkErrors.log,"[Date],[Time],[UserFullName],[LastError]" |
|
CopyFile <SourceFile>, <DestFile> | Copies a file, if it is changed. Directories are created recursively for destfile if missing.
Example: CopyFile [StartMenuDir]\Programs\Microsoft Office\Microsoft Office Word 2007.lnk, [UserDesktopDir]\Word 2007.lnk |
|
DeleteFile <Path> | Deletes the specified file if it exists.
Example: DeleteFile [Var TempFile] |
|
RenameFile <FilePath>, <NewFilePath> | | Rename or move dile. |
|
|  |
 |
|
MultiInput <HeaderText>, <ListOfFields> | Shows a list of input fields and returns every item in the list as a variable. Every variable is mandatory, unless the user cancels, in which case all variables will be empty. If the variable name must be different than the diplayed text, split a field with | where the variable name is before the split and the display text after the split.
Example: MultiInput New User,UserName|User name (Initials),First name,Last name,Password |
|
MultiInputForced <HeaderText>, <ListOfFields> | Shows a list of input fields and returns every item in the list as a variable. User cannot cancel and must fill in every field. If the variable name must be different than the diplayed text, split a field with | where the variable name is before the split and the display text after the split.
Example: MultiInputForced New User,UserName|User name (Initials),First name,Last name,Password |
|
RemoveSmallSplash | | Removes the SmallSplash, if it is visible. |
|
RemoveSplash | | Removes the Splash if it is visible. |
|
ShowMessage <Message> ShowMessage <Message>, <Caption> | Displays a message to the user. Preferably use quotes around texts to avoid misinterpretation of commas.
Example: ShowMessage Installation complete.[Return][Return]Press OK to continue. |
|
SmallSplash <Message> SmallSplash <Message>, <ImageFile> | Displays a small splash window at the bottom of the screen. Remember quotes around the message if it can contain commas. The optional imagefile must be either a skin or an icon file. If the image is exactly 416x91 pixels, it will be used as the background and removes the icon. If it is 64x64 or less it will be used as the icon. Png format is generally best because it supports 24 bit colors and transparency.
Example: SmallSplash Installing Microsoft Office...please wait. |
|
Splash <TextLine1>, <TextLine2> Splash <TextLine1>, <TextLine2>, <ImageFile> | Displays a splash window at the center of the screen. Remember quotes around the message if it can contain commas. The optional imagefile must be either a skin or an icon file. If the image is exactly 537x165 pixels, it will be used as the background and removes the icon. If it is 128x128 or less, it will be used as the icon. Png format is generally best, because it supports 24 bit colors and transparency. Using fasttrack logon, put your image file in fshbin and use for instance [UserAppDataDir]\FastTrack\Logo.Png as the third parameter.
Example: Splash Welcome to ACME Corporation,[UserFullName] |
|
|  |
 |
|
WriteIni <IniFile>, <Section>, <Key>, <value> | Sets the value in an ini file.
Example: WriteIni \\AcmeServer\AdminShare$\Inventory.ini,[ComputerName],Disk,[DiskSize] |
|
|  |
 |
|
RegisterInstallation <ApplicationName>, <Version>, <Build> | Registers an installation for later query. Build refers to the current revision of your script, so that new usersettings can be applied when the build is changed, even if the application version is the same.
Through the logon script, user settings can be applied to users logging on to machines with registered installations by using the UserSettingsOnce, UserSettingsOnceAVersion or UserSettingsOnceABuild conditions.
If there is a file named "PostInstall.fsh" in the FastTrack directory, it is executed when the script issuing RegisterInstallation is finishes. Functions CurrentInstallName and CurrentInstallVersion are available in the PostInstall script.
Example: RegisterInstallation Microsoft Office,2010,1 |
|
UnregisterInstallation <ApplicationName> | Unregisters an installation, if it is already registered. If there is a file named "PostUninstall.fsh" in the FastTrack directory, it is executed. Functions CurrentInstallName and CurrentInstallVersion are available in the PostUninstall script.
Example: UnregisterInstallation Microsoft Office |
|
|  |
 |
|
AddGroupToLocalGroup <DomainGroupName>, <LocalGroupName> AddGroupToLocalGroup <DomainGroupName>, <LocalGroupName>, <RemoteComputerName> | Adds a domain group to a local group, if not already member. If domain is different than the current users' domain, specify group as <Domain>\<DomainGroupName>.
Example: AddGroupToLocalGroup [DomainAdminsGroup],Administrators |
|
AddLocalUserToLocalGroup <UserName>, <GroupName> AddLocalUserToLocalGroup <UserName>, <GroupName>, <RemoteComputerName> | Adds a local user to a local group, if not already member.
Example: AddLocalUserToLocalGroup AcmeUser,AcmeGroup |
|
AddUserToLocalGroup <UserName>, <GroupName> AddUserToLocalGroup <UserName>, <GroupName>, <RemoteComputerName> | Adds an Active Directory user to a local group, if not already member. If domain is different than the current users' domain, specify user as <Domain>\<UserName>.
Example: AddUserToLocalGroup AcmeADUser,Administrators |
|
CreateLocalGroup <GroupName> CreateLocalGroup <GroupName>, <RemoteComputerName> | Creates a local group.
Example: CreateLocalGroup AcmeGroup |
|
DeleteLocalGroup <GroupName> DeleteLocalGroup <GroupName>, <RemoteComputerName> | Deletes a local group, if it exists.
Example: DeleteLocalGroup AcmeGroup |
|
RemoveGroupFromLocalGroup <DomainGroupName>, <LocalGroupName> RemoveGroupFromLocalGroup <DomainGroupName>, <LocalGroupName>, <RemoteComputerName> | Removes a domain group from a local group, if already member. If domain is different than the current users' domain, specify group as <Domain>\<DomainGroupName>.
Example: RemoveGroupFromLocalGroup [DomainAdminsGroup],Administrators |
|
RemoveLocalUserFromLocalGroup <UserName>, <GroupName> RemoveLocalUserFromLocalGroup <UserName>, <GroupName>, <RemoteComputerName> | Removes a local user from a local group, if already member.
Example: RemoveLocalUserFromLocalGroup AcmeUser,AcmeGroup |
|
RemoveUserFromLocalGroup <UserName>, <GroupName> RemoveUserFromLocalGroup <UserName>, <GroupName>, <RemoteComputerName> | Removes a Active Directory user from a local group, if already member. If domain is different than the current users' domain, specify user as <Domain>\<UserName>.
Example: RemoveUserFromLocalGroup AcmeADUser,Administrators |
|
RenameLocalGroup <GroupName>, <NewGroupName> RenameLocalGroup <GroupName>, <NewGroupName>, <RemoteComputerName> | Renames a local group.
Example: RenameLocalGroup AcmeGroup,AcmeNewGroup |
|
SetLocalGroupDescription <GroupName>, <Description> SetLocalGroupDescription <GroupName>, <Description>, <RemoteComputerName> | Changes the description of a local group.
Example: SetLocalGroupDescription AcmeGroup,Group for ACME test users |
|
|  |
 |
|
AllowLocalUserPasswordChange <UserName> AllowLocalUserPasswordChange <UserName>, <RemoteComputerName> | Enables the ability to change password for a local user.
Example: AllowLocalUserPasswordChange AcmeUser |
|
CreateLocalUser <UserName>, <EncryptedPassword> CreateLocalUser <UserName>, <EncryptedPassword>, <FullName> CreateLocalUser <UserName>, <EncryptedPassword>, <FullName>, <RemoteComputerName> | Adds a local user account. Password must be encrypted in the editor using Tools->Encrypt Password. Use CreateUser to create an Active Directory user.
Example: CreateLocalUser AcmeUser, Akut3sRS6e3kJHztyeqg9w==, Test acme user |
|
CreateLocalUserPlain <UserName>, <PlainTextPassword> CreateLocalUserPlain <UserName>, <PlainTextPassword>, <FullName> CreateLocalUserPlain <UserName>, <PlainTextPassword>, <FullName>, <RemoteComputerName> | Adds a local user account. Password is entered as plain text. CreateLocalUser is recommended, unless the password is retrieved from user input. Use CreateUserPlain to create an Active Directory user.
Example: CreateLocalUserPlain AcmeUser, AcmePassword, Test acme user |
|
DeleteLocalUser <UserName> DeleteLocalUser <UserName>, <RemoteComputerName> | Deletes a local user account, if it exists.
Example: DeleteLocalUser AcmeUser |
|
DisableLocalUser <UserName> DisableLocalUser <UserName>, <RemoteComputerName> | Disables a local user, if it is currently enabled.
Example: DisableLocalUser AcmeUser |
|
DisableLocalUserMustChangePassword <UserName> DisableLocalUserMustChangePassword <UserName>, <RemoteComputerName> | Sets the user to not be forced to change password at next logon.
Example: DisableLocalUserMustChangePassword AcmeUser |
|
DisableLocalUserPasswordExpiry <UserName> DisableLocalUserPasswordExpiry <UserName>, <RemoteComputerName> | Disables expiration of password for a local user.
Example: DisableLocalUserPasswordExpiry AcmeUser |
|
DisallowLocalUserPasswordChange <UserName> DisallowLocalUserPasswordChange <UserName>, <RemoteComputerName> | Disables the ability to change password for a local user.
Example: DisallowLocalUserPasswordChange AcmeUser |
|
EnableLocalUser <UserName> EnableLocalUser <UserName>, <RemoteComputerName> | Enables a local user, if it is currently disabled.
Example: EnableLocalUser AcmeUser |
|
EnableLocalUserMustChangePassword <UserName> EnableLocalUserMustChangePassword <UserName>, <RemoteComputerName> | Sets the user to must change password at next logon.
Example: EnableLocalUserMustChangePassword AcmeUser |
|
EnableLocalUserPasswordExpiry <UserName> EnableLocalUserPasswordExpiry <UserName>, <RemoteComputerName> | Enables expiration of password for a local user.
Example: EnableLocalUserPasswordExpiry AcmeUser |
|
RenameLocalUser <UserName>, <NewName> RenameLocalUser <UserName>, <NewName>, <RemoteComputerName> | Renames a local user.
Example: RenameLocalUser AcmeUser, AcmeRenamedUser |
|
SetLocalUserDescription <UserName>, <Description> SetLocalUserDescription <UserName>, <Description>, <RemoteComputerName> | Changes the description of a local user.
Example: SetLocalUserDescription AcmeUser, Acme test user for demonstration purposes |
|
SetLocalUserFullName <UserName>, <Description> SetLocalUserFullName <UserName>, <Description>, <RemoteComputerName> | Changes the full name of a local user.
Example: SetLocalUserFullName AcmeUser, Acme test user |
|
SetLocalUserHomeDir <UserName>, <Path> SetLocalUserHomeDir <UserName>, <Path>, <RemoteComputerName> | | Changes the home path of a local user. Enter blank path to clear the home path. |
|
SetLocalUserHomeDrive <UserName>, <Drive> SetLocalUserHomeDrive <UserName>, <Drive>, <RemoteComputerName> | | Changes the home drive of a local user (e.g. H:). Enter blank path to clear the home drive. |
|
SetLocalUserLogonScript <UserName>, <Path> SetLocalUserLogonScript <UserName>, <Path>, <RemoteComputerName> | | Changes the logon script path of a local user. Enter blank path to clear the logon script. |
|
SetLocalUserPassword <UserName>, <EncryptedPassword> SetLocalUserPassword <UserName>, <EncryptedPassword>, <RemoteComputerName> | Changes the password of a local user. Password must be encrypted in the editor using Tools->Encrypt Password.
Example: SetLocalUserPassword AcmeUser, Akut3sRS6e3kJHztyeqg9w== |
|
SetLocalUserPasswordPlain <UserName>, <PlainTextPassword> SetLocalUserPasswordPlain <UserName>, <PlainTextPassword>, <RemoteComputerName> | Changes the password of a local user. Password is entered as plain text. SetLocalUserPassword is recommended, unless the password is retrieved from user input.
Example: SetLocalUserPasswordPlain AcmeUser, AcmePassword |
|
SetLocalUserProfilePath <UserName>, <Path> SetLocalUserProfilePath <UserName>, <Path>, <RemoteComputerName> | | Changes the profile path of a local user. Enter blank path to clear the profile path. |
|
UnlockLocalUser <UserName> UnlockLocalUser <UserName>, <RemoteComputerName> | Unlocks a local user, if it is currently locked.
Example: UnlockLocalUser AcmeUser |
|
|  |
 |
|
SendMail <SmtpServer>, <Port>, <SenderEmail>, <SenderDisplayName>, <ReceiverEmail>, <Subject>, <Body> SendMail <SmtpServer>, <Port>, <SenderEmail>, <SenderDisplayName>, <ReceiverEmail>, <Subject>, <Body>, <Username>, <EncryptedPassword> | Sends smtp email as html. ReceiverEMail can contain multiple email adresses by splitting with a | (pipe character). Use the FileContent function to get the body content from a file. Remeber to quote body and subject if they contain commas.
If the smtp server requires credentials, the password must be encrypted in the editor using Tools->Encrypt Password.
Example: If Not Installed Microsoft Office Then SendMail mail.acme.com,25,mail-robot@acme.com,[UserFullName],helpdesk@acme.com,Installation Request,[UserFullName] needs installation of Microsoft Office on computer [ComputerName] |
|
SendMailPlain <SmtpServer>, <Port>, <SenderEmail>, <SenderDisplayName>, <ReceiverEmail>, <Subject>, <Body> SendMailPlain <SmtpServer>, <Port>, <SenderEmail>, <SenderDisplayName>, <ReceiverEmail>, <Subject>, <Body>, <Username>, <EncryptedPassword> | Sends smtp email as plain text. ReceiverEMail can contain multiple email adresses by splitting with a | (pipe character). Use the FileContent function to get the body content from a file. Remeber to quote body and subject if they contain commas.
If the smtp server requires credentials, the password must be encrypted in the editor using Tools->Encrypt Password.
Example: If Not Installed Microsoft Office Then SendMailPlain mail.acme.com,25,mail-robot@acme.com,[UserFullName],helpdesk@acme.com,Installation Request,[UserFullName] needs installation of Microsoft Office on computer [ComputerName] |
|
|  |
 |
|
Beep | | Plays the system beep sound. |
|
PlaySound <SoundFile> | | Plays a sound file asynchronously. |
|
|  |
 |
|
ConnectPrinter <UNCPath> | Connects a network printer.
Example: ConnectPrinter \\AcmePrintServer\AcmePrt25 |
|
DisconnectNonConnectedPrinters | | Will disconnect any network printer that has not been connected with the current script. Very useful for disconnecting all printers the user has no need for, for instance when changing location.
Unlike a share connection, connecting a printer is slow, making a disconnect and connect very slow. Use ConnectPrinter for each printer and use DisconnectNonConnectedPrinters to disconnect the rest of the network printers. |
|
DisconnectPrinter <UNCPath> | Disconnects a network printer.
Example: DisconnectPrinter \\AcmePrintServer\AcmePrt25 |
|
SetPrinterDefault <Name> | Sets the default printer. For a local printer, use the name displayed in the control panel. For a network printer, use the unc path.
Example: SetPrinterDefault \\AcmePrintServer\AcmePrt25 |
|
|  |
 |
|
AddRegistryPermissions <Path>, <ACL> | Removes inherited permissions and ensures the defined accounts have the defined access to the registry key including all subkeys and subvalues. If the accounts already have permissions, they will be changed to the new access right. Any accounts not specified, will keep their existing access rights. ACL (Access Control List) is as a comma separated ACE (Access Control Entry) list in the format [<Domain>\]<AccountName>:<AccessRight>. Account name can be a user or a group. AccessRight is typically 'Read' or 'Full Control' (or abbreviated to R and FC respectively); for a full list of access rights, select Extended Attributes in the Tools menu in the editor. Registry roots keys HKey_Local_Machine, HKey_Current_User and HKey_Classes_Root can be abbreviated to HKLM, HKCU and HKCR. To add multiple access rights to the same user, add the user more than once in the list. Use SetRegistryPermissions to specify a new ACL instead of replacing permissions. Requires admin privileges.
Example: AddRegistryPermissions HKLM\Software\Acme,Acme\CRMUsers:Read |
|
AddRegistryPermissionsDenied <Path>, <ACL> | Removes inherited permissions and denies access to the registry key including all subkeys and subvalues. ACL (Access Control List) is as a comma separated ACE (Access Control Entry) list in the format [<Domain>\]<AccountName>:<AccessRight>. Account name can be a user or a group. AccessRight is typically 'Read' or 'Full Control' (or abbreviated to R and FC respectively); for a full list of access rights, select Extended Attributes in the Tools menu in the editor. Registry roots keys HKey_Local_Machine, HKey_Current_User and HKey_Classes_Root can be abbreviated to HKLM, HKCU and HKCR. To add multiple access rights to the same user, add the user more than once in the list. Use SetDirPermissions to specify a full ACL list. Requires admin privileges.
Example: AddRegistryPermissionsDenied HKLM\Software\Acme,Acme\CRMUsers:Read |
|
RemoveRegistryPermissions <Path>, <AccountName> | Removes inherited permissions and removes the specified account name from the ACL (Access Control List) on the registry key including all subkeys and subvalues. Account name can be a user or a group in the format [<Domain>\]<AccountName>. When specifying a specific user, be aware that the user can still have access, if the user is a member of a group that still has access. Registry roots keys HKey_Local_Machine, HKey_Current_User and HKey_Classes_Root can be abbreviated to HKLM, HKCU and HKCR. Requires admin privileges.
Example: RemoveRegistryPermissions HKLM\Software\Acme,Acme\CRMUsers |
|
SetRegistryOwner <Path>, <AccountName> | Sets the owner of to the specified account name including all subkeys and subvalues.
Example: SetRegistryOwner HKLM\Software\Acme,[SystemAccount] |
|
SetRegistryPermissions <Path>, <ACL> | Removes inherited permissions and sets the registry permissions including all subkeys and subvalues. ACL (Access Control List) is as a comma separated ACE (Access Control Entry) list in the format [<Domain>\]<AccountName>:<AccessRight>. Account name can be a user or a group. AccessRight is typically 'Read' or 'Full Control' (or abbreviated to R and FC respectively); for a full list of access rights, select Extended Attributes in the Tools menu in the editor. Registry roots keys HKey_Local_Machine, HKey_Current_User and HKey_Classes_Root can be abbreviated to HKLM, HKCU and HKCR. To add multiple access rights to the same user, add the user more than once in the list. Use AddRegistryPermissions, AddRegistryPermissionsDenied and RemoveRegistryPermissions to modify to an existing ACL instead of creating a new one. Requires admin privileges.
Example: SetRegistryPermissions HKLM\Software\Acme,Acme\Domain Users:Read,Acme\Domain Admins:Full Control |
|
SetRegistryPermissionsInherited <Path> | Sets the registry and all subkey and subvalues to inherit permissions from it's parent. Registry roots keys HKey_Local_Machine, HKey_Current_User and HKey_Classes_Root can be abbreviated to HKLM, HKCU and HKCR. Requires admin privileges.
Example: SetRegistryPermissionsInherited HKLM\Software\Acme |
|
|  |
 |
|
CreateRegistryKey <Key> | Creates a registry key with nothing in it, if it does not exist. Any missing keys in the path are created recursively. HKey_Local_Machine, HKey_Current_User and HKey_Classes_Root can be abbreviated to HKLM, HKCU and HKCR.
Example: CreateRegistryKey HKCU\Software\Acme |
|
CreateRegistryKeyx86 <Key> | Creates a registry key with nothing in it, if it does not exist. Any missing keys in the path are created recursively. HKey_Local_Machine, HKey_Current_User and HKey_Classes_Root can be abbreviated to HKLM, HKCU and HKCR. Key is created in the redirected registry for 32-bit applications on a 64-bit operating system. Works the same as CreateRegistryKey on a 32-bit operating system and for non-redirected keys.
Example: CreateRegistryKeyx86 HKCU\Software\Acme |
|
DeleteRegistryKey <Key> | Deletes a registry key including anything below it if it exists. HKey_Local_Machine, HKey_Current_User and HKey_Classes_Root can be abbreviated to HKLM, HKCU and HKCR.
Example: DeleteRegistryKey HKCU\Software\Acme |
|
DeleteRegistryKeyx86 <Key> | Deletes a registry key including anything below it if it exists. HKey_Local_Machine, HKey_Current_User and HKey_Classes_Root can be abbreviated to HKLM, HKCU and HKCR. Key is deleted in the redirected registry for 32-bit applications on a 64-bit operating system. Works the same as DeleteRegistryKey on a 32-bit operating system and for non-redirected keys.
Example: DeleteRegistryKeyx86 HKCU\Software\Acme |
|
DeleteRegistryValue <Key>, <Value> | Deletes a registry value if it exists. HKey_Local_Machine, HKey_Current_User and HKey_Classes_Root can be abbreviated to HKLM, HKCU and HKCR.
Example: DeleteRegistryValue HKCU\Software\Acme\DefaultSavePath |
|
DeleteRegistryValuex86 <Key>, <Value> | Deletes a registry value if it exists. HKey_Local_Machine, HKey_Current_User and HKey_Classes_Root can be abbreviated to HKLM, HKCU and HKCR. Value is deleted in the redirected registry for 32-bit applications on a 64-bit operating system. Works the same as DeleteRegistryValue on a 32-bit operating system and for non-redirected keys.
Example: DeleteRegistryValuex86 HKCU\Software\Acme\DefaultSavePath |
|
WriteRegistry <Key>, <Value> WriteRegistry <Key>, <Value>, <Type> | Writes a registry value. HKey_Local_Machine, HKey_Current_User and HKey_Classes_Root can be abbreviated to HKLM, HKCU and HKCR. Any missing keys will be created recursively. If type is omitted, a string is assumed. Type can be "REG_SZ" (default), "REG_DWORD" (numeric), "REG_QWORD" (64-bit numeric) or "REG_EXPAND_SZ".
Example: WriteRegistry HKCU\Control Panel\Desktop\WallPaper,[WinDir]\Acme.png |
|
WriteRegistryx86 <Key>, <Value> WriteRegistryx86 <Key>, <Value>, <Type> | Writes a registry value. Value is written to the redirected registry for 32-bit applications on a 64-bit operating system. Works the same as WriteRegistry 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. Any missing keys will be created recursively. If type is omitted, a string is assumed. Type can be "REG_SZ" (default), "REG_DWORD" (numeric), "REG_QWORD" (64-bit numeric) or "REG_EXPAND_SZ".
Example: WriteRegistryx86 HKCU\Software\Acme\DefaultSavePath,[UserDocumentsDir] |
|
|  |
 |
|
SetScreenRes <Width>, <Height> SetScreenRes <Width>, <Height>, <Depth> SetScreenRes SetScreenRes <Width>, <Height>, <Depth>, <RefreshRate> | Changes screen resolution, with optional Depth and refresh rate. If the resolution cannot be changed, no error occurs. This is to ensure that it is safe to attempt an automated change for instance in a logon script, if the resolution is considered too low.
Example: If [ScreenWidth]<1024 Then SetScreenRes 1024,768,32 |
|
|  |
 |
|
StartService <Name> StartService <Name>, <RemoteComputerName> StartService <Name>, <Username>, <EncryptedPassword> StartService <Name>, <RemoteComputerName>, <Username>, <EncryptedPassword> | Starts a service if possible, does nothing if it is already stopped or stop is pending. Use <Domain>\<Username> for a domain user.
Example: StartService MSSQL$SQLEXPRESS |
|
StopService <Name> StopService <Name>, <RemoteComputerName> StopService <Name>, <Username>, <EncryptedPassword> StopService <Name>, <RemoteComputerName>, <Username>, <EncryptedPassword> | Stops a service if possible, does nothing if it is already stopped or stop is pending. Use <Domain>\<Username> for a domain user.
Example: StopService MSSQL$SQLEXPRESS |
|
|  |
 |
|
AddSharePermissions <Path>, <ACL> | Adds permissions to the share. If the accounts already have permissions, they will be changed to the new access right. Any accounts not specified, will keep their existing access rights. ACL (Access Control List) is as a comma separated ACE (Access Control Entry) list in the format [<Domain>\]<AccountName>:<AccessRight>. Account name can be a user or a group. AccessRight can be 'Read', 'Change', or 'Full Control' (or abbreviated to R, C and FC respectively).Use SetSharePermissions to specify a new ACL instead of replacing permissions. Requires admin privileges.
Example: AddSharePermissions \\[ComputerName]\WinShared$,Acme\CRMUsers:Read |
|
AddSharePermissionsDenied <UncPath>, <ACL> | Denies access to the share. ACL (Access Control List) is as a comma separated ACE (Access Control Entry) list in the format [<Domain>\]<AccountName>:<AccessRight>. Account name can be a user or a group. AccessRight can be 'Read', 'Change', or 'Full Control' (or abbreviated to R, C and FC respectively).Use SetSharePermissions to specify a full ACL list. Requires admin privileges.
Example: AddSharePermissionsDenied \\[ComputerName]\WinShared$,Acme\CRMUsers:Read |
|
RemoveSharePermissions <Path>, <AccountName> | Removes permissions for the specified account name from the ACL (Access Control List) on the share. Account name can be a user or a group in the format [<Domain>\]<AccountName>. When specifying a specific user, be aware that the user can still have access, if the user is a member of a group that still has access. Requires admin privileges.
Example: RemoveSharePermissions \\[ComputerName]\WinShared$,Acme\CRMUsers |
|
SetSharePermissions <UncPath>, <ACL> | Sets share permissions. ACL (Access Control List) is as a comma separated ACE (Access Control Entry) list in the format [<Domain>\]<AccountName>:<AccessRight>. Account name can be a user or a group. AccessRight can be 'Read', 'Change', or 'Full Control' (or abbreviated to R, C and FC respectively).Use AddSharePermissions, AddSharePermissionsDenied and RemoveSharePermissions to modify to an existing ACL instead of creating a new one. Requires admin privileges.
Example: SetSharePermissions \\[ComputerName]\WinShared$,Acme\Domain Users:Read,Acme\Domain Admins:Full Control |
|
|  |
 |
|
ConnectShare <DriveLetter>:, <UNCPath> ConnectShare <DriveLetter>:, <UNCPath>, <DisplayName> ConnectShare <DriveLetter>:, <UNCPath>, <Username>, <EncryptedPassword> ConnectShare <DriveLetter>:, <UNCPath>, <DisplayName>, <Username>, <EncryptedPassword> | Connects a network share. If no user is specified, the current user's credentials will be used.
Specify user as <Domain>\<Username> for a domain user. Password must be encrypted in the editor using Tools->Encrypt Password.
Optional DisplayName will be displayed in the explorer instead of the unc path.
Example: ConnectShare J:,\\AcmeServer\CommonShare |
|
CreateShare <Path>, <UNCPath> CreateShare <Path>, <UNCPath>, <Description> | Creates a share with the specified name.
Example: CreateShare [WinDir],\\[ComputerName]\WinShared$ |
|
DisconnectAllShares | | Disconnects all connected network drives. |
|
DisconnectShare <DriveLetter>: | Disconnects a network share, if already connected.
Example: DisconnectShare M: |
|
RemoveShare <UNCPath> | Removes a share, if it exists.
Example: CreateShare \\[ComputerName]\WinShared$ |
|
|  |
 |
|
CreateShortCut <Path>, <Name>, <ExePath> CreateShortCut <Path>, <Name>, <ExePath>, <ExeArguments> CreateShortCut <Path>, <Name>, <ExePath>, <ExeArguments>, <IconPath> | Creates a shortcut. Use functions like [UserProgramsDir] and [UserDesktopDir] as the path for placing icons in the start menu, desktop, etc. To specify a custom icon but no arguments, specify empty arguments.
Example: CreateShortcut [UserProgramsDir],Notepad,[WinDir]\Notepad.exe |
|
|  |
 |
|
RemoveStartupItem <LogicalName> | | Removes an item that starts when any user logs on to the computer; requires administrative privileges. |
|
RemoveUserStartupItem <LogicalName> | | Removes an item that starts when current user logs on to the computer. |
|
SetStartupItem <LogicalName>, <Executable> SetStartupItem <LogicalName>, <Executable>, <Parameters> | Sets an executable to start when any user logs on to the computer; requires administrative privileges.
Example: If Portable Then SetStartupItem SmartDock,[UserAppDataDir]\FastTrack\SmartDock.exe |
|
SetUserStartupItem <LogicalName>, <Executable> SetUserStartupItem <LogicalName>, <Executable>, <Parameters> | Sets an executable to start when the current user logs on to the computer.
Example: If Portable Then SetUserStartupItem SmartDock,[UserAppDataDir]\FastTrack\SmartDock.exe |
|
|  |
 |
|
Logoff | | Logs off the current user, not forcing the logoff. The logged on user can cancel the logoff. |
|
LogoffForced | | Logs off the current user, forcing the logoff, effectively disabling the logged on user to save open files. |
|
Reboot | | Reboots the system, not forcing the reboot. The logged on user can cancel the reboot. |
|
RebootForced | | Reboots the system, forcing the reboot, effectively disabling the logged on user to save open files. |
|
RefreshEnvironment | | Tells Windows that settings in the environment has changed and must be refreshed. If you for instance change the wallpaper registry key and want Windows to reflect the change in the current session, you can do this with RefreshEnvironment. |
|
ShutDown | | Shuts down the system, not forcing the shutdown. The logged on user can cancel the shutdown. |
|
ShutDownForced | | Shuts down the system, forcing the shutdown, effectively disabling the logged on user to save open files. |
|
|  |
 |
|
AppendVar <Key>, <AppendValue> | | Appends a variable with the value, creating the variable it if it does not exist. |
|
ClearVariables | | Clears all internal variables. |
|
DecVar <VariableName> | Subtracts 1 from a variable. Variable must be a number.
Example: DecVar Counter |
|
Goto <Label> | Goto label. A label is a line that ends with colon, useful with menus.
Example: If Not [Var MenuChoice]=[Blank] Then Goto [Var MenuChoice] |
|
Include <ScriptFile> | Includes another script into the current script sharing all variables. Use RunScript or LaunchScript to start a script out of process, not sharing variables.
Example: If UserSettingsOnce Microsoft Office Then Include Settings\OfficeSettings.fsh |
|
IncVar <VariableName> | Adds 1 to a variable. Variable must be a number.
Example: IncVar Counter |
|
SetVar <Key>, <Value> | Sets or overwrites an internal variable.
Example: SetVar DiskModel,[WMIQuery SELECT Model FROM Win32_DiskDrive] |
|
|  |
 |
|
DisableProxyServer | | Clears proxy server for the current user. Will also be disabled for running browsers and processes. |
|
EnableProxyServer | | Enables the current proxy server for the current user. Will also be enabled for running browsers and processes. |
|
SendHttpData <Url> SendHttpData <Url>, <FormData> SendHttpData <Url>, <UserName>, <EncryptedPassword> SendHttpData <Url>, <FormData>, <UserName>, <EncryptedPassword> | Makes a http request, usable for reporting to a web server. Use the function HttpRequest if the returned data are needed.
FormData is optional POST (form) data for the request in url format like param1=value1¶m2=value2.
If optional password is used, it must be encrypted in the editor using Tools->Encrypt Password.
Example: SendHttpData http://reporting.acme.com/clientreport.aspx?machinename=[ComputerName]&time=[Time]&date=[date] |
|
SetProxyServer <Server>, <Port> | Sets and enables proxy server for the current user. The setting will also take effect on running browsers.
Example: SetProxyServer acmeproxy.acme.com,8080 |
|
ShowWebPage <Url>, <HeaderText> | Shows an embedded browser inside a window with a header text on top and a window caption. When the user clicks 'OK', the script continues.
Example: If UserOnce ShowWelcome Then ShowWebPage http://intra.acme.com/Welcome,Welcome to Acme |
|
|  |
 |
|
WriteXMLAttribute <File>, <Path>, <Attribute>, <Value> | Writes the attribute into the xml file at the specified x-path location, creating the file and all subelements it they do not exist. Path must be separated by /. Remember that there can be only one root element in XML files.
Example: WriteXMLAttribute PrinterList.xml,Settings/Printers/Houston/Printer334,Server,ACMESERVER01 |
|
WriteXMLValue <File>, <Path>, <Value> | Writes the value into the xml file at the specified x-path, creating the file and all subelements it they do not exist. Path must be separated by /. Remember that there can be only one root element in XML files.
Example: WriteXMLValue PrinterList.xml,Settings/Printers/Houston/Printer334,PRS01 |
|
|  |
 |
|
UnZip <ZipFile>, <Directory> UnZip <ZipFile>, <Directory>, <EncryptedPassword> | Unzips a file to a directory. If optional password is used, it must be encrypted in the editor using Tools->Encrypt Password.
Example: If FileExists [UserHomeDir]\DocumentsBackup.zip Then UnZip [UserHomeDir]\DocumentsBackup.zip,[UserDocumentsDir]\Restore |
|
Zip <Source>, <ZipFile> Zip <Source>, <ZipFile>, <EncryptedPassword> | Zips a file or a directory including subdirectories/subfiles to a zip file. If optional password is used, it must be encrypted in the editor using Tools->Encrypt Password.
Example: Zip [UserDocumentsDir],[UserHomeDir]\DocumentsBackup.zip |
|
|  |
|
|
|