Disable Internet Explorer Enhanced Security in Citrix Windows8and2012VDIBaseline.vbs script is missing the curly bracket }

Missing curly bracket } in the following section:

‘ Disable Internet Explorer Enhanced Security Enhanced
oShell.RegWrite “HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\{A509B1A7-37EF-4b3f-8CFC-4F3A74704073\IsInstalled”, 0, “REG_DWORD”
oShell.RegWrite “HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\{A509B1A8-37EF-4b3f-8CFC-4F3A74704073\IsInstalled”, 0, “REG_DWORD”

I found this typo because i was working on an issue with Vimeo video playback that gives a black screen. IsInstalled needs to be 0 or else Vimeo won’t play videos.

After setting the registry key run the following commands in CMD.

Rundll32 iesetup.dll, IEHardenLMSettings

Rundll32 iesetup.dll, IEHardenUser

Rundll32 iesetup.dll, IEHardenAdmin

IE ESC is now disabled applied for admins and users.


Story of PVS write cache and performance

Diskperformance PVS Write cache with different scenarios and write cache locations.

I visited the event Dutch Citrix User Group @ Dell Nederland Amsterdam 6-3-2015. It was my first DuCUG event(visitor). Thumbs up for the organization, the positive atmosphere and the superb guest speakers. Jim Moyle was one of the guest speakers at DuCuG. He was talking about diskperformance and PVS and inspired me to test PVS writecache diskperformance.

When you read this article I hope you get a better understanding about write cache locations, the different choices and what it does with diskperformance.

I used Jim Moyle’s article to test the diskperformance of a PVS XA image : https://community.atlantiscomputing.com/blog/Atlantis/August-2013/How-to-use-Iometer-to-Simulate-a-Desktop-Workload.aspx. The test are with IOmeter

I created a template with tool IOmeter. It represents a VDI workload(4k blocks, 20% seq 80% random, 80% write 20% read). The template is found here(attachment1). If you want to test yourself copy the text, put it in notepad and name it <name>.icf. Or do it yourself and learn IOmeter 🙂


The test environment

Hardware: HP DL360P G8

2 X Xeon E-52690v2, 192GB RAM, 2 x 200GB 6G SATA ME SDD, 2 x 10GB nic


Hypervisor: ESXi/VMware vSphere 5.5. VM: Server 2012 R2, PVS server 7.6, 2 vCPU and 32GB memory.

Target device(Testmachine for IOmeter)

Hypervisor: XenServer 6.2, 6 XA VMs per hypervisor. VM: Golden image with all software installed for a production environment at my current customer.6 vcpu, 30GB memory. 30GB D drive(SSD).SBC, Server 2012 R2, PVS target device 7.6, XA 7.6, RES WM.

The environment is as good as Idle(no load). It’s not in production yet.


 The test results

In the graphs i look at the Total IO per Second and the disk latencies. This two together are a good measurement for disk performance.

Test: 1GB workload against VM with write cache location: ram(4 GB of RAM) with overflow to disk. The 1GB workload will fit in the 4GB RAM. Result is impressive IOPS and a very low latency! How lower latencies are the better it is.



Test: 10GB workload against VM with write cache location: ram(4 GB of RAM) with overflow to disk. The 10GB workload wont fit in the 4GB RAM. So approximately 3.6 GB is in RAM and the other 6,4GB are on disk. Disk performance of the write cache halve if you compare it with 1GB workload. Still pretty impressive.



Test: 10GB workload direct to SSD disk. This is to test disk performance without the penalty of PVS. < 1 ms latency and 28412 IOPS are good.



Test: 10GB workload against VM with write cache location: cache on device harddrive. IOPS and disk latencies are good, but compared against 10GB workload direct to ssd disk there is a 50% performance penalty.

result40 result41

Test: 10GB workload against VM with write cache location: ram(64MB of RAM) with overflow to disk. The 10GB workload wont fit in the 64MB of ram. Ram in this scenario is only used as buffer to disk. Poor performance, only 4923 IOPS and latencies > 3 ms! Disk performance is horrible compared against the write cache in RAM or local device harddrive. Imagine that you have to share the 4923 iops with 6 other XenApp servers on one XenServer host.

result51 result50



You shouldn’t use memory as a buffer(64MB) for the SSD disk with the write cache option RAM with overflow to disk. With write cache option cache on device harddrive you get 293% better IOPS and Latency. If you could keep all the write cache in memory, and you only use the disk for overflow(as a last resort instead of BSoD with pure write cache to memory) the total IOPS is 1293% better and latency is 1250% better!!!

My write cache location choices:

  1. Ram with overflow to disk(No or less overflow).
  2. Cache and device harddrive.

So invest in memory for impressive IOPS or use cache to harddrive with a local SSD! Your end users are happy and get < 30 seconds logon times and superb application response(you will only get this result if there are no other bottlenecks and is optimized by a Citrix consultant 😉 ). So no more visits to the coffee corner…

Still invest in SSDs and not in spinning drives so everything runs smooth. The pagefile, logs, AV Pattern, crash dumps and other persistant stuff needs IOPS and low latency too 🙂 .

Many thanks to Elger van der Avoird for reviewing this article




Powershell Examples calling wmi SCCM client

#Get-WmiObject -Namespace root\ccm\clientsdk -Class * -List
#Get-WmiObject -Namespace root\ccm -Class * -List
#Get-WmiObject -Namespace root\ccm -Class SMS_Client
#Get-WmiObject -Namespace root\ccm\clientsdk -Class CCM_Program -List | select -ExpandProperty Properties
#Get-WmiObject -Namespace root\ccm\clientsdk -Class CCM_ClientUtilities -List | select -ExpandProperty Methods

#Get-WmiObject -Namespace root\ccm\clientsdk -Class CCM_InstalledDeploymentType -List | select -ExpandProperty Properties
#Invoke-WmiMethod -Namespace root\ccm\clientsdk -Class CCM_InstalledDeploymentType -Name Id
$versionSCCMclient = Get-WmiObject -Namespace root\ccm -Class SMS_Client | Select -ExpandProperty ClientVersion

IF ($versionSCCMclient -ne “5.00.7958.1401”) {

Write-Host “Old Version start upgrade”
CMD.exe /C msiexec.exe /p configmgr2012ac-r2-kb2994331-i386.msp /L*v %TEMP%\configmgr2012ac-r2-kb2994331-i386.msp.LOG /q REINSTALL=ALL REINSTALLMODE=mous



Drivers PVS target device software not copied during unattended install with SCCM

Check this link


Somehow the drivers files are not transferred to the “%windir%\System32\Driver” folder during unattended (SCCM/Wisdom) installation.  Copy CFsDep2*.* files from “C:\Program Files\Citrix\Provisioning Services\drivers”  to “%windir%\System32\Driver”  afterwards you can install you can install the PVS Target Device client unattended by running “PVS_Device_x64.exe /S /v /qn

Lync 2013 sp1 unattend/silent install VLC fails

check the following link

Following piece helps:


1. Downloaded a x86 copy of Office 2013 Pro Plus with SP1 ISO from VLSC
2. Extracted the contents and deleted the “admin” folder
3. Downloaded and extracted the copy of the new (dated 4/28/2014) OCT from the link http://www.microsoft.com/en-us/download/details.aspx?id=35554
4. Copied the resulting “admin” folder from step 3 to the Pro Plus source
5. Launched the OCT by running setup.exe /admin
6. In the “Set feature installation states” changed Visio Viewer to Run all from my computer
7. Saved the MSP file to the Updates folder of the Pro Plus source
8. Ran setup.exe and confirmed that Lync and One Drive for Business are installed