Thursday, November 03, 2011

VMware: Windows 2008 R2 SP1 memory issues on VMware ESX 3.5

Definitely there is an issue running Windows 2008 R2 Service Pack 1 (SP1) VM on ESX 3.5.

We have several VMs running SQL Server, IIS, SharePoint and Project Servers. After lot of timeout issues, I decided to spend a couple of hours to research where the issue is.

I saw the VM is using almost all memory and only 25MB of free memory is available.

I started disabling all services (IIS, SharePoint, SQL, Antivirus) and rebooted server. Server still using around 3.8 GB of RAM of 4GB.

Rebooted on safe mode, using 380 MB! Rebooted on safe mode with networking around 460 MB!

Then I compared with others servers (1 VM and 1 physical server). Same issue on the VM, but physical server was using around 800MB of RAM.

I decided to uninstall VM Tools and viola! Issue resolved.

Monday, October 17, 2011

How to enable x64 platform optimization on Visual Studio C# 2010 Express

How to enable x64 platform optimization on Visual Studio C# 2010 Express

Today I’m working in access in to HP Blades chassis info from using PowerShell (HewlettPackard.Servers.BladeSystem.HPBladeSystemEnclosureCmdLets) from C#. Sounds complicated and it is. Anyway, I used C#.NET or VB.NET to run PowerShell for VMware, Exchange and Citrix until I got HP and they ruin it.

I read the brilliant HP BladeSystem PowerShell cmdlets post and tried on PowerShell and it failed until I decided to run PowerShell on Run As Administrator (not required for any of previous mentioned snap-ins) and works.

I tried to run the code from Visual Web Developer and after couple of hours decided to move the code to Visual C# console application. Tried and failed again. Nice. I started to thinking a lot in HP. Run as administrator mode and failed too.

Then I started my search and found some people complain about specific snap-ins need to run in 64bits mode.

So now is the part I think a lot on the MS how created the Visual C# Express Edition 2010. I tried to change the platform and I can’t found how to make it and take lot of time to figure out. So below is the solution:

  • On the Tools menu, select Settings and then Expert Settings.

  • On the Tools menu, select Options.

  • Enable the Show all settings checkbox below.

  • Select the Projects and Solutions option (left side) and enable the Show advanced build configurations checkbox.

  • On the Build menu, select Configuration Manager (if you don’t have the Build option, right-click in the toolbar and choose Customize and then the Build option).

  • On the Configuration Manager, choose New from the Active solution platform drop-down. On the new platform select x64 and choose to copy settings from x86.

  • To verify the setting select project properties (Project menu, project name properties), and the on Build tab, verify or set the platform to x64

Monday, August 01, 2011

500 Posts and Giveaway!

This is the historic post #500 and I'm going to celebrate it with a giveaway of 2 copies of my book "Getting Started with Citrix XenApp 6" in eBook format in the 4 next weeks!

Instructions at

MS: The WMI Performance Adapter service fill up the System event


You found the System Event Viewer full of events related with the WMI Performance Adapter service. The service start and stop every 5 minutes.

Events are:

Log Name: System

Source: Service Control Manager
Event ID: 7036
Task Category: None
Level: Information
Keywords: Classic
User: N/A
Description: The WMI Performance Adapter service entered the stopped state.


Log Name: System
Source: Service Control Manager
Event ID: 7036
Task Category: None
Level: Information
Keywords: Classic
User: N/A
Description: The WMI Performance Adapter service entered the running state.


Set the WMI Performance Adapter service Startup Mode to Automatic

Sunday, July 03, 2011

MS: IIS error Unrecognized attribute 'targetFramework'. Note that attribute names are case-sensitive

After install .NET Framework 4.0 on IIS 7 and deploying a .NET 4.0 (Visual Studio 2010) web site, you receive the following error: "Unrecognized attribute 'targetFramework'. Note that attribute names are case-sensitive"


Select the site and on the Actions pane select Basic Settings. Use the Select button on the Application Pool to change the DefaultAppPool to ASP.NET v4.0

Restart the IIS site.

Monday, June 27, 2011

MS: SharePoint 2010 Configuration Failed - Failed to Create the Configuration Database

