Contact Info

Crumbtrail

ActiveXperts.com » Administration » VBScript Collection » Terminal Services » Configuring

Configuring Terminal Services Properties

Add a Terminal Services Direct Connect License Server
Assign a Terminal Services Initial Program
Delete a Terminal Service Direct Connect License Server
Enable Forcible Terminal Services Logoff
Enable Single Session Terminal Service Sessions
Enable Terminal Services
Enable Terminal Services Active Desktop
Enable Terminal Service Connections
Enable Terminal Services Password Prompt
Enable Terminal Services Session Directory
Expose the Terminal Services Session Directory Server IP Address
Modify Terminal Service Audit Permissions
Modify Terminal Services Broken Connection Policy
Modify Terminal Services Broken Connection Settings
Modify Terminal Services Client Connection Settings
Modify Terminal Services Color Depth
Modify Terminal Services Color Depth Policy
Modify Terminal Services Client Logon Settings
Modify the Terminal Services Comment
Modify Terminal Services Connection Policy
Modify Terminal Services Client Settings
Modify Terminal Services Client Wallpaper Settings
Modify Terminal Services Encryption Level
Modify Terminal Services Home Directory
Modify Terminal Services Initial Program Policy
Modify the Terminal Services Logon
Modify Terminal Services Logon Policy
Modify Terminal Services Maximum Connections
Modify Terminal Services Mode
Modify Terminal Service Permissions
Modify Terminal Services Policy Property
Modify Terminal Services Profile Path
Modify Terminal Services Remote Control Policy
Modify Terminal Service Remote Control Settings
Modify Terminal Services Reconnection Policy
Modify Terminal Services Session Directory IP Address
Modify Terminal Services Session Directory Location
Modify Terminal Services Session Time Limit
Modify Terminal Services Time Limit Policy
Modify Terminal Services Time Zone Redirection
Modify Terminal Services User Permissions
Modify Terminal Services Windows Authentication Setting
Restores the default permission settings for all the Terminal Service accounts on a computer.
Rename a Terminal Service Terminal


You can use any of the VBScript programs below in ActiveXperts Network Monitor. Click here for an explanation about how to include scripts in ActiveXperts Network Monitor.



Add a Terminal Services Direct Connect License Server


Adds the computer atl-ts-01 as a direct connect license server to a computer running Terminal Services.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from Win32_TerminalServiceSetting")

For Each objItem in colItems
    errResult = objItem.AddDirectConnectLicenseServer("atl-ts-01")
Next
	

Assign a Terminal Services Initial Program


Assigns the startup program C:\Accounting\Invoice.exe (with a startup folder of C:\Accounting\FY_2003) to users logging on to a computer running Terminal Services.
Const STARTUP_PROGRAM = "c:\accounting\invoice.exe"
Const STARTUP_FOLDER = "c:\accounting\fy_2003"
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from Win32_TSEnvironmentSetting")

For Each objItem in colItems
    errResult = objItem.InitialProgram(STARTUP_PROGRAM, STARTUP_FOLDER)
Next
	

Delete a Terminal Service Direct Connect License Server


Removes the computer atl-ts-01 as a direct connect license server for a computer running Terminal Services.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from Win32_TerminalServiceSetting")

For Each objItem in colItems
    errResult = objItem.DeleteDirectConnectLicenseServer("atl-ts-01")
Next
	

Enable Forcible Terminal Services Logoff


Enables the ability to forcibly logoff an administrator connected to Terminal Services. To disable forcible logoff, pass the value 1 (rather than 0) to the SetDisableForcibleLogoff method.
Const ENABLE_LOGOFF = 0
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from Win32_TerminalServiceSetting")

For Each objItem in colItems
    errResult = objItem.SetDisableForcibleLogoff(ENABLE_LOGOFF)
Next
	

Enable Single Session Terminal Service Sessions


Enables single session Terminal Service sessions on a computer. To allow multiple sessions, pass the value 0 (rather than 1) to the SetSingleSession parameter.
Const ENABLE = 1
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from Win32_TerminalServiceSetting")

