Contact Info

Crumbtrail

ActiveXperts.com » Administration » VBScript Collection » Terminal Services » Terminal Service User Accounts

Configuring Terminal Services User Accounts

Add a Terminal Services Account
Clear Terminal Services Properties for a User Account
Delete a Terminal Services Account
Enable Remote Control Settings for a User Account
List Terminal Services Environment Properties for a User Account
List Terminal Services Profile Properties
List Terminal Services Properties for a User
List Terminal Services Remote Control Properties for a User Account
List Terminal Services Session Properties
Modify Terminal Services Environment Properties for a User Account
Modify Terminal Services Profile Properties for a User Account
Modify Terminal Services Session Properties for a User Account


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 Account


Adds a new Terminal Service account for fabrikam\bob, giving this account guest access rights.
Const GUEST_ACCESS = 0
 
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.AddAccount("fabrikam\bob", GUEST_ACCESS)
Next
	

Clear Terminal Services Properties for a User Account


Clears the Terminal Services userParameters attribute for the MyerKen Active Directory user account.
Const ADS_PROPERTY_CLEAR = 1 
 
Set objUser = GetObject _
   ("LDAP://cn=MyerKen,ou=Management,dc=NA,dc=fabrikam,dc=com") 

objUser.PutEx ADS_PROPERTY_CLEAR, "userParameters", 0
objUser.SetInfo
	

Delete a Terminal Services Account


Deletes the Terminal Services account for fabrikam\bob. Note that in the WQL query you must separate the domain name (fabrikam) and the user name (bob) using two slashes rather than one. Thus the account fabrikam\kenmyer would be listed as fabrikam\\kenmyer.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from Win32_TSAccount Where AccountName = 'FABRIKAM\\bob'")

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

Enable Remote Control Settings for a User Account


Configures the EnableRemoteControl attribute for the MyerKen Active Directory user account. Other constant values are included in the script as a reference.
Const Disable = 0
Const EnableInputNotify = 1
Const EnableInputNoNotify = 2 
Const EnableNoInputNotify = 3
Const EnableNoInputNoNotify = 4
 
Set objUser = GetObject _
  ("LDAP://cn=MyerKen,ou=Management,dc=NA,dc=fabrikam,dc=com")
objUser.EnableRemoteControl = EnableNoInputNoNotify
 
objUser.SetInfo
	

List Terminal Services Environment Properties for a User Account


Returns Terminal Services environment properties for the MyerKen Active Directory user account.
Set objUser = GetObject _
  ("LDAP://cn=MyerKen,ou=Management,dc=NA,dc=fabrikam,dc=com")
 
Wscript.Echo "Connect Client Drives At Logon: " & _
    objUser.ConnectClientDrivesAtLogon
Wscript.Echo "Connect Client Printers At Logon: " & _
    objUser.ConnectClientPrintersAtLogon
Wscript.Echo "Default To Main Printer: " & objUser.DefaultToMainPrinter
Wscript.Echo "Terminal Services Initial Program: " & _
    objUser.TerminalServicesInitialProgram 
Wscript.Echo "Terminal Services Work Directory: " & _
    objUser.TerminalServicesWorkDirectory
	

List Terminal Services Profile Properties


Returns Terminal Services profile information for the MyerKen Active Directory user account.
Set objUser = GetObject _
  ("LDAP://cn=MyerKen,ou=Management,dc=NA,dc=fabrikam,dc=com")
 
WScript.echo "Terminal Services Profile Path : " & _
    objUser.TerminalServicesProfilePath 
WScript.echo "Terminal Services Home Directory: " & _
    objUser.TerminalServicesHomeDirectory
WScript.echo "Terminal Services Home Drive: " & _
    objUser.TerminalServicesHomeDrive
WScript.echo "Allow Logon: " & objUser.AllowLogon
	

List Terminal Services Properties for a User


Retrieve a user's Terminal Services Profile settings.
Set objUser = GetObject("LDAP://cn=youngrob,ou=r&d,dc=fabrikam,dc=com") 
 
WScript.Echo objUser.Name & " Terminal Services Profile Settings"
WScript.Echo "--------------------------------------------------"
 
WScript.Echo "Allow Logon: " & objUser.AllowLogon
WScript.Echo "Terminal Services Home Directory: " & _
    objUser.TerminalServicesHomeDirectory
WScript.Echo "Terminal Services Home Drive: " & _
    objUser.TerminalServicesHomeDrive
WScript.Echo "Terminal Services Profile Path: " & _
    objUser.TerminalServicesProfilePath
 
WScript.Echo "Enable Remote Control: " & objUser.EnableRemoteControl
 
