Contact Info

Crumbtrail

ActiveXperts.com » Administration » VBScript Collection » Users and Groups » Terminal Services Accounts

Scripts to manage Terminal Services Accounts

Clearing Terminal Services Properties for a User Account
Configuring Terminal Services Environment Properties for a User Account
Configuring Terminal Services Profile Properties for a User Account
Configuring Terminal Services Session Properties for a User Account
Enabling Remote Control Settings for a User Account
Reading Terminal Services Environment Properties for a User Account
Reading Terminal Services Profile Properties
Retrieving Terminal Services Properties for a User
Retrieving Terminal Services Remote Control Properties for a User Account
Retrieving Terminal Services Session Properties

Clearing 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

Configuring 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

Configuring 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

Configuring 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

Enabling Remote Control Settings for a User Account


Configures the EnableRemoteControl attribute for the MyerKen Active Directory 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")
objUser.EnableRemoteControl = EnableNoInputNoNotify
 
objUser.SetInfo

Reading 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")
 
intConnectClientDrivesAtLogon = objUser.ConnectClientDrivesAtLogon
intConnectClientPrintersAtLogon = objUser.ConnectClientPrintersAtLogon
intDefaultToMainPrinter = objUser.DefaultToMainPrinter
strTerminalServicesInitialProgram = objUser.TerminalServicesInitialProgram
strTerminalServicesWorkDirectory = objUser.TerminalServicesWorkDirectory
 
WScript.echo "ConnectClientDrivesAtLogon: " & intConnectClientDrivesAtLogon
WScript.echo "ConnectClientPrintersAtLogon: " & _
    intConnectClientPrintersAtLogon
WScript.echo "DefaultToMainPrinter: " & intDefaultToMainPrinter
WScript.echo "TerminalServicesInitialProgram: " & _
    strTerminalServicesInitialProgram 
WScript.echo "TerminalServicesWorkDirectory: " & _
    strTerminalServicesWorkDirectory

Reading 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")
 
strTerminalServicesProfilePath = objUser.TerminalServicesProfilePath 
strTerminalServicesHomeDirectory = objUser.TerminalServicesHomeDirectory
strTerminalServicesHomeDrive = objUser.TerminalServicesHomeDrive
intAllowLogon = objUser.AllowLogon
 
WScript.echo "TerminalServicesProfilePath : " & strTerminalServicesProfilePath 
WScript.echo "TerminalServicesHomeDirectory: " & _
    strTerminalServicesHomeDirectory
WScript.echo "TerminalServicesHomeDrive: " & strTerminalServicesHomeDrive
WScript.echo "AllowLogon: " & intAllowLogon

Retrieving Terminal Services Properties for a User


Retrieve a user's Terminal Services Profile settings using the ADSI Extension for Terminal Services User Configuration. Requires Windows Server 2003.
Set objUser = GetObject("LDAP://cn=youngrob,ou=r&d,dc=fabrikam,dc=com") 
 
WScript.Echo objUser.Name & " Terminal Services Profile Settings"
WScript.Echo "--------------------------------------------------"
 
'**********************************************************************
'* Terminal Services Profile tab
'**********************************************************************
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
 
'**********************************************************************
'* Remote control tab
'**********************************************************************
WScript.Echo "Enable Remote Control: " & objUser.EnableRemoteControl
 
'**********************************************************************
'* Sessions tab
'**********************************************************************
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
 
'**********************************************************************
'* Environment tab
'**********************************************************************
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

Retrieving 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

Retrieving 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")
 
intMaxDisconnectionTime = objUser.MaxDisconnectionTime 
intMaxConnectionTime = objUser.MaxConnectionTime
intMaxIdleTime = objUser.MaxIdleTime
intBrokenConnectionAction = objUser.BrokenConnectionAction
intReconnectionAction  = objUser.ReconnectionAction 
 
WScript.echo "Maximum Disconnection Time : " & intMaxDisconnectionTime 
WScript.echo "Maximum Connection Time: " & intMaxConnectionTime
WScript.echo "Maximum Idle Time: " & intMaxIdleTime
WScript.echo "Broken Connection Action: " & intBrokenConnectionAction 
WScript.echo "Reconnection Action : " & intReconnectionAction