Storefront Web Receiver White theme
1. Create my_backgroud.jpg plane white or with colored top, 2035x1534 put in contrib folder
1a. Create my_logo.png (209x35) and put in contrib
2. Dump this css into custom.style.css http://pastebin.com/mSU8jwuH
3. Fix any issue based round your environment, I suggest chrome
Showing posts with label citrix. Show all posts
Showing posts with label citrix. Show all posts
Wednesday, September 3, 2014
Citrix Netscaler Access Gateway Mobile Friendly White Theme
Hi,
If it helps anyone attached is some of my code to make the logon page
white and mobile friendlier.
Assume you have
1. Set Theme to Green bubble
2. Followed the ctx to create the custom theme
then in theory here is minimal touch to existing base code of the index.htm
3. Update index.html in /var/ns_gui_custom/ns_gui/vpn
<HEAD><TITLE>Citrix Access Gateway</TITLE>
<META http-equiv="Content-Type" content="text/html;
charset=UTF-8">
<META content=noindex,nofollow,noarchive name=robots>
<meta
http-equiv="X-UA-Compatible" content="IE=IE9">
<meta
name="viewport" content="width=device-width,
initial-scale=1" />
<link rel="SHORTCUT ICON"
href="/vpn/images/AccessGateway.ico"
type="image/vnd.microsoft.icon">
<link href="/vpn/css/ctxs.mainstyle.css"
rel="stylesheet" type="text/css" media="screen"
/>
<link href="/vpn/css/ctxs.authentication.css"
rel="stylesheet" type="text/css" />
<link
href="/vpn/custom/custom.css" rel="stylesheet"
type="text/css">
http-equiv – fixes the IE10/11 compatibility viewing issue.
Viewport – supposed to make the mobile play nice, good for sharefile logins.
Download CSS - http://pastebin.com/N2DaY3hV
4. Create folder ‘custom’ in /var/ns_gui_custom/ns_gui/vpn
Update the custom.css with your logo_company size/dimensions.
Copy in the custom.css
cipy in your Logo_company.png
For me Iphones don’t render the best because of the screen size and my company
logo image.
Nexus work so J
Thanks to chrome browser for screen size emulation
feature !
Friday, September 27, 2013
Reporting Citrix user session into SQL - Alternative to edgesight
Updated 27/09/2013
Since we moved to XenAPP 6.5 we noticed that was unable to get handy reports about usage what application users were loading. Not a bit fan of edgesight ! :(
After many months we have arrived at this solution, every 15mins a powershell script will query the XenApp farm and write the content up to SQL DB.
Assume you will know how to create table\permissions in the SQL database.
Pretty lean on my SQL leave it up to you to workout.
Created a database 'xenuserinfo' manually and then made sure it was selected when executing the SQL scripts
SQL Script:
Then I used the console to add permissions etc.
Now the powershell script that will run every 15mins, notice there are 2 entries to save me time when making graphs. At the 15 minute mark it looks backwards to see if there are any logons, if so then upload to database. Doubt it would get secondary launches (ie loading another app off same server).
Performing the session count as we are working in shared license environment = trust no-one!.
Don't forget to install the SDK
now off to create pretty graphs in excel
Update -
or.
Muck around with data in powershell ie generate csv etc.
Since we moved to XenAPP 6.5 we noticed that was unable to get handy reports about usage what application users were loading. Not a bit fan of edgesight ! :(
After many months we have arrived at this solution, every 15mins a powershell script will query the XenApp farm and write the content up to SQL DB.
Assume you will know how to create table\permissions in the SQL database.
Pretty lean on my SQL leave it up to you to workout.
Created a database 'xenuserinfo' manually and then made sure it was selected when executing the SQL scripts
SQL Script:
/* To prevent any potential data loss issues, you should review this script in detail before running it outside the context of the database designer.*/ BEGIN TRANSACTION SET QUOTED_IDENTIFIER ON SET ARITHABORT ON SET NUMERIC_ROUNDABORT OFF SET CONCAT_NULL_YIELDS_NULL ON SET ANSI_NULLS ON SET ANSI_PADDING ON SET ANSI_WARNINGS ON COMMIT BEGIN TRANSACTION GO CREATE TABLE dbo.XData ( UsageDate datetime NULL, AccountName nvarchar(50) NULL, Application nvarchar(50) NULL, FarmName nvarchar(10) NULL ) ON [PRIMARY] GO ALTER TABLE dbo.XData SET (LOCK_ESCALATION = TABLE) GO CREATE TABLE dbo.XCount ( UsageDate datetime NULL, SessionCount smallint NULL, FarmName nvarchar(10) NULL ) ON [PRIMARY] GO ALTER TABLE dbo.XCount SET (LOCK_ESCALATION = TABLE) GO COMMIT
Then I used the console to add permissions etc.
Now the powershell script that will run every 15mins, notice there are 2 entries to save me time when making graphs. At the 15 minute mark it looks backwards to see if there are any logons, if so then upload to database. Doubt it would get secondary launches (ie loading another app off same server).
Performing the session count as we are working in shared license environment = trust no-one!.
Don't forget to install the SDK
#Add-PSSnapin citrix.xenapp.commands #CPS Version $time2 = Get-Date -Format "MMM dd yyyy HH:mm" $time1 = Get-Date $tminus15 = $time1.addminutes(-15) # Check logons in the last 15 minutes $allSessions = Get-XASession | where-object -filterscript { ($_.state -eq 'Active') -or ($_.state -eq 'Disconnected') -and ($_.LogOnTime -gt $tminus15)} $FarmInfo=Get-xafarm $FarmName=$Farminfo.FarmName ## Hello SQL $dbconn = New-Object System.Data.SqlClient.SqlConnection("Data Source=TheSQLServer; Initial Catalog=XenUserInfo; Integrated Security=SSPI") $dbconn.Open() ## Write User App info to SQL $allSessions | foreach { $ACC=$_.accountname $APP=$_.browsername $LOT=$_.LogonTime.ToString("MMM dd yyyy HH:mm") $CLN=$_.ClientName $dbwrite = $dbconn.CreateCommand() $dbwrite.CommandText = "INSERT INTO dbo.XLCPLData (UsageDate,AccountName,Application,FarmName,LogonTime,ClientName) VALUES ('$time2','$ACC','$APP','$Farmname','$LOT','$CLN')" $dbwrite.ExecuteNonQuery() $ACC=$null $APP=$Null $LOT=$Null $CLN=$null } ## Write Session Count to SQL $dacount=$FarmInfo.SessionCount $dbwrite1 = $dbconn.CreateCommand() $dbwrite1.CommandText = "INSERT INTO dbo.XLCPLCount (UsageDate,SessionCount,FarmName) VALUES ('$time2', '$dacount','$Farmname')" $dbwrite1.ExecuteNonQuery() ## Finished with SQL --- GoodBye $dbconn.Close() $allSession=$null
now off to create pretty graphs in excel
Update -
or.
Muck around with data in powershell ie generate csv etc.
## Hello SQL Grab my data from the last 30days $query = "select * FROM dbo.XLCPLData where LogonTime > GETDATE()-30 and Application != ''" $connection = New-Object System.Data.SqlClient.SqlConnection("Data Source=LCLABXENWIDS; Initial Catalog=XenUserInfo; Integrated Security=SSPI") $adapter = new-object system.data.sqlclient.sqldataadapter ($query, $connection) $table = new-object system.data.datatable $adapter.Fill($table) | out-null $applist=$table | sort-object Application -Unique | select -Property application ## Go generate pretty graphs or whatever. ## Use $table to see the list connections ## Use $applist to see the list of unique apps ## Then you can use a foreach loop to generate content or csv.
Tuesday, April 24, 2012
Powershell - Citrix
load citrix ps adding : Add-PSSnapin Citrix.XenApp.Commands
Get the number of sessions in the farm:
$FarmRaw = Get-XAFarm
$FarmRaw.SessionCount
Get the number of sessions per app:
$Sessions = Get-XASession -BrowserName "Notepad"
$SessTotal = $sessions.count
Thursday, March 15, 2012
Java vs Terminal Server 2003 - CLSID
Users were experiencing a Red Cross for the applet, yet my administrative account was able to load the applet.
Looks like java or the installation process for java is not writing all the registry keys to HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID\{CAFECA-00xx…..
In IE, Java has a catch all applet version – which will always work (aka the latest version)
<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93But most java call specific versions of java (for example).
The server(s) for some reason didn't have all the keys in classes root, where compared to my windows 7 desktop.
I believe the install for some reason is writing the keys to HKCU instead of HKLM \classes...etc.
So fix is to add all the version to HKEY_LOCAL_MACHINE\SOFTWARE\Classes
http://pastebin.com/YhmwPTq7 contains my fix for 1.6u24 version
btw, Monitoring the registry when tick/untick the “use next generation java” in the java control panel, it just write all the entries to HKCU.
Netscaler\AGEE Logon Page multi-tenant
Added another domain\ICA proxy to my AGEE\Netscaler today, as I was rolling out discover that the common logon was going to cause me some grief. As I was sure the other company didn't want the first company's web address on it.
after a quick moment of pondering decided to use javascript to detect the current address and update the page as required.
<TD width="100%" height=1>
<script type="text/javascript">
document.write("<h2> Welcome to " + location.hostname +"</h2>");
</script>
</TD>
I don't like using rewrite function
a) because I just dont get regex
b) because...
after a quick moment of pondering decided to use javascript to detect the current address and update the page as required.
<TD width="100%" height=1>
<script type="text/javascript">
document.write("<h2> Welcome to " + location.hostname +"</h2>");
</script>
</TD>
I don't like using rewrite function
a) because I just dont get regex
b) because...
Labels:
AGEE,
citrix,
javascript,
multi-tenant,
netscaler
Sunday, February 26, 2012
Citrix Receiver Fail (sorry more Fail)
I really should post my rageness @ the citrix receiver...
just going to post a image of the part of the fail from citrix receiver
like really...
just going to post a image of the part of the fail from citrix receiver
like really...
Monday, October 31, 2011
XenApp 4.5 Summary Database Query stuff
Thanks to XENWIZ for the most of the code, SQL Query which I then export to CSV.
Point to Summary Database
Modify date
Grab important stuff like appname, server, clientname, username, start time
SELECT LU_APPNAME.APPNAME,LU_SERVERNAME.SERVERNAME, SDB_SESSION.SESSIONSTART, SDB_SESSION.SESSIONEND, LU_CLIENT.CLIENTNAME, LU_USER.USERNAME
FROM
LU_APPNAME, SDB_SESSION, LU_USER, LU_SERVERNAME, LU_SERVER, LU_CLIENT
WHERE
LU_APPNAME.PK_APPNAMEID = SDB_SESSION.FK_APPNAMEID
AND LU_USER.PK_USERID = SDB_SESSION.FK_USERID
AND SDB_SESSION.FK_SERVERID = LU_SERVER.PK_SERVERID
AND LU_SERVERNAME.PK_SERVERNAMEID = LU_SERVER.FK_SERVERNAMEID
AND SDB_SESSION.FK_CLIENTID = LU_CLIENT.PK_CLIENTID
AND LU_CLIENT.CLIENTNAME != 'Console'
AND SDB_SESSION.SESSIONSTART Between '2011-10-27 14:00:00.000' and '2011-10-28 14:00:00.000'
ORDER BY SDB_SESSION.SESSIONSTART
Point to Summary Database
Modify date
Grab important stuff like appname, server, clientname, username, start time
SELECT LU_APPNAME.APPNAME,LU_SERVERNAME.SERVERNAME, SDB_SESSION.SESSIONSTART, SDB_SESSION.SESSIONEND, LU_CLIENT.CLIENTNAME, LU_USER.USERNAME
FROM
LU_APPNAME, SDB_SESSION, LU_USER, LU_SERVERNAME, LU_SERVER, LU_CLIENT
WHERE
LU_APPNAME.PK_APPNAMEID = SDB_SESSION.FK_APPNAMEID
AND LU_USER.PK_USERID = SDB_SESSION.FK_USERID
AND SDB_SESSION.FK_SERVERID = LU_SERVER.PK_SERVERID
AND LU_SERVERNAME.PK_SERVERNAMEID = LU_SERVER.FK_SERVERNAMEID
AND SDB_SESSION.FK_CLIENTID = LU_CLIENT.PK_CLIENTID
AND LU_CLIENT.CLIENTNAME != 'Console'
AND SDB_SESSION.SESSIONSTART Between '2011-10-27 14:00:00.000' and '2011-10-28 14:00:00.000'
ORDER BY SDB_SESSION.SESSIONSTART
The 'console' connection was causing my stats be a bit loopy.
also get a few blank appnames which I should exclude.
Wednesday, June 29, 2011
Java Red Cross for Users
Users were experiencing a Red Cross for the applet, yet my administrative account was able to load the applet.
Looks like java or the installation process for java is not writing all the registry keys to HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID\{CAFECA-00xx…..
In IE, Java has a catch all applet version – which will always work (aka the latest version)
clsid:8AD9C840-044E-11D1-B3E9-00805F499D93
But most java dude’s call specific versions of java (for example)
clsid:CAFEEFAC-0015-0000-0013-ABCDEFFEDCBA
The server(s) for some reason didn't have all the keys in classes root, where compared to my windows 7 desktop does.
I believe the install for some reason is writing the keys to HKCU instead of HKLM \classes...etc.
So fix is to add all the version to HKEY_LOCAL_MACHINE\SOFTWARE\Classes
http://pastebin.com/YhmwPTq7 contains my fix for 1.6u24 version
btw, Monitoring the registry when tick/untick the “use next generation java” in the java control panel, it just write all the entries to HKCU.
Thursday, June 2, 2011
RDP on Citrix
We have a solution to a couple of issue that has been affecting us when using RDP (MSTSC) via AGEE/Citrx to windows 7 or windows 2008 server.
Issue: Lag Mouse when connecting to Windows 7/2008
Once connected to your RDP desktop:
1. Launch control panel
2. Open ‘Mouse’ control Panel item
3. Select Pointers
4. Change to a theme that doesn’t use AERO
a. For example… (none)
------Regfile----
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Control Panel\Cursors]
"Arrow"=hex(2):00,00
"Help"=hex(2):00,00
"Hand"=hex(2):00,00
"AppStarting"=hex(2):00,00
"Wait"=hex(2):00,00
"NWPen"=hex(2):00,00
"No"=hex(2):00,00
"SizeNS"=hex(2):00,00
"SizeWE"=hex(2):00,00
"SizeNWSE"=hex(2):00,00
"SizeNESW"=hex(2):00,00
"SizeAll"=hex(2):00,00
"UpArrow"=hex(2):00,00
@=""
"Scheme Source"=dword:00000000
"Crosshair"=hex(2):00,00
"IBeam"=hex(2):00,00
[HKEY_USERS\.DEFAULT\Control Panel\Cursors]
"Arrow"=hex(2):00,00
"Help"=hex(2):00,00
"Hand"=hex(2):00,00
"AppStarting"=hex(2):00,00
"Wait"=hex(2):00,00
"NWPen"=hex(2):00,00
"No"=hex(2):00,00
"SizeNS"=hex(2):00,00
"SizeWE"=hex(2):00,00
"SizeNWSE"=hex(2):00,00
"SizeNESW"=hex(2):00,00
"SizeAll"=hex(2):00,00
"UpArrow"=hex(2):00,00
@=""
"Scheme Source"=dword:00000000
"Crosshair"=hex(2):00,00
"IBeam"=hex(2):00,00
Issue: The SHIFT key does not work (sporadic capitals and non-capital letters)– Normally impacts passwords
Change the RDP client settings as follows:
1. Click Options in the Remote Desktop Connection User Interface.
2. Select the Local Resources tab.
3. Under Keyboard > Apply Windows key combinations, select ‘On the local computer’.
After doing this, the SHIFT/ALT/CTRL keys work as expected in the RDP session.
More detail: http://support.citrix.com/article/CTX110281
Thursday, April 21, 2011
HP Thin Client 5740e
I have been testing out the HP Thin Client 5740e with Windows Embedded Standard 7, thankfully the HP Device Manager is much easier to use and I don't need altris !
BTW
BTW
- The default Administrator user name and password is Administrator
- check the HP Easy Tool Administrators Guide
While it's nice and beautiful device, getting to grips with WES7 is a issue. There doesn't seem to be any clear step by step guide for a basic installation that was quick and easy for me. Specially when just putting one device in for a trial !
I can't say I have completely worked out the commit or disk write mode.
Modifications to Base TC Image (of course logged in as administrator)
- Put the backup address in the HP device manager agent (so it will report in) or change your DHCP but to do this for me would required a RFC.
- Change the Size of the RAM disk to 96MB (helps when you need to install applications\hp-upd)
- Remove the vmware view client (would just confuse my users)
- Removed the ICA client and updated with the latest web-version (because)
- Installed ultravnc in server mode with password
(works fine under windows 7, HPDM still attempt to vnc to TC, but vnc is not installed on 5704e!) (also helps with the service desk to locate the device's IP address, as the default permissions for user blocks access to NIC status) - Install HP Universal Print Driver PCL 5 - Traditional Mode
- Added a Firewall exception for ICMPv4, ultravnc, etc
(service desk need to beable to ping device for troubleshoot)(still might actually disable the firewall as it could cause issue when plugged into a unknown network) - Change Local Group policy to allow Windows Explorer to see All the Drives
- Backup to USB !
Saturday, April 16, 2011
awesome Citrix Datastore lockout SQL
Early in the day I must of entered in the wrong password for the SQL the account that is used for the datastore. Which I didn't know at the time, later than night it eventually locked out the account
Notice on the datastore the application eventlogs went nuts, servers being unable to authenticate to the database.
Then jumped on servers after a reboot and the server security log stated the citrix server account was locked out.
Event Type: Failure Audit
Event Source: Security
Event Category: Logon/Logoff
Event ID: 531
Date: 15/04/2011
Time: 10:22:39 PM
User: NT AUTHORITY\SYSTEM
Computer: xxCPS01
Description:
Logon Failure:
Reason: Account currently disabled
User Name:
Domain:
Logon Type: 3
Logon Process: Authz
Authentication Package: Kerberos
Workstation Name: xxCPS01
jumped on the pdc... nope not locked out.
started checking other server computer accounts
then service accounts and found the datastore account was locked out.
just for fun used dsmaint config to confirm all was working okay.
Got lots of red cross on the Admin console... so it was exciting
Tuesday, April 5, 2011
Log Off Terminal Server Session from a Command Prompt on based username
This script base command to clear user off a server based on username, for this to work we need to determine the session id that is required by the logoff command.
How it works :
Use the 'For' loop to search work thru the list of users on the server
Then once it has found the user then execute a logoff command
Notes:
There are 2 cases as the qwinsta doesn't display the formating the same for
disconnected sessions & active sesssions.
How it works :
Use the 'For' loop to search work thru the list of users on the server
Then once it has found the user then execute a logoff command
Notes:
There are 2 cases as the qwinsta doesn't display the formating the same for
disconnected sessions & active sesssions.
REM @echo off
Set servername=citrix123
Set targetname=testuser1
REM For disconnected users
for /F "tokens=1,2,3" %%i in ('qwinsta %targetname% /Server:%servername%') do if %targetname%==%%j logoff %%k /server:%servername%
REM For active users
for /F "tokens=1,2,3" %%i in ('qwinsta %targetname% /Server:%servername%') do if %targetname%==%%i logoff %%j /server:%servername%
Tuesday, March 22, 2011
Terminal Server Bug - windows 2003 - slow disk
Lol. just fun a sorting out a OS bug with Microsoft Support team.
Terminal server 2003 when there are lot of users logging on/off and you have group policy preferences enabled can cause large amount of folders\files to be written to the group policy\ history folder in the all users directory. All this added up to some rather slow disks
Winlogon.exe was polling all these files every 40 seconds or so, this cause the idle disk time to drop to 0% and queue length to shoot up. Once of the test were dir /s every few moment it would pause.
Detected with procmon, set on files only and all other filters removed. Then used the file summary to locate what is causing the large amount of queuing.
Solution: weekly deletes of ...users\all users\application data\microsoft\group policy\history\* sub folders
Subscribe to:
Posts (Atom)