Thursday, 29 September 2016

Citrix Studio – Receive ‘Error Expanding Nodes’ Error While Adding VMs from PVS

While adding VMs created by Citrix Provisioning Services, you may receive this error :

Error : ‘Error expanding node’.

This issue occurred as the machine catalogue was initially created in PVS version 6.x. and current PVS version is higher than that. This is a well-known issue and a Citrix article is available here.

Get It Resolved :

  1. RDP to Citrix Studio server, launch PowerShell console. Add Citrix snap-in by inserting below command :
    Command : asnp Citrix*

  2.  List all Machine Catalog configured in the environment by inserting below command
    Command : get-BrokerMachine

  3.  All Machine Catalog information listed


Thursday, 22 September 2016

Citrix Provisioning Services (PVS) - Target Device with Wrench Icon

I was working with my colleague when he pointed out to me an intersting icon in PVS console - a desktop with a grey wrench on it. When I tried to change the target device from Production to Maintenance / Test, I could not because it grayed out.

Upon checking for a few minutes, it turned out that the specific target device was set as template device for the said collection.

How to check on that?

  1. At PVS console, on the left side, click at Collection. We will see our device collections on the right side. Note that the machine with wrench icon listed as template device for the said device collection. 


Thursday, 15 September 2016

Group Policy Preference ( GPP ) : GPP Is Not Working, There Are Red and Green Dots / circle At The Settings

Group Policy Processing has been introduced since Server 2008, and Microsoft recommends to use GPP instead of normal GPO. To me, I prefer to use GPP as well, as it is more convenience to configure and troubleshoot. 

However, in some cases, the configuration may not get reflected, no matter how many times you perform gpupdate (gpupdate /force as well), or even reboot the machines. Your settings are all good, linked enabled to appropriate OU, Block Inheritance already enabled (to ensure policies assigned to parent OU not conflicting with your policies, just in case), there were no similar setting in Site and Domain policies, policies already being enforced (oh wait, do you really need to enforce?). 

What else could it be then? Oh wait, just before you planned to kill someone, you realized there were red dots / circles at the configurations, and those configurations (with red dots / circles ) were the one who drove you crazy! Configurations with green straight lines / circles were working as expected! 

So yes, it is how GPP works, actually. To simplify things, Microsoft (by default) disabled some configurations, so Administrators won't accidentally make changes. They need to enable those changes first, before the changes working as expected. In order to enable / disable those changes, one need to press :

  • F5 - Enable all configurations
  • F6 - Enable that specific configuration 
  • F7 - Disable that specific configuration 
  • F8 - Disable all configurations

To demonstrate some examples :

This is default configurations, some are enabled, some are not.

You pressed F5 (all enabled with green straight lines)

You pressed F8 (all enabled with red dots)

You clicked at some setting, and pressed F6 or F7 (pressing F6 will enable it, F7 will disable it)

Now we go to Advanced setting, to see on green / red circles.

We pressed F8.

We pressed F6 on some settings.


Thursday, 8 September 2016

Failed to poll Now : Not enough server storage is available to process this command

A few weeks ago I went to AppSense training. It was very good, very informative and very intense - 5 days were not enough to be honest as it covers all 4 components of DesktopNow (AppSense Management Console, Performance Manager, Environment Manager, and Application Manager).

So back to the topic - I received this error while trying to pool the policy :
Failed to poll Now : Not enough server storage is available to process this command.

A bit digging, I managed to find why it happened, and how to resolve it. According to Microsoft :
"This issue may occur if the IRPStackSize registry entry on the server is set too low."

Now, what is IRPStackSize

According to Microsoft
The IRPStackSize parameter specifies the number of stack locations in I/O request packets (IRPs) that are used by Windows 2000 Server, by Windows Server 2003, and by Windows XP. You may have to increase this number for certain transports, for media access control (MAC) drivers, or for file system drivers. Each stack uses 36 bytes of memory for each receive buffer. 

or this explanation from Mark Perry might help: 
The IRPStackSize is a parameter that specifies the number of stack locations in I/O request packets (IRPs) that are used by the operating system. Each stack uses 36 bytes of memory for each receive buffer and you can increase the IRPStackSize, through the Windows registry for some transports, media access control (MAC) drivers, or for file system drivers. The default value of the IRPStackSize parameter is 15. On my Windows 7 PC, for whatever reason, it was set to 10. I creaded it to 20 and have not had an issue anymore.

Okay,  that's it - I don't really understand the cause ( T___T~) But to make it simple, it is because of the value specified in IRPStackSize parameter, which is too low. Perhaps if the value is too low, it caused the stack size to be limited, and file system cannot handle the request. My wild guess, do not quote me on that!

Issues :

Receive error when to perform Poll Now in ApPSense AMC.

Failed to poll Now : Not enough server storage is available to process this command.

Troubleshooting :

  1. RDP to the machine which having problem, launch REGEDIT

  2. Navigate to below path :
    Path :

  3. A DWORD registry parameter with the name of 'IRPStackSize' is not available. Or if it is available, the value set is too small.

Resolution :

  1. Right click | New | choose DWORD value

  2. Rename it to below name. make sure to follow exactly the same, as it is case-sensitive.
    Name : IRPStackSize

  3. Once done, right click at it, and click at Modify

  4. Ensure the base changed to Decimal first before entering the value. The value should be 20 (or 14 in Hexadecimal).

  5. This is the output. Restart the machine

  6. Try to perform 'Poll Now' again once the machine came up from reboot. It should be working by now.

Thursday, 1 September 2016

How To Do : Microsoft Office Excel - Compare 2 Sets of Data

A bit different thing today, a simple task but greatly helps me in getting my jobs done fast. I am in the middle of housekeeping our Citrix licenses as it needs to be renewed. Due to the fact that we are using User/Device model, some users who are already left the Company might have their ID still utilizing the licenses. By freeing up the licenses, it will help the Company to reduce Operational costs and assign the licenses to the other users. Well, it is almost year end, and everybody is coming up with their plan for performance review, why shouldn't I? ^__^!

Description :
To compare 2 sets of data (Data 01 : all users who are utilizing the licenses, Data 02 : all disabled users id AD). I there are match, it means the users can be removed and the licenses can be released.

How To Do :

  1. Launch MS Excel, put the first group of data in Column A

  2. Put the second group of data in Column C

  3. Put the following formula in Cell B1:
    Syntax :

  4. Change the formula a bit so data in Column A could be compared against all data in Column B. In my case as I have 10 data, I changed from $C$5 to $C$10.

  5. Next, copy the formula in B1 to B10 (in may case, yours might be more / lesser than that).