Blog

Subscribe to the RSS feed

AppSense Environment Manager Policy Configurations Lost

Written on Thursday 18 April 2013 by Geert De Keyser in category AppSense

Have you ever seen AppSense items disappearing while users are logged on? Typically this can be a user that misses mapped drives, shortcuts or GPO settings. This is out-of-the-box behavior of AppSense. To understand why this happens and how you can prevent it from happening, please read this post.

SCCM 2012 and Citrix Provisioning Services

Written on Wednesday 27 March 2013 by Frank Vandebergh in category Citrix

When using SCCM together with an imaging solution such as Citrix provisioning server, care must be taken regarding the SCCM agent unique ID information. This information is normally stored in the C:\windows\SMSCFG.INI file. The problem is that this file will be the same in every pooled instance and therefore causing duplicate resources within SCCM or re-registrations of the SCCM agent. In the past, the problem was solved using a computer startup and shutdown script that copied this ini file to a persistent location and back, and as such preserving the unique ID of each machine.

When ConfigMgr 2012 was released, Microsoft built in some generic WMI namespace in which different vendors could populate certain fields in order to tell the SCCM Agent which location to use for storing it's persistent configuration. When the SCCM agent is starting it detects it is running on a non-persistent machine and used WMI to determine the location of the Citrix Identity Store (in order for this to work, PVS write cache should be set to Device Hard Disk).

When SCCM determines the location of the persistent drive (ex. D:\ ) it restores its unique information from this location.

There is no documentation from Citrix regarding this configuration other than that it should just work. However we have found that some additional steps are needed in order to make this work:

  1. When finishing the "master" image, prior to shutdown. Stop the CCMEXEC service. (or SMS Agent Host)
  2. Delete the C:\Windows\SMSCFG.INI file
  3. Delete the current certificates in the "SMS" certificate store.
  4. Close the master image

    When the image is next booted using PVS standard mode, the SCCM agent will create a new SMSCFG.INI file based on the contents of the Citrix Identity Store and will create new certificates to be used for communication with the configmgr management points. The agent will now use the existing resource records within ConfigMgr instead of creating a new resource.

AppSense Personalization Archiving

Written on Tuesday 26 March 2013 by Geert De Keyser in category AppSense

One of our clients had errors with the automatic archiving job. To solve this I had to dive into all the settings, but could not find documentation of it in one place. So I wrote an article to share with you.

Archiving enables application and desktop settings to be rolled back to previous states in event of profile inconsistencies. The great thing about the AppSense way of working is that, in contrast to the standard Windows profile, EM Personalization is split into small pieces, allowing you to restore only the erroneous settings.

Manipulate the AppSense virtual bubble

Written on Tuesday 5 March 2013 by Geert De Keyser in category AppSense

AppSenseSPECIAL is a command-line tool to work in the bubble of the application.  With this “switch” you can trick AppSense into thinking that you are starting an application, while in real you are not, you are accessing the bubble and can manipulate it.

We created an import/export process to migrate data from the virtual AppSense registry to the physical registry of the computer. But the same process can be used to import/export files between the physical filesystem and the virtual AppSense filesystem.

Virtualizing SQL Server 2012 with Hyper-V

Written on Sunday 24 June 2012 by Bob Deleeck in category Default

This report presents the results of ESG Lab testing of the performance and scalability of Microsoft’s Windows Server 2008 R2 SP1 with Hyper-V server virtualization technology. Testing with a tier-1 virtualized Microsoft SQL Server 2012 application workload was used to confirm that Hyper-V can be used to lower total cost of ownership, increase scalability, and maintain performance.

Citrix Updates Citrix Receiver to Support CloudGateway and Substantially Improve End User Performance

Written on Wednesday 22 February 2012 by Bob Deleeck in category Default

Citrix will be releasing updates to Receiver to broaden and enrich the end user experience on a variety of endpoints. Updates will include Receiver mobile clients for Android and iOS as well as Receiver for Windows (3.1).

STOP error 0x0000DEAD on XenServer 6

Written on Sunday 19 February 2012 by Erik Janssens in category Default

Since we upgraded our LAB environment from XenServer 5.6 to XenServer 6, all our Windows Server 2008 R2 virtual machines are regulary crashing, and showing BSOD's with stop error 0x0000DEAD. Also, the event viewers on all servers were showing events similar to the one below:

When going through the memory dumps I noticed the issue was related to the network Citrix PV Ethernet driver, more specifically xenvif.sys, installed by XenServer Tools from XenServer 6. When an interface using this driver receives a rogue TCP packet, where the TCP header contains options but the IP packet length is too short to accommodate them, the system crashes. The fact that these packages exist suggest something else on the network is misbehaving.

Citrix recognizes this problem, but it will only be fixed in the next version of XenServer, 6.0.2, which will be released somewhere in March. Luckily there are two workarounds for this problem:

  • Install XenServer Tools from XenServer 5.6
  • Disable 'Large Receive Offload' on the driver properties for all interfaces using the Citrix PV Ethernet driver

Update: This powershell script disables Large Receive Offload for all interfaces using the Citrix PV Ethernet driver:

$root = 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}'
$items = Get-ChildItem -Path Registry::$Root -Name