For Each objItem in colItems
    errResult = objItem.SetSingleSession(ENABLE)
Next
	

Enable Terminal Services


Enables the Accounting terminal on a computer running Terminal Services. To disable the Accounting terminal, set the parameter of the Enable method to 0 rather than 1.
Const ENABLE = 1
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from Win32_Terminal Where TerminalName = 'Accounting'")

For Each objItem in colItems
    errResult = objItem.Enable(ENABLE)
Next
	

Enable Terminal Services Active Desktop


Enables Terminal Services Active Desktop on a computer. To disable Active Desktop, set the value of the ActiveDesktop property to 0 instead of 1.
Const ENABLED = 1
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from Win32_TerminalServiceSetting")

For Each objItem in colItems
    objItem.ActiveDesktop = ENABLED
    objItem.Put_
Next
	

Enable Terminal Service Connections


Enables Terminal Services connections on a computer running Terminal Services. To disable connections, pass the value 0 (rather than 1) to the SetAllowTSConnections method.
Const ENABLE_CONNECTIONS = 1
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from Win32_TerminalServiceSetting")

For Each objItem in colItems
    errResult = objItem.SetAllowTSConnections(ENABLE_CONNECTIONS)
Next
	

Enable Terminal Services Password Prompt


Configure Terminal Services to prompt for a password each time a user logs on. To disable password prompting, pass the value 0 (rather than 1) to the SetPromptForPassword method.
Const ENABLE = 1
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from Win32_TSLogonSetting")

For Each objItem in colItems
    errResult = objItem.SetPromptForPassword(ENABLE)
Next
	

Enable Terminal Services Session Directory


Enable the session directory on a Terminal Services server. To disable the session directory, pass the value 0 (rather than 1) to the SetSessionDirectoryActive method.
Const ENABLE_SESSION_DIRECTORY = 1
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from Win32_TSSessionDirectory")

For Each objItem in colItems
    errResult = objItem.SetSessionDirectoryActive(ENABLE_SESSION_DIRECTORY)
Next
	

Expose the Terminal Services Session Directory Server IP Address


Allow a Terminal Services server to make its session directory IP address available. To prevent a server from exposing its session directory IP address, pass the value 0 (rather than 1) to the SetSessionDirectoryExposeServerIP method.
Const ENABLE = 1
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from Win32_TSSessionDirectory")

For Each objItem in colItems
    errResult = objItem.SetSessionDirectoryExposeServerIP(ENABLE)
Next
	

Modify Terminal Service Audit Permissions


Prevents the user fabrikam\bob from being able to query Terminal Services Accounting terminal for session information.
Const WINSTATION_QUERY = 0
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from Win32_TSAccount Where AccountName = 'fabrikam\\bob' AND " _
        & "TerminalName = 'Accounting'")

For Each objItem in colItems
    errResult = objItem.ModifyAuditPermissions(WINSTATION_QUERY, False)
 ext
	

Modify Terminal Services Broken Connection Policy


Enables per-user application of broken connection policies. To apply the same broken connection policies to all users, set the value of the BrokenConnectionPolicy property to 0 rather than 1.
Const PER_USER = 1
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery("Select * from Win32_TSSessionSetting")

For Each objItem in colItems
    objItem.BrokenConnectionPolicy = PER_USER
    objItem.Put_
Next
	

Modify Terminal Services Broken Connection Settings


Configures Terminal Services to permanently delete a session in case of a broken connection. To configure Terminal Services to merely disconnect the user from the session instead, pass the value 0 (instead of 1) to the BrokenConnection method.
Const DISCONNECT_USER = 1
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery("Select * from Win32_TSSessionSetting")

For Each objItem in colItems
    errResult = objItem.BrokenConnection(DISCONNECT_USER)
Next
	

Modify Terminal Services Client Connection Settings


