Sample Scripting Reference
The following are Visual Basic script examples showing common operations that can be performed with the Application Control scripting interface:
Creating New Configurations

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the default configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.DefaultConfiguration
Configuration.ParseXML ConfigurationXml
ConfigurationHelper.SaveLocalConfiguration "C:\Configuration.aamp",Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the default configuration
Configuration.ParseXML ConfigurationHelper.DefaultConfiguration
'Save the blank configuration to file.
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing
Loading Live Configurations

''Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the Live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the configuration from file
Dim ConfigurationXml
ConfigurationXml =
ConfigurationHelper.LoadLocalConfiguration("C:\Configuration.aamp")
Configuration.ParseXML ConfigurationXml
ConfigurationHelper.SaveLocalConfiguration "C:\Configuration.aamp",
Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing
Default Rules

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
Configuration.DefaultRules.AllowCMDForBatchFiles = True
Configuration.DefaultRules.ValidateSystemProcesses = False
'Add a trusted owner to the configuration
Dim theTrustedOwner
Set theTrustedOwner = Configuration.CreateInstanceFromClassName("AM.TrustedOwner")
theTrustedOwner.DisplayName = "%COMPUTERNAME%\Guest"
theTrustedOwner.SID = "S-1-5-Domain-501"
Configuration.DefaultRules.TrustedOwners.Add theTrustedOwner.Xml
'Save the configuration to file.
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing
The DefaultConfiguration( ) method only returns a configuration in the English language. This means that some group names and other text in the configuration may not be in the native language of the operating system, which can result in the configuration not being applied correctly. For non-English operating systems it is necessary to export the default configuration from the product console on a native operating system. This can be stored as a file on the network or distributed to the machine where the configuration scripting will be performed. Once this is done, use the LoadLocalConfiguration( ) method in place of the DefaultConfiguration( ). This will produce the same configuration but in the correct native language.
Group Rules

Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
Dim GroupRule
Set GroupRule = Configuration.CreateInstanceFromClassName("AM.GroupRule")
GroupRule.DisplayName = "BUILTIN\Remote Desktop Users"
GroupRule.Name = GroupRule.DisplayName
GroupRule.SID = "S-1-5-32-555"
Set GroupRule = Configuration.GroupRules.Add(GroupRule.Xml)
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Change the SID of the Everyone group
Configuration.GroupRules.Item("Everyone").SID = "S-1-1-0"
'Save the live configuration
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Create the group rule
Dim GroupRule
Set GroupRule = Configuration.CreateInstanceFromClassName("AM.GroupRule")
GroupRule.DisplayName = "BUILTIN\Remote Desktop Users"
GroupRule.Name = GroupRule.DisplayName
GroupRule.SID = "S-1-5-32-555"
Configuration.GroupRules.Add GroupRule.Xml
'Delete the rule
Configuration.GroupRules.Remove "BUILTIN\Remote Desktop Users"
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing
User Rules

Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Create and add the new user rule
Dim UserRule
Set UserRule = Configuration.CreateInstanceFromClassName("AM.UserRule")
UserRule.DisplayName = "%COMPUTERNAME%\Guest"
UserRule.Name = UserRule.DisplayName
UserRule.SID = "S-1-5-Domain-501"
Configuration.UserRules.Add UserRule.Xml
'Save the live configuration
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Modify the user rule
Dim UserRule
Set UserRule = Configuration.UserRules.Item("%COMPUTERNAME%\Guest")
UserRule.SID = "S-1-5-Domain-501"
'Save the live configuration
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Modify the user rule
Dim UserRule
Set UserRule = Configuration.UserRules.Item("%COMPUTERNAME%\Guest")
UserRule.SID = "S-1-5-Domain-501"
'Save the live configuration
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing
Device Rules

