Writing a custom RDP file from a Kix logon script

Written by James McDonald

November 8, 2011

I attempted use the standard kix script writeLine() function to append data to a Windows .RDP file and got garbage

I wanted to add a custom “username:s:DOMAINNAME\username” line to the end of the RDP File.

Use VBScript embedded in the kix script to append the string

If InGroup("MyUsers")
        ; terminal server desktop icon
	$scName = $strDesktop + "\" + "EDI Gateway.lnk"
	$scTarg = "%windir%\system32\mstsc.exe"
	$scWorkDir = "%windir%"
	$scArg =  '"%APPDATA%\MyCustomDir\custom_rdp.rdp"' + " /v:myhostname.example.com"
	$scIconLoc = ""
	$edi_rdp = "custom_rdp.rdp"
	$target_edi_rdp = $apf_app_data + "\" + $edi_rdp
	CreateShortcut ($scName, $scTarg, $scWorkDir, $scArg, $scIconLoc)
        ; copy rdp file to local appdata and modify
	if not Exist($target_edi_rdp)
		copy @LSERVER + "\NETLOGON\" + $edi_rdp $target_edi_rdp
		$dom_user = "username:s:MYDOMAIN" + "\" + @USERID

                ; begin vbs code but running from kix
		$fso = CreateObject("Scripting.FileSystemObject")
		$ForAppending = 8
		$TristateTrue = -1 ; open it as unicode
		; zero is false
		$textFile = $fso.OpenTextFile($target_edi_rdp, $ForAppending, 0 , $TristateTrue )
		$textFile.WriteLine(@CRLF + $dom_user + @CRLF )



Submit a Comment

Your email address will not be published. Required fields are marked *

You May Also Like…

CakePHP 4 Time Zones

The internet suggests for CakePHP... Set your database time zone to UTCSet you CakePHP default time zone to UTCStore...