Configures a Terminal Services client so that mapped drives and printers are automatically connected at logon; also enables print jobs to be sent directly to the client’s local printer. These settings can be disabled by setting the appropriate constant value to 0 rather than 1.
Const CONNECT_CLIENT_DRIVES = 1
Const CONNECT_PRINTER = 1
Const USE_CLIENT_PRINTER = 1
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery("Select * from Win32_TSClientSetting")

For Each objItem in colItems
    errResult = objItem.ConnectionSettings _
        (CONNECT_CLIENT_DRIVES, CONNECT_PRINTER, USE_CLIENT_PRINTER)
Next
	

Modify Terminal Services Color Depth


Configures Terminal Services to use 16-bit color for client sessions. To use 8-bit color, pass the value 1 (rather than 3) to the SetColorDepth method. Pass the value 4 to use 24-bit color.
Const SIXTEEN_BIT_COLOR = 3
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery("Select * from Win32_TSClientSetting")

For Each objItem in colItems
    errResult = objItem.SetColorDepth(SIXTEEN_BIT_COLOR)
Next
	

Modify Terminal Services Color Depth Policy


Enables the color depth policy on a computer running Terminal Services. To disable this policy, pass the value 0 (rather than 1) to the SetColorDepthPolicy method.
Const ENABLE = 1
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery("Select * from Win32_TSClientSetting")

For Each objItem in colItems
    errResult = objItem.SetColorDepthPolicy(ENABLE)
Next
	

Modify Terminal Services Client Logon Settings


Enables per-user application of client logon policies. To apply the same policies to all users, set the value of the ClientLogonInfoPolicy property to 0 rather than 1.
Const PER_USER = 1
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery("Select * from Win32_TSLogonSetting")

For Each objItem in colItems
    objItem.ClientLogonInfoPolicy = PER_USER
    objItem.Put_
Next
	

Modify the Terminal Services Comment


Modifies the descriptive comment attached to a Terminal Services server.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery("Select * from Win32_TSGeneralSetting")

For Each objItem in colItems
    objItem.Comment = "Accounting session."
    objItem.Put_
Next
	

Modify Terminal Services Connection Policy


Configures Terminal Services to use per-user connection settings. To apply the same connection settings to all users, set the value of the ConnectionPolicy property to 0 rather than 1.
Const PER_USER = 1
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery("Select * from Win32_TSClientSetting")

For Each objItem in colItems
    objItem.ConnectionPolicy = PER_USER
    objItem.Put_
Next
	

Modify Terminal Services Client Settings


Disables audio mapping on a computer running Terminal Services. To enable audio mapping, pass the value 1 (rather than 0) to the SetClientProperty method. To configure a different property value, replace the parameter AudioMapping with the appropriate property name.
Const DISABLE = 0
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery("Select * from Win32_TSClientSetting")

For Each objItem in colItems
    errResult = objItem.SetClientProperty("AudioMapping", DISABLE)
Next
	

Modify Terminal Services Client Wallpaper Settings


Disables client wallpaper on a computer running Terminal Services. To enable the use of client wallpaper, pass the value 1 (rather than 0) to the SetClientWallpaper method.
Const NO_WALLPAPER = 0
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from Win32_TSEnvironmentSetting")

For Each objItem in colItems
    errResult = objItem.SetClientWallpaper(NO_WALLPAPER)
Next
	

Modify Terminal Services Encryption Level


Configures Terminal Services to use high encryption (parameter value of 3). To use low-encryption, pass the SetEncryptionLevel method a value of 1. Client-compatible encryption uses a value of 2, and FIPS-compliant encryption uses a value of 4.
Const HIGH_ENCRYPTION = 3
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery("Select * from Win32_TSGeneralSetting")

For Each objItem in colItems
    errResult = objItem.SetEncryptionLevel(HIGH_ENCRYPTION)
Next
	

Modify Terminal Services Home Directory


Configures the default home directory on a Terminal Services server to C:\TSUsers.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from Win32_TerminalServiceSetting")