' Constant definitions for the AM.HostType enumeration.
const AM_DeviceType_Computer = 0
const AM_DeviceType_ConnectingDevice = 1
const AM_DeviceType_Either = 2
' Constant definitions for the AM.HostNameType enumeration.
const AM_HostNameType_HostName = 0
const AM_HostNameType_IPAddress = 1
const AM_HostNameType_ComputerGroup = 2
const AM_HostNameType_OU = 3
'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Create a device rule
Dim DeviceRule
Set DeviceRule = Configuration.CreateInstanceFromClassName("AM.DeviceRule")
DeviceRule.Name = "Device Rule (1)"
Configuration.DeviceRules.Add DeviceRule.Xml
'Add a device to the rule
Dim Device
Set Device = Configuration.CreateInstanceFromClassName("AM.Device")
Device.Host = "MyComputer"
Device.NameType = AM_HostNameType_HostName
Configuration.DeviceRules.Item("Device Rule (1)").Devices.Add Device.Xml
'Add another device to the rule
Dim AnotherDevice
Set AnotherDevice = Configuration.CreateInstanceFromClassName("AM.Device")
AnotherDevice.Host = "192.168.0.2"
AnotherDevice.NameType = AM_HostNameType_IPAddress
Configuration.DeviceRules.Item("Device Rule (1)").Devices.Add AnotherDevice.Xml
Configuration.DeviceRules.Item("Device Rule
(1)").Devices.Item("192.168.0.2").HostType = AM_DeviceType_ConnectingDevice
'Add device using Computer Group
Dim ComputerGroupMembership
Set ComputerGroupMembership = Configuration.CreateInstanceFromClassName("AM.Device")
ComputerGroupMembership.Host =
"CN=Finance,OU=Administration,OU=Corporate,DC=myDomain"
ComputerGroupMembership.NameType = AM_HostNameType_ComputerGroup
Configuration.DeviceRules.Item("Device Rule (1)").Devices.Add
ComputerGroupMembership.Xml
'Add device using OU
Dim OUMembership
Set OUMembership = Configuration.CreateInstanceFromClassName("AM.Device")
OUMembership.Host = "OU=HR,OU=Administration,OU=Corporate,DC=myDomain"
OUMembership.NameType = AM_HostNameType_OU
Configuration.DeviceRules.Item("Device Rule (1)").Devices.Add OUMembership.Xml
'Save the live configuration
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

' Constant definitions for the AM.SecurityLevel enumeration.
const AM_SecurityLevel_Restricted = 0
const AM_SecurityLevel_SelfAuthorizing = 1
const AM_SecurityLevel_Unrestricted = 2
const AM_SecurityLevel_AuditOnly = 3
' Constant definitions for the AM.HostType enumeration.
const AM_DeviceType_Computer = 0
const AM_DeviceType_ConnectingDevice = 1
const AM_DeviceType_Either = 2
' Constant definitions for the AM.HostNameType enumeration.
const AM_HostNameType_HostName = 0
const AM_HostNameType_IPAddress = 1
const AM_HostNameType_ComputerGroup = 2
const AM_HostNameType_OU = 3
'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Create a device rule
Dim DeviceRule
Set DeviceRule = Configuration.CreateInstanceFromClassName("AM.DeviceRule")
DeviceRule.Name = "Device Rule (1)"
Configuration.DeviceRules.Add DeviceRule.Xml
Configuration.DeviceRules.Item("Device Rule (1)").Name = "My Device Rule"
Configuration.DeviceRules.Item("Device Rule (1)").SecurityLevel =
AM_SecurityLevel_AuditOnly
'Save the live configuration
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Remove "Device Rule(1)"
Configuration.DeviceRules.Remove "Device Rule (1)"
'Save the live configuration
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing
Scripted Rules

' Constant definitions for the AM.ExecutionContext enumeration.
const AM_ExecutionContext_PerSessionAsUser = 0
const AM_ExecutionContext_PerSessionAsSystem = 1
const AM_ExecutionContext_PerComputerAsSystem = 2
'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Create the scripted rule.
Dim ScriptedRule
Set ScriptedRule = Configuration.CreateInstanceFromClassName("AM.ScriptedRule")
ScriptedRule.Name = "Scripted Rule (1)"
Configuration.ScriptedRules.Add ScriptedRule.Xml
Configuration.ScriptedRules.Item("Scripted Rule (1)").WaitForLogin = True
Configuration.ScriptedRules.Item("Scripted Rule (1)").Script = "Function
ScriptedRule()" & Chr(10) & "'Test scripted rule" & Chr(10) & "ScriptedRule=TRUE" &
Chr(10) & "End Function"
Configuration.ScriptedRules.Item("Scripted Rule (1)").EntryFunction = "ScriptedRule"
Configuration.ScriptedRules.Item("Scripted Rule (1)").Timeout = 6
Configuration.ScriptedRules.Item("Scripted Rule (1)").Context =
AM_ExecutionContext_PerSessionAsSystem
'Save the live configuration
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

' Constant definitions for the AM.ExecutionContext enumeration.
const AM_ExecutionContext_PerSessionAsUser = 0
const AM_ExecutionContext_PerSessionAsSystem = 1
const AM_ExecutionContext_PerComputerAsSystem = 2
'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Create the scripted rule.
Dim ScriptedRule
Set ScriptedRule = Configuration.CreateInstanceFromClassName("AM.ScriptedRule")
ScriptedRule.Name = "Scripted Rule (1)"
Configuration.ScriptedRules.Add ScriptedRule.Xml
Dim CurrentScriptedRule
For Each CurrentScriptedRule in Configuration.ScriptedRules
If CurrentScriptedRule.Name = "Scripted Rule (1)" Then
CurrentScriptedRule.Timeout = 7
End If
Next
'Save the live configuration
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Remove the scripted rule.
Configuration.ScriptedRules.Remove "Scripted Rule (1)"
'Save the live configuration
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing
Browser Control

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Application Mananger configuration files have the aamp file extension. This file contains many different files which together
'become our Configuration file. One of these is the ConfigurationXml. This is the file where all of AM's rules are configured.
'However the aamp file contains other files which play a smaller part in the configuration.
'We are now providing a Save/Load routine combination which will allow the user to overwrite the configurationXml whilst preserving the
'other files unchanged in the aamp file. The normal Load/Save routines would cause a new file to be created containing only the configurationXml
'Calling the LoadLocalConfigurationHandleWithAuditing routine passes back the configuration xml as the return value, but also the Auditing xml
' and a FileHandle.
'use this file handle in the equivalent save routine and it will preserve any non-configuration files - in the aamp file.
Dim FileHandle
Dim ConfigurationXml
Dim AuditingXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfigurationHandleWithAuditing(AuditingXml, FileHandle)
Configuration.ParseXML ConfigurationXml
' Create a new URL Redirection item
Dim UrlItem
Set UrlItem = Configuration.CreateInstanceFromClassName("AM.URLRedirectionItem")
UrlItem.Path = "bbc.co.uk"
UrlItem.CustomRedirectionUrl = "http://www.ivanti.com"
UrlItem.RedirectToCustomUrl = True
UrlItem.UseRegularExpression = False
UrlItem.Description = "Add description here"
' Add the URL Redirection item to the Everyone group
Configuration.GroupRules.Item("Everyone").UrlRedirectionURLs.Add UrlItem.xml
'Saves the ConfigurationXml and Auditing xml to the configuration aamp file whilst preserving any other existing files contained in it.
ConfigurationHelper.SaveLiveConfigurationHandleWithAuditing Configuration.Xml, AuditingXml, FileHandle
Set ConfigurationHelper = Nothing
Set Configuration = Nothing
Configure Properties

' Constant definitions for the AM.ANACMessageFrequencyType enumeration.
const AM_ANACMessageFrequencyType_EveryConnectionAttempt = 0
const AM_ANACMessageFrequencyType_Once = 1
const AM_ANACMessageFrequencyType_UseDelayBetweenMessages = 2
'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Modify the message settings
Configuration.MessageSettings.AccessDeniedMessageCaption = "Warning"
Configuration.MessageSettings.AccessDeniedMessageBody = "File has been blocked"
Configuration.MessageSettings.ApplicationLimitsExceededMessageCaption = "Warning"
Configuration.MessageSettings.ApplicationLimitsExceededMessageBody = "Too many files"
Configuration.MessageSettings.DisplayInitialWarningMessage = False
Configuration.MessageSettings.CloseApplication = False
Configuration.MessageSettings.TerminateApplication = False
Configuration.MessageSettings.WaitTime = 120
Configuration.MessageSettings.TimeLimitsWarningMessageCaption = "Warning"
Configuration.MessageSettings.TimeLimitsWarningMessageBody = "Out of time"
Configuration.MessageSettings.TimeLimitsDeniedMessageCaption = "Warning"
Configuration.MessageSettings.TimeLimitsDeniedMessageBody = "Wrong time"
Configuration.MessageSettings.SelfAuthorizationMessageCaption = "Warning"
Configuration.MessageSettings.SelfAuthorizationMessageBody = "Needs authorization"
Configuration.MessageSettings.SelfAuthorizationResponseCaption = "Authorized File"
Configuration.MessageSettings.SelfAuthorizationResponseBody = "File is now authorized."
Configuration.MessageSettings.ANACMessageBoxEnabled = True
Configuration.MessageSettings.ANACMessageFrequency =
AM_ANACMessageFrequencyType_Once
Configuration.MessageSettings.ANACMessageDelayBetweenMessageBoxes = 60
Configuration.MessageSettings.ANACMessageBoxCaption = "Application Manager -
Application Network Access Control"
Configuration.MessageSettings.ANACMessageBoxBody = "%ExecutableName% has been denied access to %NetworkLocation%."
'Save the live configuration
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Modify the archiving settings
Dim ArchiveFolder
Set ArchiveFolder = Configuration.CreateInstanceFromClassName("AM.ArchiveFolder")
ArchiveFolder.Path = "C:\ArchiveBackup"
Set ArchiveFolder =
Configuration.ArchivingSettings.ArchiveFolders.InsertBefore(ArchiveFolder.Xml, 1)
Configuration.ArchivingSettings.ArchivingEnabled = True
Configuration.ArchivingSettings.AnonymousEnabled = True
Configuration.ArchivingSettings.UserLimit = 26
Configuration.ArchivingSettings.TotalLimit = 51
Configuration.ArchivingSettings.NoAdminOwnedFiles = True
Configuration.ArchivingSettings.OverwriteExistingFiles = False
Configuration.ArchivingSettings.ArchiveLessThanEnabled = True
Configuration.ArchivingSettings.OverwriteOldest = True
Configuration.ArchivingSettings.ArchiveLessThanAmount = 10
'Save the live configuration
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Modify the Application Termination Settings
Configuration.ApplicationTerminationSettings.Enabled = True
Configuration.ApplicationTerminationSettings.DisplayInitialWarningMessage = True
Configuration.ApplicationTerminationSettings.CloseApplication = True
Configuration.ApplicationTerminationSettings.TerminateApplication = True
Configuration.ApplicationTerminationSettings.WaitTime = 60
'Modify the Application Termination Triggers
Configuration.ApplicationTerminationSettings.Triggers.TerminateOnConfigurationChange = True
Configuration.ApplicationTerminationSettings.Triggers.TerminateOnComputerIPAddressChanged = False
Configuration.ApplicationTerminationSettings.Triggers.TerminateOnConnectingDeviceChanged = True
' Modify the Application Termination Messages
Configuration.MessageSettings.ApplicationTerminationMessages.ConfigAppliedWarningMessageCaption = "New Configuration Applied Message Caption"
Configuration.MessageSettings.ApplicationTerminationMessages.ConfigAppliedWarningMessageBody = "New Configuration Applied Message Body"
' The other Termination Message objects are:
'
' ConfigAppliedTerminateMessageCaption
' ConfigAppliedTerminateMessageBody
' IPAddressChangedWarningMessageCaption
' IPAddressChangedWarningMessageBody
' IPAddressChangedTerminateMessageCaption
' IPAddressChangedTerminateMessageBody
' ConnectingDeviceChangedWarningMessageCaption
' ConnectingDeviceChangedWarningMessageBody
' ConnectingDeviceChangedTerminateMessageCaption
' ConnectingDeviceChangedTerminateMessageBody
'Save the live configuration
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Add an Engineering key
Dim EngineeringKey
Set EngineeringKey = Configuration.CreateInstanceFromClassName("AM.EngineeringKey")
EngineeringKey.Name = "UrmSecPolicy"
EngineeringKey.Value = "1"
Configuration.EngineeringKeys.Add EngineeringKey.Xml
'Save the live configuration
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing
Network Connections

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Add a connection to the list of accessible connections.
Dim AccessibleConn
Set AccessibleConn =
Configuration.CreateInstanceFromClassName("AM.NetworkConnection")
AccessibleConn.Path = "www.google.com:80/foo/*"
AccessibleConn.Address = "www.google.com"
AccessibleConn.Port = 80
AccessibleConn.Resource = "/foo/*"
AccessibleConn.UseWildcards = True
AccessibleConn.AddressType = 0
Configuration.GroupRules.Item("Everyone").AccessibleNetworkConnections.Add
AccessibleConn.Xml
'Add a connection to the list of prohibited connections.
Dim ProhibitedConn
Set ProhibitedConn =
Configuration.CreateInstanceFromClassName("AM.NetworkConnection")
ProhibitedConn.Path = "www.facebook.com"
ProhibitedConn.AddressType = 0
ProhibitedConn.Description = "www.facebook.com"
Configuration.GroupRules.Item("Everyone").ProhibitedNetworkConnections.Add
ProhibitedConn.Xml
'Save the live configuration.
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Modify the port number of the network connection
Configuration.GroupRules.Item("Everyone").AccessibleNetworkConnections.Item("www.goo
gle.com:80/foo/*").Port = 8080
'Save the live configuration.
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Remove network conenction
Configuration.GroupRules.Item("Everyone").ProhibitedNetworkConnections.Remove
"www.facebook.com"
'Save the live configuration.
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing
Process Rules

Create a Process Rule
'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Create a process rule
Dim ProcessRule
Set ProcessRule = Configuration.CreateInstanceFromClassName("AM.ProcessRule")
ProcessRule.Name = "Process Rule (1)"
Configuration.ProcessRules.Add ProcessRule.Xml
'Add a file process to the rule
Dim FileProcess
Set FileProcess = Configuration.CreateInstanceFromClassName("AM.File")
FileProcess.Path = "c:\windows\system32\notepad.exe"
FileProcess.CommandLine = "c:\windows\system32\notepad.exe"
Configuration.ProcessRules.Item("Process Rule (1)").FileProcessItems.AddFileProcess.Xml
'Add another file to the rule
Dim AnotherFile
Set AnotherFile = Configuration.CreateInstanceFromClassName("AM.File")
AnotherFile.Path = "c:\windows\system32\cmd.exe"
AnotherFile.CommandLine = "c:\windows\system32\cmd.exe"
Configuration.ProcessRules.Item("Process Rule (1)").FileProcessItems.AddAnotherFile.Xml
'Save the live configuration
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

' Constant definitions for the AM.SecurityLevel enumeration.
const AM_SecurityLevel_Restricted = 0
const AM_SecurityLevel_SelfAuthorizing = 1
const AM_SecurityLevel_Unrestricted = 2
const AM_SecurityLevel_AuditOnly = 3
'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
Configuration.ProcessRules.Item("Process Rule (1)").Name = "My Process Rule"
Configuration.ProcessRules.Item("My Process Rule").SecurityLevel =
AM_SecurityLevel_AuditOnly
'Save the live configuration
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Remove "Process Rule(1)"
Configuration.ProcessRules.Remove "Process Rule (1)"
'Save the live configuration
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing
Rules List Items

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Add a file to the list of accessible files.
Dim AccessibleFile
Set AccessibleFile = Configuration.CreateInstanceFromClassName("AM.File")
AccessibleFile.Path = "calc.exe"
AccessibleFile.Commandline = "calc.exe"
Configuration.GroupRules.Item("Everyone").AccessibleFiles.Add AccessibleFile.Xml
'Add a file to the list of prohibited files.
Dim ProhibitedFile
Set ProhibitedFile = Configuration.CreateInstanceFromClassName("AM.File")
ProhibitedFile.Path = "regedit.exe"
ProhibitedFile.CommandLine = "regedit.exe"
Configuration.GroupRules.Item("Everyone").ProhibitedFiles.Add ProhibitedFile.Xml
'Save the live configuration.
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Edit calc.exe.
Configuration.GroupRules.Item("Everyone").AccessibleFiles.Item("calc.exe").TrustedOw
nershipChecking = False
Configuration.GroupRules.Item("Everyone").AccessibleFiles.Item("calc.exe").Applicati
onLimit = 5
'Save the live configuration.
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Remove files
Configuration.GroupRules.Item("Everyone").AccessibleFiles.Remove "calc.exe"
Configuration.GroupRules.Item("Everyone").ProhibitedFiles.Remove "regedit.exe"
'Save the live configuration.
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
Dim AccessibleFolder
Set AccessibleFolder = Configuration.CreateInstanceFromClassName("AM.Folder")
AccessibleFolder.Path = "%ALLUSERSPROFILE%"
Configuration.GroupRules.Item("Everyone").AccessibleFolders.Add AccessibleFolder.Xml
Dim ProhibitedFolder
Set ProhibitedFolder = Configuration.CreateInstanceFromClassName("AM.Folder")
ProhibitedFolder.Path = "%SystemDrive%\Utilities"
Configuration.GroupRules.Item("Everyone").ProhibitedFolders.Add ProhibitedFolder.Xml
'Save the live configuration.
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
Configuration.GroupRules.Item("Everyone").AccessibleFolders.Item("%ALLUSERSPROFILE%"
).Recursive = False
Configuration.GroupRules.Item("Everyone").AccessibleFolders.Item("%ALLUSERSPROFILE%"
).AccessTimes.MondayTimeRangeCollection.Clear()
Configuration.GroupRules.Item("Everyone").AccessibleFolders.Item("%ALLUSERSPROFILE%"
).AccessTimes.TuesdayTimeRangeCollection.Clear()
Configuration.GroupRules.Item("Everyone").AccessibleFolders.Item("%ALLUSERSPROFILE%"
).AccessTimes.WednesdayTimeRangeCollection.Clear()
Configuration.GroupRules.Item("Everyone").AccessibleFolders.Item("%ALLUSERSPROFILE%"
).AccessTimes.ThursdayTimeRangeCollection.Clear()
Configuration.GroupRules.Item("Everyone").AccessibleFolders.Item("%ALLUSERSPROFILE%"
).AccessTimes.FridayTimeRangeCollection.Clear()
Configuration.GroupRules.Item("Everyone").AccessibleFolders.Item("%ALLUSERSPROFILE%"
).AccessTimes.SaturdayTimeRangeCollection.Clear()
Configuration.GroupRules.Item("Everyone").AccessibleFolders.Item("%ALLUSERSPROFILE%"
).AccessTimes.SundayTimeRangeCollection.Clear()
Dim TimeRange
Set TimeRange = Configuration.CreateInstanceFromClassName("AM.TimeRange")
TimeRange.StartHour = 9
TimeRange.EndHour = 13
Configuration.GroupRules.Item("Everyone").AccessibleFolders.Item("%ALLUSERSPROFILE%"
).AccessTimes.MondayTimeRangeCollection.InsertBefore TimeRange.Xml, 0
Configuration.GroupRules.Item("Everyone").AccessibleFolders.Item("%ALLUSERSPROFILE%"
).ApplyAccessTimes = True
'Save the live configuration
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Remove the accessible folder
Configuration.GroupRules.Item("Everyone").AccessibleFolders.Remove
"%ALLUSERSPROFILE%"
'Remove the prohibited folder
Configuration.GroupRules.Item("Everyone").ProhibitedFolders.Remove
"%SystemDrive%\Utilities"
'Save the live configuration
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Create new signature item
Dim SignatureFile
Set SignatureFile = Configuration.CreateInstanceFromClassName("AM.SignatureFile")
SignatureFile.SHA1Hash =
ConfigurationHelper.ReadSha1HashFromFile("C:\WINDOWS\regedit.exe")
SignatureFile.Path = "C:\WINDOWS\regedit.exe"
SignatureFile.CommandLine = SignatureFile.SHA1Hash
'Add the signature to the rule
Configuration.GroupRules.Item("Everyone").AccessibleSignatures.Add SignatureFile.Xml
'Save the live configuration
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Digital signatures are keyed by CommandLine, containing the SHA1 hash, so obtain
the
hash value to access the required item.
Dim sha1Hash
sha1Hash = ConfigurationHelper.ReadSha1HashFromFile("C:\WINDOWS\regedit.exe")
Configuration.GroupRules.Item("Everyone").AccessibleSignatures.Item(sha1Hash).ApplyAccessTimes
= False
'Save the live configuration
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Digital signatures are keyed by SHA1 hash, so obtain the hash value to access the
required item.
Dim sha1Hash
sha1Hash = ConfigurationHelper.ReadSha1HashFromFile("C:\WINDOWS\regedit.exe")
Configuration.GroupRules.Item("Everyone").AccessibleSignatures.Remove sha1Hash
'Save the live configuration
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Add first drive
Dim FirstDrive
Set FirstDrive = Configuration.CreateInstanceFromClassName("AM.Drive")
FirstDrive.Path = "H"
Configuration.GroupRules.Item("Everyone").AccessibleDrives.Add FirstDrive.Xml
'Add a second drive
Dim SecondDrive
Set SecondDrive = Configuration.CreateInstanceFromClassName("AM.Drive")
SecondDrive.Path = "I"
Configuration.GroupRules.Item("Everyone").AccessibleDrives.Add SecondDrive.Xml
'Remove the first drive that was added
Configuration.GroupRules.Item("Everyone").AccessibleDrives.Remove "H"
'Save the live configuration
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Use the helper object to read the certificate from the signed file
Dim CertificateData
CertificateData = ConfigurationHelper.ReadCertificateFromFile("C:\Program
Files\Internet Explorer\iexplore.exe", 0)
Dim DigitalCertificate
Set DigitalCertificate =
Configuration.CreateInstanceFromClassName("AM.DigitalCertificate")
DigitalCertificate.RawCertificateData = CertificateData
DigitalCertificate.Description = "Microsoft Corporation - Internet Explorer
Certificate"
Set DigitalCertificate =
Configuration.GroupRules.Item("Everyone").TrustedVendors.Add(DigitalCertificate.Xml)
'Save the live configuration
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Use the helper object to read the certificate and expiry date from the signed file
Dim CertificateData
Dim dtMyDate
CertificateData = ConfigurationHelper.ReadCertificateDateFromFile("C:\Program
Files\Internet Explorer\iexplore.exe", 0, dtMyDate)
'Add the certificate information to the configuration
Dim DigitalCertificate
Set DigitalCertificate =
Configuration.CreateInstanceFromClassName("AM.DigitalCertificate")
DigitalCertificate.RawCertificateData = CertificateData
DigitalCertificate.Description = "Microsoft Corporation - Internet Explorer
Certificate"
DigitalCertificate.ExpiryDate = dtMyDate
Set DigitalCertificate =
Configuration.GroupRules.Item("Everyone").TrustedVendors.Add(DigitalCertificate.Xml)
'Save the live configuration
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Use the helper object to read the certificate from the signed file
Dim CertificateData
CertificateData = ConfigurationHelper.ReadCertificateFromFile("C:\Program
Files\Internet Explorer\iexplore.exe", 0)
Configuration.GroupRules.Item("Everyone").TrustedVendors.Item(CertificateData).Enfor
ceExpiryDate = True
'Save the live configuration
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Use the helper object to read the certificate from the signed file
Dim CertificateData
CertificateData = ConfigurationHelper.ReadCertificateFromFile("C:\Program
Files\Internet Explorer\iexplore.exe", 0)
Configuration.GroupRules.Item("Everyone").TrustedVendors.Remove CertificateData
'Save the live configuration
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing
Group Management

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Create a new Group in the Library
Dim LibraryGroup
Set LibraryGroup = Configuration.CreateInstanceFromClassName("AM.ApplicationGroup")
LibraryGroup.Path = "Common Applications"
Dim CommonFile
Set CommonFile = Configuration.CreateInstanceFromClassName("AM.File")
CommonFile.Path = "calc.exe"
CommonFile.Commandline = "calc.exe"
LibraryGroup.Files.Add CommonFile.Xml
Dim NotepadFile
Set NotepadFile = Configuration.CreateInstanceFromClassName("AM.File")
NotepadFile.Path = "notepad.exe"
NotepadFile.Commandline = "notepad.exe"
LibraryGroup.Files.Add NotepadFile.Xml
Configuration.ApplicationGroups.Add LibraryGroup.Xml
'Save the configuration to file.
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'use an existing Library Group in the Rules
Dim GroupReference
Set GroupReference =
Configuration.CreateInstanceFromClassName("AM.ApplicationGroupReference")
GroupReference.Group = "Common Applications"
GroupReference.TrustedOwnershipChecking = "True"
GroupReference.Path = "Common Applications"
Configuration.GroupRules.Item("Everyone").ProhibitedApplicationGroups.Add
GroupReference.Xml
'Save the configuration to file.
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing
User Privileges Management

'URM Group Action options
const AM_URMGroupAction_Add = 0
const AM_URMGroupAction_Drop = 1
'URM Privilege actions
const AM_URMPrivilegeAction_NoChange = 0
const AM_URMPrivilegeAction_Enable = 1
const AM_URMPrivilegeAction_Disable = 2
const AM_URMPrivilegeAction_Remove = 3
'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
Configuration.URMPolicies("Add
Administrator").PrivilegeActions("SeBackupPrivilege").Action =
AM_URMPrivilegeAction_Enable
Configuration.URMPolicies("Add
Administrator").GroupMembershipActions("BUILTIN\Administrators").Action =
AM_URMGroupAction_Drop
'Save the live configuration
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
Configuration.URMPolicies.Remove "Add Administrator"
'Save the live configuration
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing
Add a user privileges file
Edit a user privileges file
Delete a user privileges file

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
Configuration.GroupRules.Item("Everyone").UserRightsRules.URMWellKnownControlPanelApplets.Remove
"cplClock"
'Save the live configuration.
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing
Auditing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the default configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.DefaultConfiguration
Configuration.ParseXML ConfigurationXml
Dim AuditingFile
AuditingFile = "c:\Auditing.xml"
ConfigurationHelper.SaveLocalConfigurationWithAuditingFile
"C:\Configuration.aamp",Configuration.Xml,AuditingFile
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the default configuration
Configuration.ParseXML ConfigurationHelper.DefaultConfiguration
'Save the blank configuration to file.
Dim AuditingFile
AuditingFile = "c:\Auditing.xml"
ConfigurationHelper.SaveLiveConfigurationWithAuditingFile
Configuration.Xml,AuditingFile
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
Dim AuditingXml
ConfigurationXml =
ConfigurationHelper.LoadLiveConfigurationWithAuditing(AuditingXml)
Configuration.ParseXML ConfigurationXml
'Edit some settings
Configuration.DefaultRules.AllowCMDForBatchFiles = False
Configuration.DefaultRules.ValidateSystemProcesses = False
'Save the configuration to file.
ConfigurationHelper.SaveLiveConfigurationWithAuditing Configuration.Xml, AuditingXml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
Dim AuditingXml
ConfigurationXml =
ConfigurationHelper.LoadLocalConfigurationWithAuditing("c:\Configuration.aamp",Audit
ingXml)
Configuration.ParseXML ConfigurationXml
'Edit settings
Configuration.DefaultRules.AllowCMDForBatchFiles = False
Configuration.DefaultRules.ValidateSystemProcesses = False
'Save the configuration to file.
ConfigurationHelper.SaveLocalConfigurationWithAuditing
"C:\UpdatedConfiguration.aamp",Configuration.Xml, AuditingXml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing
Additional Load and Save functions

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
Dim AuditingXml
Dim FileHandle
'Application Managers configuration files have the aamp file extension. This file contains many different files which together
'become our Configuration file. One of these is the ConfigurationXml. This is the file where all of AM's rules are configured.
'However the aamp file contains other files which play a smaller part in the configuration.
'We are now providing a Save/Load routine combination which will allow the user to overwrite the configurationXml whilst preserving the
'other files unchanged in the aamp file. The normal Load/Save routines would cause a new file to be created containing only the configurationXml
'Calling the LoadLocalConfigurationHandleWithAuditing routine passes back the configuration xml as the return value, but also the Auditing xml
' and a FileHandle.
'use this file handle in the equivalent save routine and it will preserve any nonconfiguration files - in the aamp file.
ConfigurationXml =
ConfigurationHelper.LoadLocalConfigurationHandleWithAuditing("c:\temp\configuration.aamp", AuditingXml, FileHandle)
Configuration.ParseXML ConfigurationXml
Configuration.DefaultRules.AllowCMDForBatchFiles = True
Configuration.DefaultRules.ValidateSystemProcesses = True
'Saves the ConfigurationXml and Auditing xml to the configuration aamp file whilst preserving any other existing files contained in it.
ConfigurationHelper.SaveLocalConfigurationHandleWithAuditing
"c:\temp\configuration.aamp", Configuration.Xml, AuditingXml, FileHandle
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
Dim AuditingXml
Dim FileHandle
'Application Managers configuration files have the aamp file extension. This file contains many different files which together
'become our Configuration file. One of these is the ConfigurationXml. This is the file where all of AM's rules are configured.
'However the aamp file contains other files which play a smaller part in the configuration.
'We are now providing a Save/Load routine combination which will allow the user to overwrite the configurationXml whilst preserving the
'other files unchanged in the aamp file. The normal Load/Save routines would cause a new file to be created containing only the configurationXml
'Calling the LoadLiveConfigurationHandleWithAuditing routine passes back the live configuration xml as the return value, but also the Auditing xml
' and a FileHandle.
'use this file handle in the equivalent save routine and it will preserve any nonconfiguration files - in the aamp file.
ConfigurationXml = ConfigurationHelper.LoadLiveConfigurationHandleWithAuditing(
AuditingXml, FileHandle)
Configuration.ParseXML ConfigurationXml
Configuration.DefaultRules.AllowCMDForBatchFiles = True
Configuration.DefaultRules.ValidateSystemProcesses = True
'Saves the ConfigurationXml and Auditing xml to the live configuration whilst preserving any other existing files.
ConfigurationHelper.SaveLiveConfigurationHandleWithAuditing Configuration.Xml,
AuditingXml, FileHandle
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
Dim AuditingXml
Dim FileHandle
'Application Managers configuration files have the aamp file extension. This file contains many different files which together
'become our Configuration file. One of these is the ConfigurationXml. This is the file where all of AM's rules are configured.
'However the aamp file contains other files which play a smaller part in the configuration.
'We are now providing a Save/Load routine combination which will allow the user to overwrite the configurationXml whilst preserving the
'other files unchanged in the aamp file. The normal Load/Save routines would cause a new file to be created containing only the configurationXml
'Calling the LoadLocalConfigurationHandle routine passes back the configuration xml as the return value, but also a FileHandle.
'use this file handle in the equivalent save routine and it will preserve any nonconfiguration
files - in the aamp file.
ConfigurationXml =
ConfigurationHelper.LoadLocalConfigurationHandle("c:\temp\configuration.aamp",
FileHandle)
Configuration.ParseXML ConfigurationXml
Configuration.DefaultRules.AllowCMDForBatchFiles = True
Configuration.DefaultRules.ValidateSystemProcesses = True
'Saves the ConfigurationXml to the specified configuration whilst preserving any other existing files from the FileHandle.
ConfigurationHelper.SaveLocalConfigurationHandle "c:\temp\configuration.aamp",
Configuration.Xml, FileHandle
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
Dim AuditingXml
Dim FileHandle
'Application Manangers configuration files have the aamp file extension. This file contains many different files which together
'become our Configuration file. One of these is the ConfigurationXml. This is the file where all of AM's rules are configured.
'However the aamp file contains other files which play a smaller part in the configuration.
'We are now providing a Save/Load routine combination which will allow the user to overwrite the configurationXml whilst preserving the
'other files unchanged in the aamp file. The normal Load/Save routines would cause a new file to be created containing only the configurationXml
'Calling the LoadLiveConfigurationHandle routine passes back the live configuration xml as the return value, but also a FileHandle.
'use this file handle in the equivalent save routine and it will preserve any nonconfiguration files - in the aamp file.
ConfigurationXml = ConfigurationHelper.LoadLiveConfigurationHandle(FileHandle)
Configuration.ParseXML ConfigurationXml
Configuration.DefaultRules.AllowCMDForBatchFiles = True
Configuration.DefaultRules.ValidateSystemProcesses = True
'Saves the ConfigurationXml to the live configuration whilst preserving any other existing files.
ConfigurationHelper.SaveLiveConfigurationHandle Configuration.Xml, FileHandle
Set ConfigurationHelper = Nothing
Set Configuration = Nothing
Adding files and folders with metadata

'Create a File Item with Metadata which will be used later in the script
'
Set FileWithMetadata = Configuration.CreateInstanceFromClassName("AM.File")
'Set the actual file
FileWithMetadata.Path = "MetadataFile.exe"
'Set a unique key for this item in the collection it is added to
FileWithMetadata.Commandline = "MetadataFile.exe"
'Set some metadata properties
FileWithMetadata.Metadata.ProductVersionMinimum = "*.*.*.*"
FileWithMetadata.Metadata.ProductVersionMinimumEnabled = True
FileWithMetadata.Metadata.ProductVersionMaximum = "*.*.*.*"
FileWithMetadata.Metadata.ProductVersionMaximumEnabled = True
FileWithMetadata.Metadata.FileVersionMinimum = "*.*.*.*"
FileWithMetadata.Metadata.FileVersionMinimumEnabled = True
FileWithMetadata.Metadata.FileVersionMaximum = "*.*.*.*"
FileWithMetadata.Metadata.FileVersionMaximumEnabled = True
FileWithMetadata.Metadata.VendorName = "VEND"
FileWithMetadata.Metadata.VendorNameEnabled = True
FileWithMetadata.Metadata.ProductName = "PROD"
FileWithMetadata.Metadata.ProductNameEnabled = True
FileWithMetadata.Metadata.CompanyName = "COMP"
FileWithMetadata.Metadata.CompanyNameEnabled = True
FileWithMetadata.Metadata.FileDescription = "DESC"
FileWithMetadata.Metadata.FileDescriptionEnabled = True
'Create a Folder Item with Metadata which will be used later in the script
'
Set FolderWithMetadata = Configuration.CreateInstanceFromClassName("AM.Folder")
'Set a unique key for this item in the collection it is added to
FolderWithMetadata.ItemKey = "c:\MetadataFolder"
'Set the actual folder
FolderWithMetadata.Path = "c:\MetadataFolder"
'Set some metadata properties
FolderWithMetadata.Metadata.VendorName = "VEND"
FolderWithMetadata.Metadata.VendorNameEnabled = True
'Add a file to the list of accessible files.
Configuration.GroupRules.Item("Everyone").AccessibleFiles.Add FileWithMetadata.Xml
'Add the file item to a URM Rule
'
'Create the URM Item
Set URMFile = Configuration.CreateInstanceFromClassName("AM.URMRuleItemPolicy")
'Configure the URM Item with the details of the Accessible File created earlier
URMFile.KeyPath = FileWithMetadata.Commandline
URMFile.Application = FileWithMetadata.Xml
'Set the URM Policy to Apply
URMFile.Policy.Policy = "Add Administrator"
'Add the URM item
Configuration.GroupRules.Item("Everyone").UserRightsRules.URMFiles.Add URMFile.xml
'Add a folder to the list of accessible folders.
Configuration.GroupRules.Item("Everyone").AccessibleFolders.Add FolderWithMetadata.Xml
'Add the folder item to a URM Rule
'
'Create the URM Item
Set URMFolder = Configuration.CreateInstanceFromClassName("AM.URMRuleItemPolicy")
'Configure the URM Item with the details of the Accessible Folder created earlier
URMFolder.KeyPath = FolderWithMetadata.ItemKey
URMFolder.Application = FolderWithMetadata.Xml
'Set the URM Policy to Apply
URMFolder.Policy.Policy = "Add Administrator"
'Add the URM item
Configuration.GroupRules.Item("Everyone").UserRightsRules.URMFolders.Add URMFolder.xml
'Process Rule with Metadata Configuration on the specific process
'
'Create a new Process Rule
Set ProcessRule = Configuration.CreateInstanceFromClassName("AM.ProcessRule")
ProcessRule.Name = "Process Rule With Metadata"
'Add a file process to the rule
ProcessRule.FileProcessItems.Add FileWithMetadata.Xml
'Add the process rule
Configuration.ProcessRules.Add ProcessRule.Xml
'Save the live configuration.
'
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing
Windows Store Apps

const AM_VersionMatching_andabove = 0
const AM_VersionMatching_andbelow = 1
const AM_VersionMatching_exactly = 2
const AM_VersionMatching_allversions = 3
'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Prohibit all windows store apps
Dim BlockAllApps
Set BlockAllApps = Configuration.CreateInstanceFromClassName("AM.WindowsStoreApp")
BlockAllApps.DisplayName = "* * All installed apps * *"
BlockAllApps.PackageName = "*"
BlockAllApps.PublisherID = "*"
BlockAllApps.Publisher = "*"
BlockAllApps.PackageVersion = "1.0.0.0"
BlockAllApps.VersionMatch = AM_VersionMatching_allversions
BlockAllApps.Path = "*_*_1.0.0.0"
Configuration.GroupRules.Item("Everyone").ProhibitedWindowsStoreApps.Add
BlockAllApps.Xml
'Add a Windows Store App to the list of accessible connections.
Dim AccessibleApp
Set AccessibleApp = Configuration.CreateInstanceFromClassName("AM.WindowsStoreApp")
AccessibleApp.DisplayName = "Skype"
AccessibleApp.PackageName = "Microsoft.SkypeApp"
AccessibleApp.PublisherID = "kzf8qxf38zg5c"
AccessibleApp.Publisher = "CN=Skype Software Sarl, O=Microsoft Corporation,
L=Luxembourg, S=Luxembourg, C=LU"
AccessibleApp.PackageVersion = "3.1.0.1007"
AccessibleApp.VersionMatch = AM_VersionMatching_andabove
AccessibleApp.Path = "kzf8qxf38zg5c_Microsoft.SkypeApp_3.1.0.1007"
Configuration.GroupRules.Item("Everyone").AccessibleWindowsStoreApps.Add AccessibleApp.Xml
'Save the live configuration.
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

const AM_VersionMatching_andabove = 0
const AM_VersionMatching_andbelow = 1
const AM_VersionMatching_exactly = 2
const AM_VersionMatching_allversions = 3
'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Modify the Version Matching
Configuration.GroupRules.Item("Everyone").AccessibleWindowsStoreApps.Item("kzf8qxf38zg5c_Microsoft.SkypeApp_3.1.0.1007").VersionMatch
= AM_VersionMatching_allversions
'Save the live configuration.
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Remove Skype
Configuration.GroupRules.Item("Everyone").AccessibleWindowsStoreApps.Remove "kzf8qxf38zg5c_Microsoft.SkypeApp_3.1.0.1007"
'Save the live configuration.
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing
System Controls

'BuiltinActions
const AM_ControlPanelURMPolicy_BuiltinElevate = 0
const AM_ControlPanelURMPolicy_BuiltinRestrict = 1
'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
Dim AuditingXml
Dim FileHandle
ConfigurationXml = ConfigurationHelper.LoadLiveConfigurationHandle(FileHandle)
Configuration.ParseXML ConfigurationXml
Dim UninstallItem
Set UninstallItem = Configuration.CreateInstanceFromClassName("AM.UninstallControl")
UninstallItem.Path = "Ivanti Application Manager"
UninstallItem.DisplayName = "Ivanti Application Manager"
UninstallItem.Publisher = "Ivanti"
UninstallItem.Version = "8.9.*"
Configuration.GroupRules.Item("Everyone").UserRightsRules.URMUninstallControls.Add
UninstallItem.Xml
Dim EventlogItem
Set EventlogItem = Configuration.CreateInstanceFromClassName("AM.EventlogControl")
EventlogItem.Path = "Application"
EventlogItem.LogName = "Application"
EventlogItem.Policy = AM_ControlPanelURMPolicy_BuiltinElevate
Configuration.GroupRules.Item("Everyone").UserRightsRules.URMEventlogControls.Add
EventlogItem.Xml
Dim ServiceItem
Set ServiceItem = Configuration.CreateInstanceFromClassName("AM.ServiceControl")
ServiceItem.Path = "Ivanti Application Manager Agent"
ServiceItem.ServiceDisplayName = "Ivanti Application Manager Agent"
ServiceItem.ServiceName = "*"
Configuration.GroupRules.Item("Everyone").UserRightsRules.URMServiceControls.Add
ServiceItem.Xml
'Save the configuration to file.
ConfigurationHelper.SaveLiveConfigurationHandle Configuration.Xml, FileHandle
Set ConfigurationHelper = Nothing
Set Configuration = Nothing
Self-Elevation Files

'Constant definitions for the AM.SelfElevationFilterMode enumeration.
const AM_SelfElevationFilterMode_AllowAllExcept = 0
const AM_SelfElevationFilterMode_DenyAllExcept = 1
'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the default configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.DefaultConfiguration
Configuration.ParseXML ConfigurationXml
'Create a file to add to Self-Elevation files for the "Everyone" group
Dim SelfElevationFile
Set SelfElevationFile = Configuration.CreateInstanceFromClassName("AM.File")
SelfElevationFile.Path = "calc.exe"
SelfElevationFile.Commandline = "calc.exe"
'Add a file to the Self-Elevation tab under User Rights, for the "Everyone" group
Configuration.GroupRules.Item("Everyone").SelfElevationRules.SelfElevationFiles.Add
SelfElevationFile.Xml
'Enable Self-Elevation
Configuration.GroupRules.Item("Everyone").SelfElevationRules.SelfElevationEnabled
= true
'Set Self-Elevation to only apply to items in the list
Configuration.GroupRules.Item("Everyone").SelfElevationRules.Filtermode = AM_SelfElevationFilterMode_DenyAllExcept
'Make files Accessible Items
Configuration.GroupRules.Item("Everyone").SelfElevationRules.MakeAccessible = true
'Apply User Rights for child processes
Configuration.GroupRules.Item("Everyone").SelfElevationRules.ApplyToChildProcesses
= true
'Allow file to run even if not owned by a Trusted Owner
Configuration.GroupRules.Item("Everyone").SelfElevationRules.TrustedOwnershipChecking=
true
'Apply to Common Dialogs
Configuration.GroupRules.Item("Everyone").SelfElevationRules.ApplyToOpenSave = true
'Install as Trusted Owner
Configuration.GroupRules.Item("Everyone").SelfElevationRules.ChangeOwnershipToAdmin
= true
'Save Configuratio n to disk
ConfigurationHelper.SaveLocalConfiguration "C:\Configuration.aamp",Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing
Policy Change Requests

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Modify the Demand Config Change Settings
'Enable the global feature
Configuration.OnDemandConfigChangeSettings.OnDemandEnabled = True
'Enable the Email Requests
Configuration.OnDemandConfigChangeSettings.EmailRequestsEnabled = True
Configuration.OnDemandConfigChangeSettings.MailToAddress = "[email protected]"
'Enable the Emergency Requests
Configuration.OnDemandConfigChangeSettings.EmergencyRequestsEnabled = True
Configuration.OnDemandConfigChangeSettings.HelpDeskPhoneNumber = "0800 900 9000"
Dim key
key = ConfigurationHelper.EncryptSharedKey("hello chris")
Configuration.OnDemandConfigChangeSettings.SharedKey = key
'Configure a link from the AMMessage
Configuration.OnDemandConfigChangeSettings.RequestMethods.AllowLinkFromAMDenied =
True
Configuration.OnDemandConfigChangeSettings.RequestMethods.AMDeniedLinkText = "Click
here to submit a change request"
'Configure a Shell context menu
Configuration.OnDemandConfigChangeSettings.RequestMethods.ShowShellMenu = True
Configuration.OnDemandConfigChangeSettings.RequestMethods.ShellMenuText = "Submit
a change request"
'Configure the desktop link
Configuration.OnDemandConfigChangeSettings.RequestMethods.ShowDesktopIcon = True
Configuration.OnDemandConfigChangeSettings.RequestMethods.DesktopIconText = "Request
Policy Change"
'Save the live configuration
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing
MSIs in the COMConfigurationHelper

Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadMsiConfiguration("C:\msi\AM8.6.msi")
Configuration.ParseXML ConfigurationXml
'Wscript.Echo ConfigurationXml
'Save the blank configuration to file.
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'Save the blank configuration to file.
ConfigurationHelper.SaveMsiConfiguration "C:\msi\AMout.msi",ConfigurationXml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing
User Rights Management

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'create a new FileItem
Dim File
Set File = Configuration.CreateInstanceFromClassName("AM.File")
File.Path = "notepad.exe"
File.CommandLine = "notepad.exe"
Dim URMItem
Set URMFile = Configuration.CreateInstanceFromClassName("AM.URMRuleItemPolicy")
URMFile.KeyPath = "notepad.exe"
URMFile.Policy.Policy = Configuration.URMPolicies.Item("Add Administrator").Name
URMFile.Application = File.Xml
Configuration.GroupRules.Item("Everyone").UserRightsRules.URMFiles.Add URMFile.xml
'Save the live configuration
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
'create a new FileItem
Dim File
Set File = Configuration.CreateInstanceFromClassName("AM.File")
File.Path = "notepad.exe"
File.Arguments = "test.txt"
File.CommandLine = "notepad.exe test.txt"
Configuration.GroupRules.Item("Everyone").UserRightsRules.URMFiles.Item("notepad.exe").Application = File.Xml
Configuration.GroupRules.Item("Everyone").UserRightsRules.URMFiles.Item("notepad.exe").KeyPath = File.CommandLine
'Save the live configuration
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
Dim ConfigurationXml
ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
Configuration.ParseXML ConfigurationXml
Configuration.Grouprules.Item("Everyone").UserRightsRules.URMFiles.Remove "notepad.exe test.txt"
'Save the live configuration
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing

'URM BuiltinElevate Policy
const BuiltinElevate_Policy = "516A5D5B-685C-49C3-A4FC-3A54BF6CC392\BUILTINADMIN"
'Create the configuration
Dim Configuration
Set Configuration = CreateObject("AM.Configuration.5")
'Create the configuration helper
Dim ConfigurationHelper
Set ConfigurationHelper = CreateObject("AM.ConfigurationHelper.1")
'Load the live configuration
'Dim ConfigurationXml
'ConfigurationXml = ConfigurationHelper.LoadLiveConfiguration
'Configuration.ParseXML ConfigurationXml
'Load the default configuration
Configuration.ParseXML ConfigurationHelper.DefaultConfiguration
'create a new FileItem
Dim File
Set File = Configuration.CreateInstanceFromClassName("AM.File")
File.Path = "notepad.exe"
File.CommandLine = "notepad.exe"
Dim URMItem
Set URMFile = Configuration.CreateInstanceFromClassName("AM.URMRuleItemPolicy")
URMFile.KeyPath = "notepad.exe"
URMFile.Policy.Policy = BuiltinElevate_Policy
URMFile.Application = File.Xml
'Please Note that ApplyToOpenSave is incorrectly named - the meaning has been "flipped"
' ApplyToOpenSave = False => Apply to Common Dialogs
' ApplyToOpenSave = True => Do NOT apply to Common Dialogs.
URMFile.ApplyToOpenSave = False
URMFile.ApplyToChildProcesses = True
URMFile.ChangeOwnershipToAdmin = True
Configuration.GroupRules.Item("Everyone").UserRightsRules.URMFiles.Add URMFile.xml
'Save the live configuration
ConfigurationHelper.SaveLiveConfiguration Configuration.Xml
Set ConfigurationHelper = Nothing
Set Configuration = Nothing