// This is the script to give summary on the main page.
Think IPM

Sunday, May 31, 2009

Quick Look : View Client Installation

Here are some quick screenshots detailing this process of installing the View Client for Windows.

Installing View Client

Clients accessing the View Desktops can either access the client via an ActiveX download or a full fledged Client.



On the Client machine, Launch the Client installation Wizard.



Accept the Licensing Agreement

Click Next to continue.


Confirm features and installation location and click next.

Installation Location :
C:\Program Files\VMware\VMware View\Client

USB redirection extends the range of usable devices and the functionality of some devices beyond that provided by RDP. For example, sound can be brought to the local machine using RDP, but disabling this feature and using View USB

redirection allows you to use VoIP devices.



You can optionally add in a default View Connection Server to be used for connections.



Choose the appropriate shortcuts and icons to be created and displayed on the User’s local machine.



Confirm installation details and click install to begin the installation.

Click Here to Continue Reading >>

Saturday, May 30, 2009

Quick Look : View Manager 3.1 Installation

Just some quick screenshots of the installation.  Nothing too exciting. :)

VMware View Connection Server 3.1 

The Connection server will act as the broker between client requests and the desktops being provided to them.

Connection Server 3.1


Click Next to begin installation.

The latest version at the time of installation was VMware View



Agree to license agreement and click next.


Confirm installation location and click next.

Installation Location :

C:\Program Files\VMware\VMware View\Server



Choose Standard install and click next.

A Standard connection broker is used as the primary INTERNAL connection broker for the View Infrastructure.

Replicas are for redundancy.

Security Servers are meant for DMZ access.



Click install to proceed with installation.

View Manager Installation is complete.

Click Here to Continue Reading >>

Friday, May 29, 2009