For Each objItem in colItems
    errResult = objItem.SetHomeDirectory("c:\tsusers")
Next
	

Modify Terminal Services Initial Program Policy


Configures Terminal Services to assign startup programs on a per-user basis. To have Terminal Services apply the same startup program to all users, set the value of the InitialProgramPolicy property to 0 rather than 1.
CONST PER_USER = 1
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from Win32_TSEnvironmentSetting")

For Each objItem in colItems
    objItem.InitialProgramPolicy = PER_USER
    objItem.Put_
Next
	

Modify the Terminal Services Logon


Configures the credentials (name, password, and domain) used to log on to Terminal Services.
Const TS_USER = "tsuser"
CONST TS_DOMAIN = "fabrikam"
CONST TS_PASSWORD = "password"
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery("Select * from Win32_TSLogonSetting")

For Each objItem in colItems
    errResult = objItem.ExplicitLogon(TS_USER, TS_DOMAIN, TS_PASSWORD)
Next
	

Modify Terminal Services Logon Policy


Enables new sessions on Terminal Services. To disable new sessions, set the value of the Logons property to 0 rather than 1.
Const NEW_SESSIONS_ALLOWED = 1
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from Win32_TerminalServiceSetting")

For Each objItem in colItems
    objItem.Logons = NEW_SESSIONS_ALLOWED
    objItem.Put_
Next
	

Modify Terminal Services Maximum Connections


Sets the maximum number of connections allowed on a Terminal Services network adapter to 100.
Const MAXIMUM_CONNECTIONS = 100
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from Win32_TSNetworkAdapterSetting")

For Each objItem in colItems
    objItem.MaximumConnections = MAXIMUM_CONNECTIONS
    objItem.Put_
Next
	

Modify Terminal Services Mode


Enables per-session licensing for Terminal Services. To enable per-device licensing, pass the value 2 (rather than 4) to the ChangeMode method.
Const PER_SESSION = 4

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from Win32_TerminalServiceSetting")

For Each objItem in colItems
    errResult = objItem.ChangeMode(PER_SESSION)
Next
	

Modify Terminal Service Permissions


Gives the user fabrikam\bob the right to connect to another Terminal Services session.
CONST WINSTATION_CONNECT = 8 
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from Win32_TSAccount Where AccountName = 'fabrikam\\bob' " & _
        "AND TerminalName = 'Accounting'")

For Each objItem in colItems
    errResult = objItem.ModifyPermissions(WINSTATION_CONNECT,True)
Next
	

Modify Terminal Services Policy Property


Disables the UseTempFolders policy on a computer running Terminal Services. To enable this policy, pass the value 1 (rather than 0) to the SetPolicyPropertyName method. To configure a different policy, simply replace the method parameter “UseTempFolders” with the appropriate policy name.
Const DISABLE_POLICY = 0
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from Win32_TerminalServiceSetting")

For Each objItem in colItems
    errResult = objItem.SetPolicyPropertyName("UseTempFolders", DISABLE_POLICY)
Next
	

Modify Terminal Services Profile Path


Sets the Terminal Services profile path on a computer to C:\TSProfiles.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from Win32_TerminalServiceSetting")

For Each objItem in colItems
    errResult = objItem.SetProfilePath("c:\tsprofiles")
Next
	

Modify Terminal Services Remote Control Policy


Enables Terminal Services to apply per-user remote control policies. To apply the same remote control policies to all users, set the value of the RemoteControlPolicy property to 0 rather than 1.
Const PER_USER = 1
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from Win32_TSRemoteControlSetting")

For Each objItem in colItems
    objItem.RemoteControlPolicy = PER_USER
    objItem.Put_
Next
	

Modify Terminal Service Remote Control Settings


Enables remote user to view, but not actively control, a session. Permission of the logged-on session user is not required.
Const ENABLE_NO_INPUT_NO_NOTIFY = 4
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery _
  ("Select * from Win32_TSRemoteControlSetting Where " & _
        "TerminalName = 'Accounting'")