Foreach ($item in $items) {
    if ($item -ne "Properties") {
        $path = $root + "\" + $item
        $DriverDesc = Get-ItemProperty -Path Registry::$path | Select-Object -expandproperty DriverDesc
        if ($DriverDesc -eq "Citrix PV Ethernet Adapter") {
            Set-ItemProperty -path Registry::$path -Name LROIPv4 -Value 0
        }
     }
}

Best Practices for Virtualizing Exchange Server 2010 with Windows Server 2008 R2 Hyper V

Written on Friday 17 February 2012 by Bob Deleeck in category Default

The purpose of this paper is to provide guidance and best practices for deploying Microsoft® Exchange Server 2010 in a virtualized environment with Windows Server® 2008 R2 Hyper V™ technology. This paper has been carefully composed to be relevant to organizations of any size.

XenServer 6 Auto-Start VMs

Written on Saturday 7 January 2012 by Frank Vandebergh in category Citrix

In XenServer 6, Citrix made the decision to not include the option anymore to auto-start VM's when the XenServer host boots up. The reason is that this feature interfered with the HA and Failover capabilities, but nonetheless it was a nice feature for situations where only one XenServer host is used.

In XenServer 6 it is possible to auto-start VM's but it requires enabling the auto-start feature at the pool level and on each individual VM by using the CLI which is not very user friendly. Therefore, we have created a script that runs during startup of the host and will start any VM that has been tagged with the "autostart" tag. This allows for easy administration using XenCenter.

In order to install the script,  copy the contents below to the end of the /etc/rc.d/rc.local file on the XenServer host, using for example WinSCP.  Afterwards just tag the VM's you would want to auto-start using the tag "autostart". The VM's will be started with a 20 second delay between each VM.

 

# AutoStart VM's that are tagged with autostart tag
# Script created by Raido Consultants - http://www.raido.be
TAG="autostart"
# helper function
function xe_param()
{
PARAM=$1
while read DATA; do
LINE=$(echo $DATA | egrep "$PARAM")
if [ $? -eq 0 ]; then
echo "$LINE" | awk 'BEGIN{FS=": "}{print $2}'
fi
done
}
# Get all VMs
sleep 20
VMS=$(xe vm-list is-control-domain=false | xe_param uuid)
for VM in $VMS; do
echo "Raido AutoStart Script : Checking VM $VM"
VM_TAGS="$(xe vm-param-get uuid=$VM param-name=tags)"
if [[ $VM_TAGS == *$TAG* ]]
then
echo "starting VM $VM"
sleep 20
xe vm-start uuid=$VM
fi
done



Update: This script will do the same with vApps. If "autostart" is in the description of a vApp it will start the vApp during boot. Within a vApp you can specify multiple VM's and their boot order.
# AutoStart Vapp's that have autostart in description
# Script created by Raido Consultants - http://www.raido.be 
TAG="autostart"
# helper function
function xe_param()
{
PARAM=$1
while read DATA; do
LINE=$(echo $DATA | egrep "$PARAM")
if [ $? -eq 0 ]; then
echo "$LINE" | awk 'BEGIN{FS=": "}{print $2}'
fi
done
}
# Get all Applicances
sleep 20
VAPPS=$(xe appliance-list | xe_param uuid)
for VAPP in $VAPPS; do
echo "Raido AutoStart : Checking vApp $VAPP"
VAPP_TAGS="$(xe appliance-param-get uuid=$VAPP param-name=name-description)"
if [[ $VAPP_TAGS == *$TAG* ]]
then
echo "starting vApp $VAPP"
xe appliance-start uuid=$VAPP
sleep 20
fi
done

 

 

Resizing a system or data disk in a virtual machine

Written on Monday 31 October 2011 by Gert Van Gorp in category VMware

I get a lot of questions of students and customers about resizing a virtual disk. This is the reason for this blog. The following procedure will guide you step by step through the process of resizing (increasing) a disk of a virtual machine. Before you make virtual hardware changes be sure you have taken a full backup of the virtual machine.  

NOTE: If you do not want any troubles only increase the disk size. Decreasing can cause loss of data.  

Flow

 

Increase Disk using diskpart

Step 1: Edit the virtual machine settings and increase the size of the disk (VMDK).

 

 Step 2: Open the console of this virtual machine and start a command prompt.

Step 3: Start diskpart and execute following steps.

list volume à this gives you a list of the available partitions

select volume x à select the partition number you want to increase

extend à this will add the empty disk space into the partition. Now the partition has increased in size.

NOTE: On Windows 2008 this can be done via the Device Manager / Storage, but I have seen some weird things like showing incorrect partition sizes.  

Increase Disk using Third Party tool

Since I have some great experiences with the Acronis Disk Director tool I will explain the steps to increase a disk using this tool. Another tool that can be used is e.g. GParted.

Step 1: Be sure you have a boot image (ISO) of the Acronis Disk Director Tool that supports your guest OS.

 

Step 2: Boot your virtual machine using the boot image ISO. Use the ESC button during booting your virtual machine to activate the "one time boo menu"

 

Step 3: Select the partition you want to increase and right mouse click on it. Then select "Resize Volume"

 

Step 4: Increase the disk space of the selected partitions by decreasing the unallocated space to 0

Step 5: After increasing the partition you have to commit the changes.

Step 6: Now you need to reboot your virtual machine after disconnecting the boot image.