When you try to configure SharePoint 2010 to connect to a SQL Server using a non standard port, you will receive an error: Failed to create the configuration database.

An exception of type System.ArgumentException was thrown. Additional exception information: [Server Name or IP Address],[Port] is an invalid or loopback access. Specify a valid server address.


  • Open odbcad32 tool.

  • Select the System DSN tab.

  • Add a new System Data Source: SQL Server.

  • Type the SQL server name on both Name and Server fields on the fist page.

  • On the second page, click on the Client Configuration button, unchecks the Dynamically Determine Port checkbox and enter the port number.

Tuesday, June 14, 2011

My book Getting Started with Citrix XenApp 6 is available!!

My new book "Getting Started with Citrix XenApp 6" by Packt Publishing is now available. You can order it at

XenApp 6 is the leader in application hosting and virtualization delivery, allowing users from different platforms such Windows, Mac, Linux, and mobile devices to connect to their business applications. It reduces resources and costs for application distribution and management. Using Citrix XenApp 6, you can deploy secure applications quickly to thousands of users.

Getting Started with Citrix XenApp 6 provides comprehensive details on how to design, implement, and maintain Citrix farms based on XenApp 6. Additionally, you will learn to use management tools and scripts for daily tasks such as managing servers, published resources, printers, and connections.

Getting Started with Citrix XenApp 6 starts by introducing the basics of XenApp such as installing servers and configuring components, and then teaches you how to publish applications and resources on the client device before moving on to configuring content redirection.

Author Guillermo Musumeci includes a use case throughout the book to explain advanced topics like creating management scripts and deploying and optimizing XenApp for Citrix XenServer, VMware ESX, and Microsoft Hyper-V virtual machines. It will guide you through an unattended installation of XenApp and components on physical servers. By the end of this book you will have enough knowledge to successfully design and manage your own XenApp 6 Farms.

A complete guide to managing a virtualized application environment using XenApp

What you will learn from this book :

  • New features and system requirements of XenApp 6

  • The XenApp Architecture and designing XenApp 6 Farms

  • Install XenApp 6 and configure XenApp 6 components

  • Manage XenApp components and Citrix Administrators using the new Citrix Delivery Services Console and other Management tools

  • Publish and manage applications and resources, including application streaming

  • Create and apply Citrix Policies to control connections, security, and bandwidth settings using the Group Policy Management Console, Citrix Delivery Services Console, and Local Group Policy Editor.

  • Optimize multimedia content on XenApp using Citrix HDX technologies

  • Manage session environments and connections

  • Create PowerShell Scripts to manage the farm and call scripts from VB.NET and C#.NET

  • Deploy XenApp 6 on Citrix XenServer, Microsoft Hyper-V, and VMware ESX virtual machines
    Unattended installation of XenApp 6 on physical servers.


This book has a tutorial style with step-by-step instructions and adequate screenshots for carrying out each task.

Friday, April 15, 2011

Love this

Beautiful! Nothink like found a hard drive containing a folder called absolute critical with no free space!

Tuesday, March 15, 2011

Working on a big company with thousands of Citrix servers around the world running multiples version of XenApp and Presentation server is the perfect scenario to found removing MFCOM can be one of the big mistakes of Citrix on years.

In very distributed and secure environments with multiples domains PowerShell is just not working to manage remote servers as well MFCOM can do it.

I hope Citrix will release a Future Pack to provide full access to MFCOM soon, or adoption level of XA6 will keep low…. And companies will keep running old versions or migrate to XA5!!!

Nobody will rewrite hundred of scripts and tools to Powershell, because NOBODY are using PowerShell, maybe in a few years...

Tuesday, February 01, 2011

MS: Events 1085 and 8194 on Windows 2008 - Group Policy Issues

A full hard disk caused the following errors to appears on event viewer in a Windows Server 2008 running Terminal Server and Citrix XenApp. The lack of space caused a GPO corruption on the server.

Log Name: System
Source: Microsoft-Windows-GroupPolicy
Event ID: 1085
Level: Warning
Description:Windows failed to apply the Group Policy "MyPolicy" settings. Group Policy "MyPolicy" settings might have its own log file. Please click on the "More information" link.