For Each objItem in colItems
  errResult = objItem.RemoteControl(ENABLE_NO_INPUT_NO_NOTIFY)
Next
	

Modify Terminal Services Reconnection Policy


Allows a user to reconnect to a Terminal Services session using any client. To require users to reconnect to a session using the same client they used previously, set the value of the ReconnectionPolicy property to 1 rather than 0.
Const PREVIOUS_CLIENT = 0
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery("Select * from Win32_TSSessionSetting")

For Each objItem in colItems
    objItem.ReconnectionPolicy = PREVIOUS_CLIENT
    objItem.Put_
Next
	

Modify Terminal Services Session Directory IP Address


Configures Terminal Services to use a session directory with the IP address of 192.168.1.3.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from Win32_TSSessionDirectory")

For Each objItem in colItems
    objItem.SessionDirectoryIPAddress = "192.168.1.3"
    objItem.Put_
Next
	

Modify Terminal Services Session Directory Location


Sets the session directory location of a Terminal Services server to 192.168.1.3.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from Win32_TSSessionDirectory")

For Each objItem in colItems
    errResult = objItem.SetSessionDirectoryProperty _
        ("SessionDirectoryLocation", "192.168.1.3")
Next
	

Modify Terminal Services Session Time Limit


Allows unlimited-length active sessions in Terminal Services. To enforce a time limit on active sessions, pass the TimeLimit method a value other than 0. Time limits must be expressed in milliseconds; for example, a one-minute session limit would be expressed as 60000: 60 seconds times 1000 milliseconds. A one-hour time limit would be expressed as 3600000.
Const NO_SESSION_LIMIT = 0
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery("Select * from Win32_TSSessionSetting")

For Each objItem in colItems
    errResult = objItem.TimeLimit("ActiveSessionLimit", NO_SESSION_LIMIT)
Next
	

Modify Terminal Services Time Limit Policy


Configures Terminal Services to use per-user time limit policies. To apply the server’s time limit policies to all users, set the value of the TimeLimitPolicy property to 0 instead of 1.
Const PER_USER = 1
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery("Select * from Win32_TSSessionSetting")

For Each objItem in colItems
    objItem.TimeLimitPolicy = PER_USER
    objItem.Put_
Next
	

Modify Terminal Services Time Zone Redirection


Disables Terminal Service time zone redirection on a computer. To enable time zone redirection, pass the value 1 (instead of 0) to the SetTimeZoneRedirection method.
Const DISABLE = 0
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from Win32_TerminalServiceSetting")

For Each objItem in colItems
    errResult = objItem.SetTimeZoneRedirection(DISABLE)
Next
	

Modify Terminal Services User Permissions


Enables Terminal Services application compatibility. To disable application compatibility, set the value of the UserPermission property to 0 instead of 1.
Const ENABLED = 1
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from Win32_TerminalServiceSetting")

For Each objItem in colItems
    objItem.UserPermission = ENABLED
    objItem.Put_
Next
	

Modify Terminal Services Windows Authentication Setting


Configures Terminal Services to use standard Windows authentication. To disable standard authentication (in order to use a custom authentication package), set the value of the WindowsAuthentication property to 0 rather than 1.
Const STANDARD_AUTHENTICATION = 1
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery("Select * from Win32_TSGeneralSetting")

For Each objItem in colItems
    objItem.WindowsAuthentication = STANDARD_AUTHENTICATION
    objItem.Put_
Next
	

Restores the default permission settings for all the Terminal Service accounts on a computer.


Restore the Default Terminal Service Permissions
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from Win32_TSPermissionsSetting")

For Each objItem in colItems
    errResult = objItem.RestoreDefaults()
Next
	

Rename a Terminal Service Terminal


Renames the Terminal Services terminal RDP-tcp (the default name) to Accounting.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from Win32_Terminal Where TerminalName = 'RDP-tcp'")

For Each objItem in colItems
    errResult = objItem.Rename("Accounting")
Next