For details about this script, check out my post on scripting Presentation Server 4.5. This example here will add a server to an existing farm, however I’ve listed all of the available setup properties in this script.
@ECHO OFF
ECHO Configuring Java Environment for CPS 4.5..
REM Find the lastest version of the install JVM from the default path
PUSHD "%ProgramFiles%\Java" & FOR /D %%d IN (*) DO SET JAVAVERSION=%%d & POPD
REM Remove the "jre" text from the variable
FOR /F "tokens=2 delims=e " %%i in ("%javaversion%") DO SET JAVAVERSION=%%i
REG ADD "HKLM\SOFTWARE\JavaSoft\Java Runtime Environment\1.5.0_09" /v JavaHome /d "%JAVAVERSION%" /t REG_SZ /f
REG ADD "HKLM\SOFTWARE\JavaSoft\Java Runtime Environment\1.5.0_09" /v MicroVersion /d "2" /t REG_SZ /f
REG ADD "HKLM\SOFTWARE\JavaSoft\Java Runtime Environment\1.5.0_09" /v RuntimeLib /d "%JAVAVERSION%\bin\client\jvm.dll" /t REG_SZ /fSET OPTIONS=%OPTIONS% CTX_USE_EXISTING_JRE="Yes"
SET OPTIONS=%OPTIONS% CTX_MF_FARM_SELECTION="Join"
SET OPTIONS=%OPTIONS% CTX_ODBC_PASSWORD="password"
SET OPTIONS=%OPTIONS% CTX_MF_ODBC_USER_NAME="DOMAIN\username"
SET OPTIONS=%OPTIONS% CTX_MF_SILENT_DSNFILE="MF20.DSN"
SET OPTIONS=%OPTIONS% CTX_MF_JOIN_FARM_DB_CHOICE="Direct"
REM SET OPTIONS=%OPTIONS% CTX_MF_NEW_FARM_NAME
REM SET OPTIONS=%OPTIONS% CTX_MF_USER_NAME
REM SET OPTIONS=%OPTIONS% CTX_MF_DOMAIN_NAME
REM SET OPTIONS=%OPTIONS% CTX_MF_CREATE_FARM_DB_CHOICE="Third Party"
REM SET OPTIONS=%OPTIONS% CTX_MF_LOCAL_DATABASE="SQL"
REM SET OPTIONS=%OPTIONS% CTX_MF_MSDE_INSTANCE_NAME="CITRIX_METAFRAME"
REM SET OPTIONS=%OPTIONS% CTX_MF_INDIRECT_JOIN_DOMAIN_NAME="DOMAIN"
REM SET OPTIONS=%OPTIONS% CTX_MF_INDIRECT_JOIN_USER_NAME="username"
REM SET OPTIONS=%OPTIONS% CTX_INDIRECT_JOIN_PASSWORD="password"
REM SET OPTIONS=%OPTIONS% CTX_MF_JOIN_FARM_SERVER_NAME="server"
REM SET OPTIONS=%OPTIONS% CTX_MF_JOIN_FARM_SERVER_PORT"2512"
REM SET OPTIONS=%OPTIONS% CTX_MF_ZONE_NAME=""
SET OPTIONS=%OPTIONS% CTX_MF_ADD_ANON_USERS="Yes"
SET OPTIONS=%OPTIONS% CTX_MF_CREATE_REMOTE_DESKTOP_USERS="CopyUsers"
SET OPTIONS=%OPTIONS% CTX_MF_SHADOWING_CHOICE="Yes"
SET OPTIONS=%OPTIONS% CTX_MF_SHADOW_PROHIBIT_REMOTE_ICA="No"
SET OPTIONS=%OPTIONS% CTX_MF_SHADOW_PROHIBIT_NO_NOTIFICATION="No"
SET OPTIONS=%OPTIONS% CTX_MF_SHADOW_PROHIBIT_NO_LOGGING="No"
SET OPTIONS=%OPTIONS% CTX_MF_XML_CHOICE="share"
SET OPTIONS=%OPTIONS% CTX_MF_XML_PORT_NUMBER="80"
SET OPTIONS=%OPTIONS% CTX_MF_SERVER_TYPE="E"
SET OPTIONS=%OPTIONS% CTX_MF_ENABLE_VIRTUAL_SCRIPTS="Yes"
SET OPTIONS=%OPTIONS% CTX_IMA_PROTECTION_ENABLE="0"
SET OPTIONS=%OPTIONS% CTX_PROTECT_KEY_TYPE="FILE"
REM SET OPTIONS=%OPTIONS% CTX_PROTECT_KEY_PATH=""
REM SET OPTIONS=%OPTIONS% CTX_PROTECT_NEW_KEY_PATH=""
SET OPTIONS=%OPTIONS% CTX_MF_ADD_LOCAL_ADMIN="Yes"
SET OPTIONS=%OPTIONS% CTX_RDP_DISABLE_PROMPT_FOR_PASSWORD="Yes"
SET OPTIONS=%OPTIONS% CTX_MF_LIC_CHOICE_FOR_CREATE="UseFarmSettings"
SET OPTIONS=%OPTIONS% CTX_MF_LICENSE_SERVER_NAME="localhost"
SET OPTIONS=%OPTIONS% CTX_MF_LIC_CHOICE_FOR_JOIN_OR_UPGRADE="UseFarmSettings"
SET OPTIONS=%OPTIONS% CTX_MF_LICENSE_SERVER_PORT="27000"
SET OPTIONS=%OPTIONS% CTX_MF_LICENSE_SEVER_PORT_DEFAULT="1"
SET OPTIONS=%OPTIONS% CTX_IGNORE_MCM="No"
SET OPTIONS=%OPTIONS% CTX_REMOVE_WI_TURNKEY="Yes"
SET OPTIONS=%OPTIONS% CTX_MF_ONLY_LAUNCH_PUBLISHED_APPS="No"
REM SET OPTIONS=%OPTIONS% CTX_SERV_PRINTER_LOGON="ctx_cpsvcuser"
REM SET OPTIONS=%OPTIONS% CTX_SERV_MALOO_LOGON="ctx_cpuuser"
SET OPTIONS=%OPTIONS% CLIENT_NAME=%COMPUTERNAME%
SET OPTIONS=%OPTIONS% CLIENT_UPGRADE="Yes"
SET OPTIONS=%OPTIONS% CLIENT_INSTALLDIR="%ProgramFiles%\Citrix\ICA Client"
SET OPTIONS=%OPTIONS% ENABLE_DYNAMIC_CLIENT_NAME="Yes"
SET OPTIONS=%OPTIONS% PROGRAM_FOLDER_NAME="Citrix\MetaFrame Access Clients"
SET OPTIONS=%OPTIONS% SERVER_LOCATION="https://pna.company.local"
REM SET OPTIONS=%OPTIONS% DEFAULT_NDSCONTEXT
SET OPTIONS=%OPTIONS% ENABLE_SSON="Yes"
SET OPTIONS=%OPTIONS% CTX_ADDLOCAL=
REM SET OPTIONS=%OPTIONS% REINSTALLMODE=oums
SET OPTIONS=%OPTIONS% INSTALLDIR="%ProgramFiles%\Citrix"
SET OPTIONS=%OPTIONS% ALLUSERS=TRUE REBOOT="ReallySuppress" /L*v "%SYSTEMROOT%\Temp\CPS45.log" /QB-
ECHO Citrix Presentation Server 4.5..
START /WAIT MSIEXEC /I MPS.msi %OPTIONS%
ECHO Configuring Presentation Server..
REG QUERY "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp" /v fDisableEXE
IF "%ERRORLEVEL%"=="0" (
IF EXIST "Administration\Access Management Console\Setup\ASC_Framework.msi" (
ECHO Citrix Access Management Console Console..
START /WAIT MSIEXEC /I "Administration\Access Management Console\Setup\ASC_Framework.msi" ALLUSERS=TRUE REBOOT=SUPRESS /QB-
START /WAIT MSIEXEC /I "Administration\Access Management Console\Setup\ASC_Diagnostics.msi" ALLUSERS=TRUE REBOOT=SUPRESS /QB-
START /WAIT MSIEXEC /I "Administration\Access Management Console\Setup\ASC_HotfixManagement.msi" ALLUSERS=TRUE REBOOT=SUPRESS /QB-
START /WAIT MSIEXEC /I "Administration\Access Management Console\Setup\ASC_KnowledgeBase.msi" ALLUSERS=TRUE REBOOT=SUPRESS /QB-
START /WAIT MSIEXEC /I "Administration\Access Management Console\Setup\ASC_Legacy.msi" ALLUSERS=TRUE REBOOT=SUPRESS /QB-
START /WAIT MSIEXEC /I "Administration\Access Management Console\Setup\ASC_Licensing.msi" ALLUSERS=TRUE REBOOT=SUPRESS /QB-
START /WAIT MSIEXEC /I "Administration\Access Management Console\Setup\ASC_PresentationServer.msi" ALLUSERS=TRUE REBOOT=SUPRESS /QB-
START /WAIT MSIEXEC /I "Administration\Access Management Console\Setup\ASC_PSReports.msi" ALLUSERS=TRUE REBOOT=SUPRESS /QB-
START /WAIT MSIEXEC /I "Administration\Access Management Console\Setup\ASC_ReportCenter.msi" ALLUSERS=TRUE REBOOT=SUPRESS /QB-
REM START /WAIT MSIEXEC /I "Administration\Access Management Console\Setup\ASC_WebInterface.msi" ALLUSERS=TRUE REBOOT=SUPRESS /QB-
)
REM Delete Program Neighbourhood icons..
IF EXIST "%ALLUSERSPROFILE%\Desktop\Program Neighborhood.LNK" DEL "%ALLUSERSPROFILE%\Desktop\Program Neighborhood.LNK"
IF EXIST "%ALLUSERSPROFILE%\Start Menu\Programs\Startup\Program Neighborhood Agent.LNK" DEL "%ALLUSERSPROFILE%\Start Menu\Programs\Startup\Program Neighborhood Agent.LNK"
REM Disable Anonymous users created by Presentation Server..
NET USER | FIND "Anon" > %SYSTEMROOT%\TEMP\USERS1.TXT
FOR /F "tokens=1,2,3" %%u IN (%SYSTEMROOT%\TEMP\USERS1.TXT) DO ECHO %%u >> %SYSTEMROOT%\TEMP\USERS2.TXT & ECHO %%v >> %SYSTEMROOT%\TEMP\USERS2.TXT & ECHO %%w >> %SYSTEMROOT%\TEMP\USERS2.TXT
TYPE %SYSTEMROOT%\TEMP\USERS2.TXT | FIND "Anon" > %SYSTEMROOT%\TEMP\USERS3.TXT
FOR /F %%u IN (%SYSTEMROOT%\TEMP\USERS3.TXT) DO NET USER %%u /ACTIVE:NO > NUL
ECHO Presentation Server settings..
REG DELETE HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v ICABAR /f
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Citrix\ClientPrinterProperties /v fPurgeAnyWay /t REG_DWORD /d 0x00000001 /f
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Citrix\ClientPrinterProperties /v fNotInheritKeepPrintedJobs /t REG_DWORD /d 0x00000001 /f
ECHO ICA-tcp Settings..
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp" /v fInheritAutoLogon /d 0x00000001 /t REG_DWORD /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp" /v fInheritResetBroken /d 0x00000001 /t REG_DWORD /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp" /v fInheritReconnectSame /d 0x00000001 /t REG_DWORD /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp" /v fInheritInitialProgram /d 0x00000001 /t REG_DWORD /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp" /v fInheritCallback /d 0x00000000 /t REG_DWORD /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp" /v fInheritCallbackNumber /d 0x00000001 /t REG_DWORD /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp" /v fInheritShadow /d 0x00000000 /t REG_DWORD /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp" /v fInheritMaxSessionTime /d 0x00000001 /t REG_DWORD /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp" /v fInheritMaxDisconnectionTime /d 0x00000001 /t REG_DWORD /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp" /v fInheritMaxIdleTime /d 0x00000001 /t REG_DWORD /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp" /v fInheritAutoClient /d 0x00000000 /t REG_DWORD /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp" /v fInheritSecurity /d 0x00000000 /t REG_DWORD /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp" /v fPromptForPassword /d 0x00000000 /t REG_DWORD /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp" /v fInheritColorDepth /d 0x00000001 /t REG_DWORD /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp" /v fResetBroken /d 0x00000000 /t REG_DWORD /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp" /v fReconnectSame /d 0x00000000 /t REG_DWORD /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp" /v fLogonDisabled /d 0x00000000 /t REG_DWORD /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp" /v fAutoClientDrives /d 0x00000001 /t REG_DWORD /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp" /v fAutoClientLpts /d 0x00000000 /t REG_DWORD /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp" /v fForceClientLptDef /d 0x00000000 /t REG_DWORD /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp" /v fDisableEncryption /d 0x00000001 /t REG_DWORD /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp" /v fDisableCpm /d 0x00000000 /t REG_DWORD /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp" /v fDisableCdm /d 0x00000000 /t REG_DWORD /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp" /v fDisableCcm /d 0x00000000 /t REG_DWORD /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp" /v fDisableLPT /d 0x00000000 /t REG_DWORD /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp" /v fDisableClip /d 0x00000000 /t REG_DWORD /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp" /v fDisableExe /d 0x00000000 /t REG_DWORD /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp" /v fDisableCam /d 0x00000000 /t REG_DWORD /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp" /v Shadow /d 0x00000002 /t REG_DWORD /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp" /v KeyboardLayout /d 0x00000000 /t REG_DWORD /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-tcp" /v ColorDepth /d 0x00000000 /t REG_DWORD /f
)