WScript.Echo "Broken Connection Action: " & objUser.BrokenConnectionAction
WScript.Echo "Max Connection Time: " & objUser.MaxConnectionTime
WScript.Echo "Max Disconnection Time: " & objUser.MaxDisconnectionTime
WScript.Echo "Max Idle Time: " & objUser.MaxIdleTime
WScript.Echo "Reconnection Action: " & objUser.ReconnectionAction
 
WScript.Echo "Connect Client Drives At Logon: " & _
    objUser.ConnectClientDrivesAtLogon
WScript.Echo "Connect Client Printers At Logon: " & _
    objUser.ConnectClientPrintersAtLogon
WScript.Echo "Default To Main Printer: " & _
    objUser.DefaultToMainPrinter
WScript.Echo "Terminal Services Initial Program: " & _
    objUser.TerminalServicesInitialProgram
WScript.Echo "Terminal Services Work Directory: " & _
    objUser.TerminalServicesWorkDirectory
	

List Terminal Services Remote Control Properties for a User Account


Retrieves Terminal Services Remote Control attribute values for the MyerKen user account.
Const Disable = 0
Const EnableInputNotify = 1
Const EnableInputNoNotify = 2 
Const EnableNoInputNotify = 3
Const EnableNoInputNoNotify = 4
 
Set objUser = GetObject _
    ("LDAP://cn=MyerKen,ou=Management,dc=NA,dc=fabrikam,dc=com")
 
intEnableRemoteControl  = objUser.EnableRemoteControl  
 
Select Case intEnableRemoteControl
    Case Disable  WScript.Echo "Remote control disabled"
    Case EnableInputNotify 
        WScript.Echo "Remote control enabled"
        WScript.Echo "User permission required"
        WScript.Echo "Interact with the session"
    Case EnableInputNoNotify
        WScript.Echo "Remote control enabled"
        WScript.Echo "User permission not required"
        WScript.Echo "Interact with the session"
    Case EnableNoInputNotify
        WScript.Echo "Remote control enabled"
        WScript.Echo "User permission required"
        WScript.Echo "View the session"
    Case EnableNoInputNoNotify
        WScript.Echo "Remote control enabled"
        WScript.Echo "User permission not required"
        WScript.Echo "View the session"
End Select
	

List Terminal Services Session Properties


Retrieves Terminal Services session properties for the MyerKen Active Directory user account.
Set objUser = GetObject _
  ("LDAP://cn=MyerKen,ou=Management,dc=NA,dc=fabrikam,dc=com")
 
WScript.echo "Maximum Disconnection Time : " & objUser.MaxDisconnectionTime 
WScript.echo "Maximum Connection Time: " & objUser.MaxConnectionTime
WScript.echo "Maximum Idle Time: " & objUser.MaxIdleTime
WScript.echo "Broken Connection Action: " & objUser.BrokenConnectionAction 
WScript.echo "Reconnection Action : " & objUser.ReconnectionAction
	

Modify Terminal Services Environment Properties for a User Account


Configures the Terminal Services environment properties for the MyerKen Active Directory user account.
Const Enabled = 1
Const Disabled = 0

Set objUser = GetObject _
    ("LDAP://cn=MyerKen,ou=Management,dc=NA,dc=fabrikam,dc=com")
 
objUser.ConnectClientDrivesAtLogon = Enabled
objUser.ConnectClientPrintersAtLogon = Enabled
objUser.DefaultToMainPrinter = Enabled
objUser.TerminalServicesInitialProgram = "cmd"
objUser.TerminalServicesWorkDirectory = "c:\temp"
objUser.SetInfo
	

Modify Terminal Services Profile Properties for a User Account


Configures Terminal Services profile attributes for the MyerKen Active Directory user account.
Const Enabled = 1
Const Disabled = 0

Set objUser = GetObject _
    ("LDAP://cn=MyerKen,ou=Management,dc=NA,dc=fabrikam,dc=com")
 
objUser.TerminalServicesProfilePath = ""
objUser.TerminalServicesHomeDirectory = ""
objUser.TerminalServicesHomeDrive = ""
objUser.AllowLogon = Enabled
objUser.SetInfo
	

Modify Terminal Services Session Properties for a User Account


Configures Terminal Services session attributes for the MyerKen Active Directory user account.
Const Enabled = 1
Const Disabled = 0

Set objUser = GetObject _
  ("LDAP://cn=MyerKen,ou=Management,dc=NA,dc=fabrikam,dc=com")
 
objUser.MaxDisconnectionTime = 2880
objUser.MaxConnectionTime = 1440
objUser.MaxIdleTime = 180
objUser.BrokenConnectionAction = Enabled
objUser.ReconnectionAction = Enabled
objUser.SetInfo