For a long time I have been trying to find or write a vbs script that will return the Virtual IP address of the current users Citrix XenApp session on Windows 2003.
I have managed to finally find a way of doing it, please comment if you have a better way!!!!!!
The big problem with the script is the user running the script needs to be a Citrix administrator.
I will continue to work on this problem and will post new versions.
CODE:
' --------------------------------------------------------
' Get a Citrux Users Virtual IP version 0.2
'
' Author: Phil Eddies
' https://geekshangout.com
'
' Disclainer:
' Use of this script / software is entirely at your own risk no support, warranty
' or guaranty is given.
'
' The author or GeeksHangout.com take not responsibility for any damage or problems
' caused by this script / software.
'
' Copyright 2007 Philip Eddies
'
' Licensed under GPL
' This program is free software: you can redistribute it and/or modify
' it under the terms of the GNU General Public License as published by
' the Free Software Foundation, either version 3 of the License, or
' (at your option) any later version.'
'
' This program is distributed in the hope that it will be useful,
' but WITHOUT ANY WARRANTY; without even the implied warranty of
' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
' GNU General Public License for more details.'
'
' You should have received a copy of the GNU General Public License
' along with this program. If not, see <http://www.gnu.org/licenses/>.
'
' --------------------------------------------------------
on error resume next
Const MetaFrameWinFarmObject = 1
Const MetaFrameWinSrvObject = 6
Const Active=1
Const Connected=2
Dim TheFarm, TheSession, TheSession2
Dim sessionID, strComputerName
SessionID = -1
'-------------------------
' Get the server anme
'-------------------------
Set objWSHNet = CreateObject("WScript.Network")
strServerName = objWSHNet.ComputerName
'-------------------------------------
' Get details of the current session
'-------------------------------------
Set TheFarm = CreateObject("MetaFrameCOM.MetaFrameFarm")
theFarm.Initialize(MetaFrameWinFarmObject)
Set TheSession = theFarm.GetSession(MetaFrameWinSrvObject, strServerName, SessionID)
strSessionID = TheSession.SessionID
strSessionName = TheSession.SessionName
Set TheSession2 = CreateObject("MetaFrameCOM.MetaFrameSession")
TheSession2.Initialize MetaFrameWinSrvObject, strServerName, strSessionName, strSessionID
strClientName = TheSession2.ClientName
strClientAddress = TheSession2.ClientAddress
strSessionName = TheSession2.SessionName
strVIPAddress = TheSession2.VIPAddress
wscript.echo "Your Virtual IP is: " & strVIPAddress
In the end I found a work around for what I was tring to do, but recently I found this post which may be of use to others
http://citrix.sajberhagen.com/2011/01/vb-script-to-get-virtualip/
Yooooooo 😀