No Windows 7 support for VMware View yet. :(

Either as a Client or a Source.   I found a workaround for running a Windows 7 Desktop VM here though :

It involves switching the VM type to look like Vista.


Click Here to Continue Reading >>

Thursday, May 28, 2009

VMware View 3.1 Released – New Flash Settings

VMware has released a new version of their VDI product, View 3.1.  The release notes are here.  Numerous improvements but the one that caught my eye was the FLASH specific settings now in the desktop pool properties.  Flash performance has been a sticking point with many of my clients evaluating VMware View vs. XenDesktop and I am glad to see VMware taking steps to address this.  Currently, XenDesktop with HDX has the best graphic performance IMHO between the two.  I’m curious to see how much these new settings truly affect performance.  Let me know if you have any Positive/Negative experiences in the comments.


Click Here to Continue Reading >>

Tuesday, May 26, 2009

Does your Farm support the new Fault Tolerance feature in vSphere?

Today, I am researching ways to figure out if VMware Farms are going to be FT capable.  RUN-VIRTUAL has a great Host-CPU feature utility that you can point against your VC to list out compatibilities.
There is also an official VMware Site Survey Tool that will produce a report detailing any issues that may exist in your farm related to the new Fault Tolerance features.
Of course, for a more static view of the CPU’s supported, there is always the official VMware KB Article :
Click Here to Continue Reading >>

Thursday, May 21, 2009


Aimage  pet peeve of mine is improper use of the CAPS LOCK key in emails.  Marcos Velez has written up a quick Outlook rule that will evaluate an incoming message and test to see if it is written in ALL CAPS.  If so, it will delete it and auto-respond to the user asking them to resend the message in proper Sentencing Case.  It has some checks in there too in order to verify that the message is of a certain length (to avoid OK, STFU, DOH messages).  Typical of Marcos’ code, it is fully commented and a great learning example as well. (Useful for those of us :Me: that hack together other peoples scripts to do my bidding.)  This script definitely highlights the power of Microsoft Outlook Rules.
The Code below will send back the following message :

Your message was automatically deleted.  This action was taken because the message was written using only capital letters.

If it is important that your message reach its intended recipient, please resend it using proper sentence casing.

Be sure to add this in as a Macro into Outlook : ALT-F11 (Tools –> Macros –> VB Editor)
Then set up your rule to RUN A SCRIPT :
 image  image
Here is the code :
Sub DeleteAllCAPS(MyMail As MailItem)
    ' First, we declare our variables.
    Dim strID As String
    Dim msgText As String
    Dim replySeparatorPosition As Integer
    Dim objMail As Outlook.MailItem
    ' The following code is a nifty way to get around the Outlook security prompts
    ' when macros or scripts are trying to interact with mail items
    strID = MyMail.EntryID
    Set objMail = Application.Session.GetItemFromID(strID)
    ' Retrieve the email message itself and store it in a variable
    msgText = objMail.Body
    ' Now, the fun starts...
    ' To ensure that we only evaluate the ORIGINAL message typed by the sender, we look for the
    ' "reply separator".  The problem is that different software packages use different separators.
    ' So, we will look for the two basic ones I see most often.  This will be updated regularly to
    ' include other types that I may come across.
    ' Here we look for the standard Outlook reply separator
    replySeparatorPosition = InStr(msgText, "_____ ")
    ' If we didnt find a reply separator above, we now look for the iPhone reply separator
    If (replySeparatorPosition = 0) Then
        replySeparatorPosition = InStr(1, msgText, "--- On ", vbBinaryCompare)
    End If
    ' If a reply separator was found, we assume that the original message starts at the first
    ' position and ends at the point where the reply separator starts.
    If (replySeparatorPosition > 1) Then
        msgText = Mid(msgText, 1, replySeparatorPosition - 1)
    End If
    ' Now, if the original message meets certain criteria, we reject it...!
    If ((UCase(msgText) = msgText) And (Len(msgText) > 4) And (hasLetters(msgText))) Then
        Dim origSender As String
        Dim replyMessage As String
        Dim objReply As Outlook.MailItem
        Set objReply = objMail.Reply
        replyMessage = "Your message was automatically deleted.  This action was taken because the message was written using only capital letters."
        replyMessage = replyMessage & vbCrLf & "If it is important that your message reach its intended recipient, please resend it using proper sentence casing."
        replyMessage = replyMessage & vbCrLf & vbCrLf & "--- YOUR ORIGINAL MESSAGE IS BELOW THIS LINE ---" & vbCrLf & objMail.Body
        objReply.Body = replyMessage
        objReply.BodyFormat = objMail.BodyFormat
        Set objReply = Nothing
    End If
    Set objMail = Nothing
End Sub
Function hasLetters(sourceString As String)
    Dim objRegEx As Object
    Dim matched As Boolean
    Dim Matches As Object
    matched = False
    Set objRegEx = CreateObject("VBScript.RegExp")
    With objRegEx
        .MultiLine = True
        .Global = True
        .Ignorecase = False
    End With
    objRegEx.Pattern = "[a-zA-Z]"
    Set Matches = objRegEx.Execute(sourceString)
    If (Matches.Count > 0) Then
        matched = True
    End If
    hasLetters = matched
End Function
Click Here to Continue Reading >>

How to manually remove duplicate Citrix servers from the CMC using DSCHECK.

Sometimes continually moving XenApp servers from folder to folder or in and out of a farm, you can end up with the server name becoming duplicated in the CMC.   Here is a method from David Paoleschi using DSCheck to manually clean up your server farm. 

Procedure or Steps

Using DSCHECK Version 5.15 or greater with the /DropMember parameter, you can manually remove the server from the folder that it does not belong to.

/DropMember <ParentGroupDN> <MemberUID> – Drops a member with the given UID (not equivalent to DN) from a parent group with the given DN

How to use:

Be sure to test on a backup datastore first as the procedure cannot be reversed. Customers will need to have a current backup of the datastore before proceeding.

1. You will first need to find the folders that the particular server belongs to.

  1. output the folder groups that the particular server belongs to, issue the following command:  dscheck /full groups
  2. You may want to output the results to a text file so that it may be searched**
  3. Search for the server in question and validate the folder groups in the output are the same folder groups that the server appears under in the CMC. Then note the UID of the server and folder groups. In the example below the server in question is named CITRIX1 and appears in two separate folder groups.
  4. /ZONE1/NE and /ZONE1/SE
  5. Group (UID=78d4-0002-00107bfe) (DN=78d4-0002-00107bfe) (Type=Group) (Name=Servers/ZONE1/NE)...Done.
  6. Member (UID=1cea-000b-00000369) (DN=1cea-000b-00000369) (Type=Server) (Name= CITRIX1)...Done.
  7. Group (UID=78d4-0002-0010801b) (DN=78d4-0002-0010801b) (Type=Group) (Name=Servers/ZONE1/SE)...Done.
  8. (UID=1cea-000b-00000369) (DN=1cea-000b-00000369) (Type=Server) (Name= CITRIX1)...Done.
  9. To remove a server from a particular group, run the following command: dscheck /full groups /dropmember First_Prameter Second_Parameter

The First_Parameter is the UID of the "Group"

The Second_Parameter is the UID of the "Server"

The Server (CITRIX1) was found in the following CMC group folders

In /ZONE1/NE folder (UID=78d4-0002-00107bfe)

In /ZONE1/SE folder (UID=78d4-0002-0010801b)

Server Name=CITRIX1 (UID=1cea-000b-00000369)

To remove from the /ZONE1/NE folder

dscheck /full groups /dropmember 78d4-0002-00107bfe 1cea-000b-00000369

To remove from the /ZONE1/SE folder

dscheck /full groups /dropmember 78d4-0002-0010801b 1cea-000b-00000369

Click Here to Continue Reading >>

Wednesday, May 20, 2009

How to Kill a running process across a WHOLE Citrix Farm

imageDon’t know about you, but if you are like me then you would have come across the situation where you need to whack a process that is running on all servers in your Citrix farm regardless of user session, then you’ll know that there isn’t a quick way to do it from the command line. You could go into the Management Console, but who wants to do that?!

I present FarmKill v1.0.  Create as a .cmd and feel free to modify post any changes in the comments.

Have fun,

Aaron Silber 

ECHO FarmKill v1.0
Echo This command will allow you to kill a process that is running
Echo on all online Citrix Farm servers, from all user sessions.
Echo Please be careful running this as it will not ask for confirmation once it starts!
Echo .
Echo .
IF /i "%1"=="" Goto MissingProc
For /F "skip=3" %%s in ('QFarm /ONLINE') do @Echo Checking Server: %%s & Taskkill /S %%s /F /IM "%1" & Echo.

Echo .
Echo You forgot to specify a process to kill!
Echo Please use the syntax: FarmKill Processname

Click Here to Continue Reading >>

Friday, May 15, 2009

SysPrep Reboot Loop [Fixed]

imageRan into an interesting (read: Annoying) issue at a client the other day.  While deploying a fairly generic XP SP3 template with vCenter’s integrated SysPrep, the resulting machine would spiral into an endless loop of rebooting  never completely finishing the SysPrep process.  Hmm .. First we tried to disable the antivirus based on some suggestions on VMTN forums but that did not solve the issue.  End of the day, it turned out that due to some aggressive tuning of the XP image, the Telephony service was disabled and preventing SysPrep from completing.  Setting this service back to AutoStart and the reboot went away.   Not entirely sure why a disabled Telephony service would prevent SysPrep from finishing but glad the issue was solved.

Click Here to Continue Reading >>

Thursday, May 14, 2009

Citrix Receiver App for iPhone

Here is a quick update from Marcos Velez : For those of you with an iPhone, or iPod Touch, the newest release of Citrix Receiver (released, May 1, 2009) finally delivers on true usability.  Unlike the original version, this version works with published applications that are fronted by a Secure Gateway.  This version also supports AGEE and other CAG appliances that require user logons before reaching an application list. 

Check out the Screenshots of published applications running on Marcos’ iPhone through the Citrix Access Gateway.

image image  


Click Here to Continue Reading >>

Wednesday, May 13, 2009

VMware View IP address display bug in VirtualCenter.

During a recent VMware View implementation, I noticed a small bug in VirtualCenter related to VMware View and linked clones.  In the LIST view below, you will see as IP addresses for all the View linked clones (created with Composer).  If you select an individual VM’s summary page, you will see all the correct information including the assigned IP address.  Just the list view seems to be wrong.  Interesting but obviously nothing to worry about.  Just an esthetic issue within the VirtualCenter Client.


Click Here to Continue Reading >>

Tuesday, May 12, 2009

Citrix Provisioning Server Service Pack 3

imageSome interesting features being released in Citrix’s Provisioning Server Service Pack 3.  David Paoleschi sent over a quick bullet list.

If you haven’t taken the time to check out Provisioning Server, check it out - it’s worth the time. :) 

        Standard Image Mode NIC Teaming

        Ability to use NIC Teaming drivers from Broadcom and Intel to setup NIC "teams" on PVS clients

        VHD Direct Boot

        Ability to boot PVS VHD files directly within Windows Virtual Server and Hyper-V

        User Assigned Virtual Disks

        vDisks are assigned to individual users rather than machines.

        Offline DB Support

        Ability for PVS to continue to be able to boot and run clients even when the DB is unavailable.

        Multiple Partition vDisks

        Ability to create vDisks that include multiple partitions (e.g. both a C: and D: drive)

        Server Initiated Failover

        Ability to initiate failover of all clients attached to a particular PVS server to the other servers in the PVS farm

        Improved Logging

        Improvements to our current lackluster (and in some cases non-existent) logging facilities both on the server and the client


        Ability to keep a log of actions taken by system administrators

        Read-only vDisk LUN

        Modifications that allow the vDisks to be stored in a "read-only" LUN.  This is an incremental step in the direction of eliminating the need for a cluster file system.

        XP Embedded Streaming

        Ability to stream MS Windows XP Embedded.  I.e. the replacement for Ardence Device Edition.

Click Here to Continue Reading >>

Monday, May 11, 2009

New vSphere Licensing

Now that vSphere has been announced and the release date is rapidly approaching, customers have been asking what the new licensing will look like.  For one, they have switched licensing back to SINGLE processor licenses and have scrapped the FlexLM license database and went to easier 25 digit license codes.  The four editions of vSphere 4 will be Standard, Advanced, Enterprise and Enterprise Plus.  The licenses from the slide below are list and will probably be available from your favorite partner at a discount.


Like others have mentioned, the initial release of vSphere will not initially support VMware’s View, SRM, Lab Manager, Stage Manager and Lifecycle Manager products.


Click Here to Continue Reading >>