Log Name: Application

Source: Group Policy Start Menu Settings
Event ID: 8194
Level: Error
Description: The client-side extension could not remove user policy settings for 'MyPolicy' because it failed with error code '0x8007000d The data is invalid.' See trace file for more details.

SOLUTION: Delete the content of folder C:\ProgramData\Microsoft\Group Policy\History, run GPUPDATE /FORCE and reboot server.

Friday, January 28, 2011

MS: Terminal Server issue - Error 4105


Log Name: System
Source: Microsoft-Windows-TerminalServices-Licensing
Event ID: 4105
Level: Warning

The Remote Desktop license server cannot update the license attributes for user "user" in the Active Directory Domain "". Ensure that the computer account for the license server is a member of Terminal Server License Servers group in Active Directory domain "".If the license server is installed on a domain controller, the Network Service account also needs to be a member of the Terminal Server License Servers group.If the license server is installed on a domain controller, after you have added the appropriate accounts to the Terminal Server License Servers group, you must restart the Remote Desktop Licensing service to track or report the usage of RDS Per User CALs.Win32 error code: 0x80070005

This issue is caused by missing Terminal server attributes on Windows 2008 R2 Active Directory Domains. This issue can cause issues on Citrix logins.


Run the following powershell script. The script MUST run on PowerShell 2.0 and with administrator permissions (right click on the powershell icon and select Run as Administrator. Modify the domain name in the script.

$URL = ldap://DC=mydomain,DC=com/;

$root = New-Object DirectoryServices.DirectoryEntry
$URL$ds = New-Object DirectoryServices.DirectorySearcher
$ds.SearchRoot = $root
$ds.filter = "objectCategory=Person"
$src = $ds.findall()
write-host "Found" $src.count "user objects.`n"
$src %{
$de = $_.getdirectoryentry()
$accessrules = $de.get_objectsecurity().getaccessrules($true, $false,[System.Security.Principal.SecurityIdentifier]) ?{$_.ObjectType -eq "5805bc62-bdc9-4428-a5e2-856a0f4c185e"}
if ((measure-object -inputobject $accessrules).count -eq 0)
$ar = new-object System.DirectoryServices.ActiveDirectoryAccessRule([System.Security.Principal.SecurityIdentifier]"S-1-5-32-561", 48, "Allow", [guid]"5805bc62-bdc9-4428-a5e2-856a0f4c185e")
write-host -f yellow ("Added:`t" + $["sAMAccountName"])
start-sleep -m 200
write-host -f green ("OK:`t" + $["sAMAccountName"])

Friday, January 21, 2011

CTX: Windows 7 and Office 2010 running XenDesktop 5 @iPad

I'm working on a XenDesktop 5 PoC (Proof of concept).

This is a iPad running Windows 7 and Office 2o1o! How amazing is this!

Right-Click and Audio are two issues I found on the pilot.

CTX: Exchange is unavailable error on Citrix or Terminal Server

When a user opens Outlook on Citrix XenApp (or Terminal Server) running on Windows 2008, he received an error: “Exchange is unavailable”.

They are several reasons for this issue:

1) Network issues:

Check network connection. Check if network gateway is ok. Reset the network connection.

2) Cached Profiles:
  • Check the date of cached profile folder for the user on the C:\Users folder. If the date is from previous days, ask user to log off and delete the cached profile. Also delete any temp folder, they are corrupted profiles.
  • Check Profile List and delete key with .bak at the end in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList. Compare users in task manager and delete profiles from not connected users too.

Note: you can enable a GPO to delete profiles when users log off from a session.

Open Group Policies Management console. Expand Computer Configuration, expand Administrative Templates, expand System, and then expand User Profiles.
Double-click Delete cached copies of roaming profiles, click Enabled

This GPO not always is working properly. A process lock the profile and some pieces of the profile still on folder. You can enable a GPO to delete profiles older than XX days when server is rebooted, to delete these profiles.

Open Group Policies Management console. Expand Computer Configuration, expand Administrative Templates, expand System, and then expand User Profiles. Double-click Delete user profiles older than a specified number of days on system restart and type amount of days.