<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>PepperCrew</title>
	<atom:link href="http://www.peppercrew.nl/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.peppercrew.nl</link>
	<description></description>
	<lastBuildDate>Tue, 21 Feb 2012 21:00:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Damn you C-states! (Unexpected XenServer reboot)</title>
		<link>http://www.peppercrew.nl/index.php/2012/02/damn-you-c-states-unexpected-xenserver-reboot/</link>
		<comments>http://www.peppercrew.nl/index.php/2012/02/damn-you-c-states-unexpected-xenserver-reboot/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 19:45:00 +0000</pubDate>
		<dc:creator>Ingmar Verheij</dc:creator>
				<category><![CDATA[Ingmar Verheij]]></category>
		<category><![CDATA[c-states]]></category>
		<category><![CDATA[Citrix]]></category>
		<category><![CDATA[Intel]]></category>
		<category><![CDATA[reboot]]></category>
		<category><![CDATA[sleep mode]]></category>
		<category><![CDATA[XenServer]]></category>

		<guid isPermaLink="false">http://www.peppercrew.nl/index.php/2012/02/damn-you-c-states-unexpected-xenserver-reboot/</guid>
		<description><![CDATA[Author : Ingmar Verheij Processors have the ability to save energy by entering a low-power mode. Each processor has serveral power modes called “C-states”. The C-states are introduced with the 486DX4 processor and are still present in the current processors. Over time more C-states are introduced to lower the power consumption and save energy. Hypervisors [...]]]></description>
			<content:encoded><![CDATA[<p>Author : <a  href="http://www.ingmarverheij.com/" target="_blank">Ingmar Verheij</a></p>
<p>Processors have the ability to save energy by entering a low-power mode. Each processor has serveral power modes called “C-states”. The C-states are introduced with the 486DX4 processor and are still present in the current processors. Over time more C-states are introduced to lower the power consumption and save energy.</p>
<p>Hypervisors (used to virtualize desktops or servers) like Citrix XenServers or Microsoft Hyper-V can have issues with&#160; C-states causing them to freeze, BSOD or slow down. This happens when C-state 3 “Sleep” or higher is enabled the BIOS.</p>
<p><span id="more-3875"></span><br />
<h4>C-what?</h4>
<p>A processor has multiple power modes, or C-states, it can operate in. The purpose of these modes is to lower the power consumption by disabling features if you don’t need them. Each mode shuts down (or lowers) one or more components of the processor lowering power consumption and increasing time to wake-up. The higher the C-state the processor is in, the deeper the sleep.</p>
<p> <a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/c-states.gif" class="thickbox no_icon" rel="gallery-3875" title="Processor C-states - Source: Intel"><img style="background-image: none; border-right-width: 0px; margin: 0px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Processor C-states - Source: Intel" border="0" alt="Processor C-states - Source: Intel" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/c-states_thumb.gif" width="454" height="317" /></a>
<p>The normal processor operating mode is C0, or operating state, where the CPU is fully operational. Besides a number C-states are known by name (which describes there function) and have sub-modes.&#160; As you can see in the diagram the higher the C number is, the more circuits and signals are turned off and the deeper the sleep is.</p>
<p>While C-state 0 is the basic operating mode C-state 1 till 3 save power by cutting clock signals, C-state 4 to 6 work by reducing CPU voltage. The enhanced C-state modes can do both at the same time. Here’s a quick overview of the C-states present in modern processors (like the Intel Nehalem and Westmere)</p>
<table border="1" cellspacing="0" cellpadding="1" width="470">
<tbody>
<tr>
<td valign="top" width="51"><strong>Mode</strong></td>
<td valign="top" width="110"><strong>Name</strong></td>
<td valign="top" width="307"><strong>What it does</strong></td>
</tr>
<tr>
<td valign="top" width="55">C0</td>
<td valign="top" width="111">Operating State</td>
<td valign="top" width="307">CPU fully turned on</td>
</tr>
<tr>
<td valign="top" width="58">C1</td>
<td valign="top" width="112">Halt</td>
<td valign="top" width="307">Stops CPU main internal clocks via software; bus interface unit via APIC are kept running at full speed</td>
</tr>
<tr>
<td valign="top" width="61">C1E</td>
<td valign="top" width="113">Enhanced Halt</td>
<td valign="top" width="307">Stops CPU main internal clocks via software and reduces CPU voltage; but interface unit and APIC are kept running at full speed.</td>
</tr>
<tr>
<td valign="top" width="64">C1E</td>
<td valign="top" width="113">-</td>
<td valign="top" width="307">Stops all CPU internal clocks.</td>
</tr>
<tr>
<td valign="top" width="67">C2</td>
<td valign="top" width="113">Stop Grant</td>
<td valign="top" width="307">Stops CPU main internal clocks via hardware; bus interface unit and APIC are kept running at full speed.</td>
</tr>
<tr>
<td valign="top" width="69">C2</td>
<td valign="top" width="112">Stop Clock</td>
<td valign="top" width="307">Stops CPU internal and external clocks via hardware</td>
</tr>
<tr>
<td valign="top" width="71">C2E</td>
<td valign="top" width="112">Extended Stop Grant</td>
<td valign="top" width="307">Stops CPU main internal clocks via hardware and reduces CPU voltage; bus interface unit and APIC are kept running at full speed.</td>
</tr>
<tr>
<td valign="top" width="73">C3</td>
<td valign="top" width="112">Sleep</td>
<td valign="top" width="307">Stops all CPU internal clocks</td>
</tr>
<tr>
<td valign="top" width="74">C3</td>
<td valign="top" width="112">Deep Sleep</td>
<td valign="top" width="307">Stops all CPU internal and external clocks</td>
</tr>
<tr>
<td valign="top" width="75">C3</td>
<td valign="top" width="112">AltVID</td>
<td valign="top" width="307">Stops all CPU internal clocks and reduces CPU voltage</td>
</tr>
<tr>
<td valign="top" width="76">C4</td>
<td valign="top" width="112">Deeper Sleep</td>
<td valign="top" width="307">Reduces CPU voltage</td>
</tr>
<tr>
<td valign="top" width="77">C4E/C5</td>
<td valign="top" width="112">Enhanced Deeper Sleep</td>
<td valign="top" width="307">Reduces CPU voltage even more and turns off the memory cache</td>
</tr>
<tr>
<td valign="top" width="78">C6</td>
<td valign="top" width="112">Deep Power Down</td>
<td valign="top" width="307">Reduces the CPU internal voltage to any value, including 0 V</td>
</tr>
</tbody>
</table>
<p>The Intel Nehalem (or Core i7) has an embedded power control unit that allows the voltage for individual parts of the processor to be reduced or turned off. </p>
<p>If you want to know more about the CPU C-states and power saving modes you should definitely read <a  href="http://www.hardwaresecrets.com/article/611" target="_blank">this article</a> from <a  href="http://www.hardwaresecrets.com/bio/Gabriel-Torres/1" target="_blank">Gabriel Torres</a>. </p>
<p>&#160;</p>
<h4>How do I know if what C-states are enabled?</h4>
<p>In Citrix XenServer this is fairly easy, just connect to the console (either via XenCenter or an SSH-capable client like PuTTY) and enter the command found below and it will return the total number of C-states.If the number of C-states is above 2, the C3 state “Sleep” is enabled and should be disabled in the BIOS.</p>
<div class="dean_ch" style="white-space: wrap;"><span class="br0">&#91;</span>root@XenServer ~<span class="br0">&#93;</span><span class="re3"># xenpm get-cpuidle-states | <span class="kw2">grep</span> total | uniq</span></div>
<p align="center"><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/rootPepperLab_2012-02-21_16-49-54.png" class="thickbox no_icon" rel="gallery-3875" title=""><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="" border="0" alt="" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/rootPepperLab_2012-02-21_16-49-54_thumb.png" width="204" height="129" /></a><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/Shutdown-Sleep.png" class="thickbox no_icon" rel="gallery-3875" title=""><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="" border="0" alt="" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/Shutdown-Sleep_thumb.png" width="153" height="129" /></a></p>
<p>Since the C3 state enables the machine to enter Sleep state, in Microsoft Windows Hyper-V this is done by looking at Start &gt; Shut down. If there is an option to enter Sleep mode (or Hibernate) the C3 state is enabled. </p>
<p>&#160;</p>
<h4>Unexpected XenServer reboot</h4>
<p>Today around 14:45, during a training all virtual machines on a Citrix XenServer froze while the student where working on there lab. It didn’t took long to figure out the cause of the freeze, the machine had rebooted unexpectedly. After connecting to the host via a <a  href="http://www.lantronix.com/it-management/kvm-over-ip/securelinx-spider.html" target="_blank">Lantronix Spider</a>, an error message of the RAID controller was shown.</p>
<p><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/LSI-MegaRAID-SAS-MFI-Error.png" class="thickbox no_icon" rel="gallery-3875" title="LSI MegaRAID SAS-MFI - Error"><img style="background-image: none; border-right-width: 0px; margin: 0px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="LSI MegaRAID SAS-MFI - Error" border="0" alt="LSI MegaRAID SAS-MFI - Error" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/LSI-MegaRAID-SAS-MFI-Error_thumb.png" width="454" height="303" /></a></p>
<p>After bringing the host and virtual machines back online I started troubleshooting the issue. In the <em>/var/log/message</em> found the following events:</p>
<div class="dean_ch" style="white-space: wrap;">Feb <span class="nu0">21</span> <span class="nu0">14</span>:<span class="nu0">34</span>:<span class="nu0">08</span> Lab fe: qemu-dm<span class="nu0">-63</span><span class="br0">&#91;</span><span class="nu0">15231</span><span class="br0">&#93;</span>: &nbsp;XENIFACE Notice &nbsp; USER: Clipboard : Console changed<br />
Feb <span class="nu0">21</span> <span class="nu0">14</span>:<span class="nu0">34</span>:<span class="nu0">08</span> Lab fe: qemu-dm<span class="nu0">-63</span><span class="br0">&#91;</span><span class="nu0">15231</span><span class="br0">&#93;</span>: &nbsp;XENIFACE Notice &nbsp; USER: Clipboard : changed to session <span class="nu0">1</span><br />
Feb <span class="nu0">21</span> <span class="nu0">14</span>:<span class="nu0">34</span>:<span class="nu0">25</span> Lab fe: qemu-dm<span class="nu0">-81</span><span class="br0">&#91;</span><span class="nu0">20385</span><span class="br0">&#93;</span>: &nbsp;XENIFACE Notice &nbsp; USER: Clipboard : Console changed<br />
Feb <span class="nu0">21</span> <span class="nu0">14</span>:<span class="nu0">34</span>:<span class="nu0">25</span> Lab fe: qemu-dm<span class="nu0">-81</span><span class="br0">&#91;</span><span class="nu0">20385</span><span class="br0">&#93;</span>: &nbsp;XENIFACE Notice &nbsp; USER: Clipboard : changed to session <span class="nu0">1</span><br />
Feb <span class="nu0">21</span> <span class="nu0">14</span>:<span class="nu0">41</span>:<span class="nu0">53</span> Lab xsconsole: Entering <span class="kw2">sleep</span> due to inactivity &#8211; xsconsole is now blocked waiting <span class="kw1">for</span> a keypress<br />
Feb <span class="nu0">21</span> <span class="nu0">14</span>:<span class="nu0">49</span>:<span class="nu0">07</span> XenServer syslogd <span class="nu0">1.4</span><span class="nu0">.1</span>: restart.<br />
Feb <span class="nu0">21</span> <span class="nu0">14</span>:<span class="nu0">49</span>:<span class="nu0">07</span> XenServer kernel: klogd <span class="nu0">1.4</span><span class="nu0">.1</span>, log <span class="kw3">source</span> = /proc/kmsg started.<br />
Feb <span class="nu0">21</span> <span class="nu0">14</span>:<span class="nu0">49</span>:<span class="nu0">07</span> XenServer kernel: Reserving virtual address space above 0xfdc00000<br />
Feb <span class="nu0">21</span> <span class="nu0">14</span>:<span class="nu0">49</span>:<span class="nu0">07</span> XenServer kernel: Linux version <span class="nu0">2.6</span><span class="nu0">.32</span><span class="nu0">.12</span><span class="nu0">-0.7</span><span class="nu0">.1</span>.xs6<span class="nu0">.0</span><span class="nu0">.0</span><span class="nu0">.531</span>.170662xen <span class="br0">&#40;</span>geeko@buildhost<span class="br0">&#41;</span> <span class="br0">&#40;</span><span class="kw2">gcc</span> version <span class="nu0">4.1</span><span class="nu0">.2</span> <span class="nu0">20080704</span> <span class="br0">&#40;</span>Red Hat <span class="nu0">4.1</span><span class="nu0">.2</span><span class="nu0">-48</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="re3">#<span class="nu0">1</span> SMP Mon Nov <span class="nu0">28</span> <span class="nu0">10</span>:<span class="nu0">39</span>:<span class="nu0">00</span> EST <span class="nu0">2011</span></span><br />
Feb <span class="nu0">21</span> <span class="nu0">14</span>:<span class="nu0">49</span>:<span class="nu0">07</span> XenServer kernel: KERNEL supported cpus:<br />
Feb <span class="nu0">21</span> <span class="nu0">14</span>:<span class="nu0">49</span>:<span class="nu0">07</span> XenServer kernel: &nbsp; Intel GenuineIntel<br />
Feb <span class="nu0">21</span> <span class="nu0">14</span>:<span class="nu0">49</span>:<span class="nu0">07</span> XenServer kernel: &nbsp; AMD AuthenticAMD<br />
Feb <span class="nu0">21</span> <span class="nu0">14</span>:<span class="nu0">49</span>:<span class="nu0">07</span> XenServer kernel: &nbsp; NSC Geode by NSC<br />
Feb <span class="nu0">21</span> <span class="nu0">14</span>:<span class="nu0">49</span>:<span class="nu0">07</span> XenServer kernel: &nbsp; Cyrix CyrixInstead<br />
Feb <span class="nu0">21</span> <span class="nu0">14</span>:<span class="nu0">49</span>:<span class="nu0">07</span> XenServer kernel: &nbsp; Centaur CentaurHauls<br />
Feb <span class="nu0">21</span> <span class="nu0">14</span>:<span class="nu0">49</span>:<span class="nu0">07</span> XenServer kernel: &nbsp; Transmeta GenuineTMx86<br />
Feb <span class="nu0">21</span> <span class="nu0">14</span>:<span class="nu0">49</span>:<span class="nu0">07</span> XenServer kernel: &nbsp; Transmeta TransmetaCPU<br />
Feb <span class="nu0">21</span> <span class="nu0">14</span>:<span class="nu0">49</span>:<span class="nu0">07</span> XenServer kernel: Xen-provided machine memory map:<br />
Feb <span class="nu0">21</span> <span class="nu0">14</span>:<span class="nu0">49</span>:<span class="nu0">07</span> XenServer kernel: &nbsp;BIOS: <span class="nu0">0000000000000000</span> &#8211; 000000000009dc00 <span class="br0">&#40;</span>usable<span class="br0">&#41;</span><br />
Feb <span class="nu0">21</span> <span class="nu0">14</span>:<span class="nu0">49</span>:<span class="nu0">07</span> XenServer kernel: &nbsp;BIOS: 000000000009dc00 &#8211; 00000000000a0000 <span class="br0">&#40;</span>reserved<span class="br0">&#41;</span></div>
<p>The event&#160; on line 5 <strong>“Entering sleep due to inactivity”</strong> was adjective because the opposite was true. There where 17 virtual machine active, users where actively using the machines (they where working on a lab) and the Citrix XenServer was pushed to its limits. There was really no reason to enter sleep mode.</p>
<p><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/Citrix-XenServer.png" class="thickbox no_icon" rel="gallery-3875" title=""><img style="background-image: none; border-right-width: 0px; margin: 0px auto; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="" border="0" alt="" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/Citrix-XenServer_thumb.png" width="454" height="148" /></a></p>
<p>This is most likely caused by the C-states that are enabled. After a quick check&#160; on the host I found out the C-states are indeed enabled (total C-states: 4). So I rebooted the machine, entered the BIOS (I’m using a white-box with an Asus motherboard), and disabled following features:</p>
<ul>
<li>Advanced \ CPU Configuration \ Enhanced Intel SpeedStep Technology </li>
<li>Advanced \ CPU Configuration \ Turbo Mode </li>
<li>Advanced \ CPU Configuration \ CPU C1E </li>
<li>Advanced \ CPU Configuration \ CPU C3 Report </li>
<li>Advanced \ CPU Configuration \ CPU C6 Report </li>
</ul>
<p>All these features are not really necessary on a hypervisor host. You don’t want the host to vary the frequency of the processor to reduce power consumption if this negatively impacts the performance (or stability) of your virtual machines. Citrix recommends disabling the Turbo mode and C-states in knowledge base article <a  href="http://support.citrix.com/article/CTX127395" target="_blank">CTX127395</a>.</p>
<p align="center"><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/Lantronix-SLS-KVM-Console-176.9.83-BIOS-Advanced.png" class="thickbox no_icon" rel="gallery-3875" title=""><img style="background-image: none; border-right-width: 0px; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="" border="0" alt="" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/Lantronix-SLS-KVM-Console-176.9.83-BIOS-Advanced_thumb.png" width="110" height="92" /></a><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/Lantronix-SLS-KVM-Console-176.9.83-BIOS-Advanced-CPU-Before.png" class="thickbox no_icon" rel="gallery-3875" title=""><img style="background-image: none; border-right-width: 0px; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="" border="0" alt="" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/Lantronix-SLS-KVM-Console-176.9.83-BIOS-Advanced-CPU-Before_thumb.png" width="110" height="92" /></a><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/Lantronix-SLS-KVM-Console-176.9.83-BIOS-Advanced-CPU-After.png" class="thickbox no_icon" rel="gallery-3875" title=""><img style="background-image: none; border-right-width: 0px; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="" border="0" alt="" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/Lantronix-SLS-KVM-Console-176.9.83-BIOS-Advanced-CPU-After_thumb.png" width="110" height="92" /></a><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/rootPepperLab_2012-02-21_17-13-32.png" class="thickbox no_icon" rel="gallery-3875" title=""><img style="background-image: none; border-right-width: 0px; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="" border="0" alt="" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/rootPepperLab_2012-02-21_17-13-32_thumb.png" width="129" height="82" /></a></p>
<p>According to <a  href="http://support.citrix.com/article/CTX127395" target="_blank">Citrix</a> : <em>“The core problem is faults in the hardware implementation of the new C-state features in this generation of CPUs. Citrix is investigating the software workarounds that can be implemented to avoid these issues, but recommends that on a current affected hardware, C-states should remain disabled in the BIOS until Intel can provide a CPU microcode update that facilitates the behavior of C-states as designed.”</em></p>
<p>&#160;</p>
<h4>How about Hyper-V</h4>
<p>Microsoft Hyper-V has issues with the C-states as well. You can read about it in this <a  href="http://deinoscloud.wordpress.com/2009/10/22/disable-c-state-why-that/" target="_blank">blog article</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.peppercrew.nl/index.php/2012/02/damn-you-c-states-unexpected-xenserver-reboot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RES Software Partner Focus 2012 recap</title>
		<link>http://www.peppercrew.nl/index.php/2012/02/res-software-partner-focus-2012-recap/</link>
		<comments>http://www.peppercrew.nl/index.php/2012/02/res-software-partner-focus-2012-recap/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 19:24:07 +0000</pubDate>
		<dc:creator>Robin</dc:creator>
				<category><![CDATA[Robin Plomp]]></category>
		<category><![CDATA[HyperDrive]]></category>
		<category><![CDATA[PartnerFocus2012]]></category>
		<category><![CDATA[res]]></category>

		<guid isPermaLink="false">http://www.peppercrew.nl/index.php/2012/02/res-software-partner-focus-2012-recap/</guid>
		<description><![CDATA[16th February I’ve attended the RES Software Partner Focus event at the Verkade Fabriek in Oeteldonk (Den Bosch). Attending this sort of events always feels like a reunion. You meet past and present colleagues and business partners. The event was opened by channel manager Wilfred Noordman. He introduced the new channel team and thanked the [...]]]></description>
			<content:encoded><![CDATA[<p>16th February I’ve attended the RES Software Partner Focus event at the Verkade Fabriek in Oeteldonk (Den Bosch). Attending this sort of events always feels like a reunion. You meet past and present colleagues and business partners.</p>
<p><a  class="thickbox no_icon" href="http://www.peppercrew.nl/wp-content/uploads/2012/02/imgp4174.jpg" rel="gallery-3856" title="imgp4174"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px; padding-top: 0px" title="imgp4174" border="0" alt="imgp4174" align="right" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/imgp4174_thumb.jpg" width="244" height="184" /></a></p>
<p>The event was opened by channel manager Wilfred Noordman. He introduced the new channel team and thanked the partners for their commitment towards RES Software. Next up was product marketing director Erik Nicolai. He talked about the RES concept “Iedereen de werkplek die het beste werkt”. He explained this concept by showing pictures of how people work in de RES HQ. Everybody has different needs, due to different functions and different devices.</p>
<p><span id="more-3856"></span>
<p>&#160;<a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/RES-Logo-2010-Screen-High-Res.jpg" class="thickbox no_icon" rel="gallery-3856" title="RES-Logo-2010-Screen-High-Res"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 2px 0px 5px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="RES-Logo-2010-Screen-High-Res" border="0" alt="RES-Logo-2010-Screen-High-Res" align="left" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/RES-Logo-2010-Screen-High-Res_thumb.jpg" width="244" height="122" /></a></p>
<p>&#160;</p>
<p>The next speaker is VP product management Bob Dekousemaeker. He talked about, among other subjects, about the future product RES HyperDrive the business ready answer to services as Dropbox. With RES HyperDrive you can accomplish “Follow me data”. It offers the easiest, most secure and on premises way to share files on the go for enterprise users. This product enables you to access your business data at work, at home or on the road, regardless of device. </p>
<p>The following speaker, before a short break, is Laurens Bontenbal, he is a marketing strategist. He talked about the social revolution.</p>
<p>After the short break you could choose between some sessions. I’ve attended a session about “IT is een Dienst met de dynamische werkplek” by Arie Joosse and Bas van Goor. In this session they show how an dynamic managed desktop functions. They used Workspace manager, Automation Manager and Service Orchestration Module.</p>
<p>&#160;</p>
<p><a  class="thickbox no_icon" href="http://www.peppercrew.nl/wp-content/uploads/2012/02/res_help_RES_AM2012_logo.png" rel="gallery-3856" title="res_help_RES_AM2012_logo"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 2px 10px 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px" title="res_help_RES_AM2012_logo" border="0" alt="res_help_RES_AM2012_logo" align="right" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/res_help_RES_AM2012_logo_thumb.png" width="228" height="48" /></a>Next up is a preview of Workspace Manager 2012 by Bob Dekousemaeker. In this presentation he showed the new stuff that will be in version of Workspace Manager. Here are a few of the new features.     <br />One of the new features that Bob showed us is the Relay Server. The role of the Relay Server in Workspace Manager is similar to the role of the dispatcher within Automation Manager. It will decrease the amount of database connections. This will benefit a scenario where there are branch offices.     <br />Another new feature is interception applications. For years it has been a fact that if you wanted Workspace manager to control an application, you had to start the application by launching pwrlaunch.exe with the application ID as an parameter. </p>
<p>In Workspace Manager 2012 there is a new filter driver that allows you to intercept processes before they are launched, then Workspace Manager applies the configuration and security, and continue to launch the application. This new feature allows you to migrate an environment to RES Workspace Manager easily. You can migrate applications one by one without replacing any shortcut. When you are also using Citrix XenApp you don&#8217;t have to republish your applications. The new version also contains a feature that allows you to test a settings or configurations you created for a different workspace and/or location. You don’t have to bother a user.    <br />For years there have been requests to expand the reporting tool within Workspace Manager. With this new version it’s here. You can personalize the reports with your company logo.</p>
<p>After an delicious lunch it is up to the last technical session of the day, a session about the new features in RES Automation Manager by Eddie van Ravesteijn. In the new version of Automation Manager you can now use global variables. The values of Global Variables can be set up at Infrastructure &gt; Datastore &gt; Settings &gt; Global Variables. These values are inherited by default by all Teams and Agents, but exceptions for individual Teams and Agents can be set. A new handy feature is that you can set an time window wherein jobs can be executed. If a job is scheduled outside this window you can define what should be done with this job. You can configure for these jobs to, run outside the window, fail, or let the job wait till the begin of the window.    <br />Within this version you can also execute jobs to Linux machines, and you can execute SCCM jobs. This gives the possibility to preform bare metal deployment with Automation Manager.&#160; There is also an update in the query function. You can now setup an query and setup actions based on the outcome of the query. </p>
<p>After this presentation there is an award ceremony for the Dr. Werkplek, partner en RSMVP awards. After this ceremony there is an comedian (Coen Jutte). Then it is time for drinks and networking.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.peppercrew.nl/index.php/2012/02/res-software-partner-focus-2012-recap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shutdown option on the logonscreen with Imprivata Onesign</title>
		<link>http://www.peppercrew.nl/index.php/2012/02/shutdown-option-on-the-logonscreen-with-imprivata-onesign/</link>
		<comments>http://www.peppercrew.nl/index.php/2012/02/shutdown-option-on-the-logonscreen-with-imprivata-onesign/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 15:23:14 +0000</pubDate>
		<dc:creator>Remko</dc:creator>
				<category><![CDATA[Remko Weijnen]]></category>
		<category><![CDATA[Imprivata]]></category>

		<guid isPermaLink="false">http://www.peppercrew.nl/index.php/2012/02/shutdown-option-on-the-logonscreen-with-imprivata-onesign/</guid>
		<description><![CDATA[I logged remotely to a server with RDP and I noticed that&#160; I had options to restart or shutdown that server. This means we can shutdown or restart a server without physical access and without authentication: We can remove the Shut down and Restart hyperlink by setting the following REG_DWORD value UseShutDownControls to 0 in [...]]]></description>
			<content:encoded><![CDATA[<p><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/image11.png" class="thickbox no_icon" rel="gallery-3849" title="image"><img style="display: inline; float: right" title="image" alt="image" align="right" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/image_thumb11.png" width="42" height="53" /></a>I logged remotely to a server with RDP and I noticed that&#160; I had options to restart or shutdown that server. This means we can shutdown or restart a server without physical access and without authentication:</p>
<p><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/image12.png" class="thickbox no_icon" rel="gallery-3849" title="Log On to Windows"><img style="display: block; float: none; margin-left: auto; margin-right: auto" title="Log On to Windows" alt="Windows Server 2003 Logon Screen | Imprivata | Shutdown | REstart" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/image_thumb12.png" width="209" height="177" /></a></p>
<p><span id="more-3849"></span>
<p>We can remove the Shut down and Restart hyperlink by setting the following REG_DWORD value <strong>UseShutDownControls</strong> to 0 in the <em>HKLM\SOFTWARE\SSOProvider\SuperGina</em> registry key.</p>
<p>So this is a clear case of misconfiguration, probably due to the fact that the installation script was copied from a workstation installation where you might want to allow this setting.</p>
<p>But even on a workstation you might not want to have those options when connecting to it remotely. So do consider carefully if you want to enable this setting.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.peppercrew.nl/index.php/2012/02/shutdown-option-on-the-logonscreen-with-imprivata-onesign/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Session freeze when starting Excel</title>
		<link>http://www.peppercrew.nl/index.php/2012/02/session-freeze-when-starting-excel/</link>
		<comments>http://www.peppercrew.nl/index.php/2012/02/session-freeze-when-starting-excel/#comments</comments>
		<pubDate>Mon, 20 Feb 2012 14:48:00 +0000</pubDate>
		<dc:creator>Remko</dc:creator>
				<category><![CDATA[Remko Weijnen]]></category>
		<category><![CDATA[Citrix]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[McAfee]]></category>
		<category><![CDATA[Office]]></category>
		<category><![CDATA[XenApp]]></category>

		<guid isPermaLink="false">http://www.peppercrew.nl/index.php/2012/02/session-freeze-when-starting-excel/</guid>
		<description><![CDATA[Environment Windows 2003 Enterprise (32 bit), Citrix XenApp 5, RES Workspace Manager 2011, McAfee VirusScan Enterprise 8.7.0i. Problem When a opening an Excel workbook from Sharepoint the whole session freezes. I asked the user to open an Excel workbook from Sharepoint and I noticed the following popup: So my first thought was that the user [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Environment</strong>     <br />Windows 2003 Enterprise (32 bit), Citrix XenApp 5, RES Workspace Manager 2011, McAfee VirusScan Enterprise 8.7.0i.</p>
<p><strong>Problem</strong>     <br />When a opening an Excel workbook from Sharepoint the whole session freezes.</p>
<p>I asked the user to open an Excel workbook from Sharepoint and I noticed the following popup:</p>
<p><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/image1.png" class="thickbox no_icon" rel="gallery-3844" title="Message from webpage"><img style="display: inline" title="Message from webpage" alt="Some files can harm your computer. If the file information looks suspicious or you do not fully trust the source, do not open the file | You are opening the following file: | File name: My Workbook.xls | From: Sharepoint" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/image_thumb1.png" width="415" height="97" /></a></p>
<p>So my first thought was that the user somehow clicked this message to the background and IE was waiting for a response.</p>
<p><span id="more-3844"></span>
<p>This message appears because the option “Confirm open after download” is active in the file type options:</p>
<p><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/image2.png" class="thickbox no_icon" rel="gallery-3844" title="Edit File Type"><img style="display: inline" title="Edit File Type" alt="Microsoft Word-document | Confirm open after download" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/image_thumb2.png" width="215" height="193" /></a></p>
<p>I knew this setting was stored in the registry but couldn’t remember where, so I used Process Monitor to quickly determine it’s location. I set a filter on “Process is explorer.exe” and “Operation is RegSetValue”:</p>
<p><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/image3.png" class="thickbox no_icon" rel="gallery-3844" title="Process Monitor Filter"><img style="display: inline" title="Process Monitor Filter" alt="Process is explorer.exe | Operation is RegSetValue" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/image_thumb3.png" width="415" height="242" /></a></p>
<p>First line is a direct hit, the registry key is “HKCR\Excel.Sheet.8\EditFlags”:</p>
<p><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/image4.png" class="thickbox no_icon" rel="gallery-3844" title="Process Monitor"><img style="display: inline" title="Process Monitor" alt="Output" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/image_thumb4.png" width="415" height="98" /></a></p>
<p>HKEY_CLASSES_ROOT is actually a merged view of HKEY_LOCAL_MACHINE\Software\Classes and HKEY_CURRENT_USER\Software\Classes so you can set this value either per user or for all users.</p>
<p>In my case I set this value in RES Workspace Manager as an Application Specific Configuration:</p>
<p><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/image5.png" class="thickbox no_icon" rel="gallery-3844" title="Change registry settings"><img style="display: inline" title="Change registry settings" alt="RES Workspace Manager | Composition | Applications | Managed Applications | Microsoft Office 2003 | Excel | Configurations | Actions" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/image_thumb5.png" width="377" height="313" /></a></p>
<p>After this change the warning wasn’t shown anymore but the workbook still didn’t open.</p>
<p><strong>Freeze      <br /></strong>After a little wait Explorer didn’t respond any more, which in the user’s experience makes the whole session freeze. The RES Dialog was indicating it was still launching Excel:</p>
<p><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/image6.png" class="thickbox no_icon" rel="gallery-3844" title="Desktop"><img style="display: inline" title="Desktop" alt="Desktop | Bezig met starten van &quot;Microsoft Excel 2003&quot;" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/image_thumb6.png" width="415" height="77" /></a></p>
<p><strong>Process Monitor      <br /></strong>So I opened Process Monitor to see what was going on and I noticed a recurring sequence of several NotifyChangeDirectory operations from Explorer. I filtered on this operation:</p>
<p><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/image7.png" class="thickbox no_icon" rel="gallery-3844" title="Process Monitor"><img style="display: inline" title="Process Monitor" alt="Operation is NotifyChangeDirectory" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/image_thumb7.png" width="415" height="221" /></a></p>
<p>As you can see in the screenshot there is a massive number of entries, each taking up about a second. And after waiting several minutes Excel was launched.</p>
<p>I then tried to open Excel directly and this showed the same behavior.</p>
<p><strong>Stack      <br /></strong>So I doubleclicked one of the entries and inspected the Stack. As you can see the last 6 operations are related to virus scanning because fltMgr.sys is the File Filter Filter Manager (virus scanners usually use a filter driver):</p>
<p><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/image8.png" class="thickbox no_icon" rel="gallery-3844" title="Process Monitor"><img style="display: inline" title="Process Monitor" alt="Stack View" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/image_thumb8.png" width="342" height="313" /></a></p>
<p>And mfehidk.sys is a driver from McAfee:</p>
<p><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/image9.png" class="thickbox no_icon" rel="gallery-3844" title="Module Properties"><img style="display: inline" title="Module Properties" alt="mfehidk.sys | McAfee Link Driver" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/image_thumb9.png" width="204" height="113" /></a></p>
<p><strong>Virus Scanner      <br /></strong>To see whether the Virus Scanner was at fault, I deselected “When reading from disk” (for performance reasons it’s I would recommended to turn this off anyway) from the Scan Items in the On-Access Scan Properties:</p>
<p><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/image10.png" class="thickbox no_icon" rel="gallery-3844" title="On-Access Scan Properties"><img style="display: inline" title="On-Access Scan Properties" alt="McAfee On-Access Scan Properties | Default processes | Scan Items | When reading from disk" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/image_thumb10.png" width="309" height="313" /></a>&#160;</p>
<p>After that change Excel launched almost immediately!</p>
<p>I am not really satisfied with this workaround so I will ask the customer to report this to McAfee. I will update this article if I get any feedback.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.peppercrew.nl/index.php/2012/02/session-freeze-when-starting-excel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Images tooltip in PDF</title>
		<link>http://www.peppercrew.nl/index.php/2012/02/tooltip-on-images-in-pdf/</link>
		<comments>http://www.peppercrew.nl/index.php/2012/02/tooltip-on-images-in-pdf/#comments</comments>
		<pubDate>Wed, 15 Feb 2012 14:00:00 +0000</pubDate>
		<dc:creator>Ingmar Verheij</dc:creator>
				<category><![CDATA[Ingmar Verheij]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[tooltip]]></category>
		<category><![CDATA[Word]]></category>

		<guid isPermaLink="false">http://www.peppercrew.nl/index.php/2012/02/tooltip-on-images-in-pdf/</guid>
		<description><![CDATA[Author : Ingmar Verheij Have you ever read a PDF document and noticed a tooltip when you hovered over an image? Did you notice that the information didn’t looked like it’s supposed to be there? It shouldn’t, it’s not pretty and it annoys me Not only does this happen in my own documents, I’ve see [...]]]></description>
			<content:encoded><![CDATA[<p>Author : <a  href="http://www.ingmarverheij.com/" target="_blank">Ingmar Verheij</a></p>
<p>Have you ever read a PDF document and noticed a tooltip when you hovered over an image? Did you notice that the information didn’t looked like it’s supposed to be there? It shouldn’t, it’s not pretty and it annoys me <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-winkingsmile" alt="Knipogende emoticon" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/wlEmoticon-winkingsmile1.png" /></p>
<p>Not only does this happen in my own documents, I’ve see this in official documents of (major) companies.</p>
<p><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/XenDesktop-Hyper-V-Design-Guide_Final_v1.1.png" class="thickbox no_icon" rel="gallery-3822" title=""><img style="background-image: none; border-right-width: 0px; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="" border="0" alt="Citrix - XenDesktop Design Study" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/XenDesktop-Hyper-V-Design-Guide_Final_v1.1_thumb.png" width="154" height="127" /></a><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/uem_smackdown-2012.png" class="thickbox no_icon" rel="gallery-3822" title=""><img style="background-image: none; border-right-width: 0px; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="" border="0" alt="PQR - User Environment Management (UEM) Smackdown" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/uem_smackdown-2012_thumb.png" width="154" height="122" /></a><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/Hover-Dragged-from-Windows-Explorer.png" class="thickbox no_icon" rel="gallery-3822" title=""><img style="background-image: none; border-right-width: 0px; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="" border="0" alt="" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/Hover-Dragged-from-Windows-Explorer_thumb.png" width="154" height="41" /></a></p>
<p><span id="more-3822"></span><br />
<h4>Alternative text</h4>
<p>So why is there a <strong>tooltip</strong> when you <strong>hover</strong> over an image in a PDF document? Because the PDF document was a Microsoft <strong>Word</strong> document once and got <strong>exported</strong> to a PDF. But when you read the Microsoft Word document the tooltip is not visible, not even when you hover the image. </p>
<p>The tooltip is displayed because an<strong> a<em>lternative</em> t<em>ext</em></strong> is set for the image. When you export the image to PDF the a<em>lternative text </em>is considered as important information about the image. </p>
<p><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/Format-Picture.png" class="thickbox no_icon" rel="gallery-3822" title=""><img style="background-image: none; border-right-width: 0px; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="" border="0" alt="" align="right" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/Format-Picture_thumb.png" width="79" height="187" /></a>So where can you find his a<em>lternative text</em> of an image? Select an image, open the <strong>context menu </strong>(right-click) and select <strong>Format Picture</strong>. In the Format Picture dialog select <strong>Alt Text</strong>.</p>
<p><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/Alt-Text-Dragged-from-Windows-Explorer.png" class="thickbox no_icon" rel="gallery-3822" title=""><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="" border="0" alt="" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/Alt-Text-Dragged-from-Windows-Explorer_thumb.png" width="154" height="144" /></a></p>
<h4>&#160;</h4>
<h4>When and how is the Alt text filled</h4>
<p>There are multiple methods of inserting an image into a Word document:</p>
<ol>
<li>Via the toolbar <strong>Insert &gt; Picture</strong> </li>
<li><strong>Dragging </strong>from Windows Explorer into Microsoft Word </li>
<li><strong>Copying </strong>from Internet Explorer and <strong>pasting</strong> into Microsoft Word </li>
</ol>
<h5>&#160;</h5>
<h5>1. Via the toolbar Insert &gt; Picture</h5>
<p>If you insert a picture via the toolbar via Insert &gt; Picture and then browse for the image (the cumbersome way) the alternative text is empty. If you export the document to PDF and hover above the image nothing is shown.</p>
<p><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/Alt-Text-Inserted-via-Insert-Picture4.png" class="thickbox no_icon" rel="gallery-3822" title=""><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="" border="0" alt="" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/Alt-Text-Inserted-via-Insert-Picture4_thumb.png" width="154" height="144" /></a><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/Hover-Inserted-via-Insert-Picture.png" class="thickbox no_icon" rel="gallery-3822" title=""><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="" border="0" alt="" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/Hover-Inserted-via-Insert-Picture_thumb.png" width="154" height="41" /></a></p>
<p>&#160;</p>
<h5>2. Dragging from Windows Explorer into Microsoft Word</h5>
<p>Now if you open a Windows Explorer and browse to a folder containing an image, pick it and drag it into you Microsoft Word document (the easiest and most used way?) the alternative test is filled with the location of the image. That’s nice, now you know here you stored the image <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Glimlach" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/wlEmoticon-smile.png" /></p>
<p>But if you export the document to PDF and hover above the image, the rest of the world know this as well.</p>
<p><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/Alt-Text-Dragged-from-Windows-Explorer4.png" class="thickbox no_icon" rel="gallery-3822" title=""><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="" border="0" alt="" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/Alt-Text-Dragged-from-Windows-Explorer4_thumb.png" width="154" height="144" /></a><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/Hover-Dragged-from-Windows-Explorer4.png" class="thickbox no_icon" rel="gallery-3822" title=""><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="" border="0" alt="" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/Hover-Dragged-from-Windows-Explorer4_thumb.png" width="154" height="41" /></a></p>
<p>&#160;</p>
<h5>3. Copying from Internet Explorer and pasting into Microsoft Word</h5>
<p>If you see an image on a webpage and copy the image (via the context menu) and paste it into a Microsoft Word document, the alternative text is filled with the URL. Can be useful. </p>
<p>But again, if you export the document to PDF and hover above the image a tooltip is shown. And for you’re convenience, if the image contained a URL it is copied into your document as well!</p>
<p><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/Alt-Text-Copied-from-Internet-Explorer.png" class="thickbox no_icon" rel="gallery-3822" title=""><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="" border="0" alt="" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/Alt-Text-Copied-from-Internet-Explorer_thumb.png" width="154" height="144" /></a><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/Hover-Copied-from-Internet-Explorer.png" class="thickbox no_icon" rel="gallery-3822" title=""><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="" border="0" alt="" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/Hover-Copied-from-Internet-Explorer_thumb.png" width="154" height="41" /></a><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/Hyperlink-Copied-from-Internet-Explorer.png" class="thickbox no_icon" rel="gallery-3822" title=""><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="" border="0" alt="" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/Hyperlink-Copied-from-Internet-Explorer_thumb.png" width="154" height="75" /></a></p>
<p>&#160;</p>
<h4>Example document</h4>
<p>You can download an example Word and PDF document here : <a  class="downloadlink" href="http://www.peppercrew.nl/wp-content/plugins/download-monitor/download.php?id=Example-documents.zip" title=" downloaded 1 times">Example documents (1)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.peppercrew.nl/index.php/2012/02/tooltip-on-images-in-pdf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Our partner Denamik has released Denamik LoadGen 2.3</title>
		<link>http://www.peppercrew.nl/index.php/2012/02/our-partner-denamik-has-released-denamik-loadgen-2-3/</link>
		<comments>http://www.peppercrew.nl/index.php/2012/02/our-partner-denamik-has-released-denamik-loadgen-2-3/#comments</comments>
		<pubDate>Tue, 14 Feb 2012 16:11:17 +0000</pubDate>
		<dc:creator>Daniel Nikolic</dc:creator>
				<category><![CDATA[Daniel Nikolic]]></category>
		<category><![CDATA[Citrix]]></category>
		<category><![CDATA[DeNamiK]]></category>
		<category><![CDATA[Load]]></category>
		<category><![CDATA[LoadGen]]></category>
		<category><![CDATA[LoadGen 2.3]]></category>
		<category><![CDATA[Loadtest]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[stress]]></category>
		<category><![CDATA[VDI]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Windows 2003]]></category>
		<category><![CDATA[Windows 2008]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[XenApp]]></category>
		<category><![CDATA[XenServer]]></category>

		<guid isPermaLink="false">http://www.peppercrew.nl/?p=3790</guid>
		<description><![CDATA[Our partner Denamik has released a new version of Denamik LoadGen. The execution of massive load and stress tests is now easier than before. You can now record your own user action scripts from within LoadGen, and setup LoadBots to handle the execution of these scripts. LoadGen allows you to manage LoadBots to create remote [...]]]></description>
			<content:encoded><![CDATA[<p>Our partner Denamik has released a new version of Denamik LoadGen. The execution of massive load and stress tests is now easier than before. You can now record your own user action scripts from within LoadGen, and setup LoadBots to handle the execution of these scripts. LoadGen allows you to manage LoadBots to create remote sessions and evaluate your IT environment under stress. A built-in reporting facility will give you instant results.</p>
<p>What is new in LoadGen 2.3:</p>
<ul>
<li>Rewrite of installation and activation of LoadBots</li>
<li>Rewrite of internal functions of the DUAF language to speed up interaction with XenApp desktops</li>
<li>Introducing the possibilities to add your own libraries to DUAF scripts</li>
</ul>
<p>Feel free to check out <a  href="http://www.denamik.com/denamik-software.html">Denamik LoadGen 2.3</a>, it’s free up to 15 virtual users.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.peppercrew.nl/index.php/2012/02/our-partner-denamik-has-released-denamik-loadgen-2-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Remote desktop to XenServer VM via PowerShell</title>
		<link>http://www.peppercrew.nl/index.php/2012/02/remote-desktop-to-xenserver-vm-via-powershell/</link>
		<comments>http://www.peppercrew.nl/index.php/2012/02/remote-desktop-to-xenserver-vm-via-powershell/#comments</comments>
		<pubDate>Tue, 14 Feb 2012 12:30:00 +0000</pubDate>
		<dc:creator>Ingmar Verheij</dc:creator>
				<category><![CDATA[Ingmar Verheij]]></category>
		<category><![CDATA[Citrix]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[RDP]]></category>
		<category><![CDATA[XenServer]]></category>

		<guid isPermaLink="false">http://www.peppercrew.nl/index.php/2012/02/remote-desktop-to-xenserver-vm-via-powershell/</guid>
		<description><![CDATA[Author : Ingmar Verheij Recently I wrote a PowerShell script that connects to the console of a virtual machine on a Citrix XenServer, without using XenCenter or the Web Self Service portal. This allowed me to offer a published application to my users so they can connect to the console session. But what if they [...]]]></description>
			<content:encoded><![CDATA[<p>Author : <a  href="http://www.ingmarverheij.com/" target="_blank">Ingmar Verheij</a></p>
<p>Recently I wrote a <a  href="http://www.ingmarverheij.com/2012/02/connect-to-vm-without-xencenter/" target="_blank">PowerShell script</a> that connects to the console of a virtual machine on a Citrix XenServer, without using XenCenter or the Web Self Service portal. This allowed me to offer a published application to my users so they can connect to the console session. But what if they want to connect via a Remote Desktop Connection (RDP)? </p>
<p>I’ve written a PowerShell script that looks up the IP address of the VM and connects via RDP.</p>
<p><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/Web-Interface.png" class="thickbox no_icon" rel="gallery-3788" title=""><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="" border="0" alt="" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/Web-Interface_thumb.png" width="504" height="132" /></a></p>
<p><span id="more-3788"></span><br />
<h4>IP address</h4>
<p>If I want my users to connect to the virtual machine via a Remote Desktop Connection (RDP) I need to know the IP address. XenCenter shows the IP address of the virtual machine when the XenServer Tools are installed, so the information is available.</p>
<p><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/XenCenter-Server01.png" class="thickbox no_icon" rel="gallery-3788" title=""><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="" border="0" alt="" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/XenCenter-Server01_thumb.png" width="504" height="124" /></a></p>
<h4>&#160;</h4>
<h4>Query XenServer</h4>
<p>Before I can setup a connection for the user to the virtual via Remote Desktop Connection (RDP) I need to query the XenServer for the IP address of the virtual machine.&#160; To query the XenServer I’m using plink (a component of the <a  href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html" target="_blank">PuTTY</a> suite) to setup a SSH connection to the specified XenServer, there’s no need to install XenCetner.</p>
<p>Unfortunately the <a  href="http://docs.vmd.citrix.com/XenServer/6.0.0/1.0/en_gb/reference.html#id899059" target="_blank">xe CLI command</a> only shows the IP adresses of all available networks.</p>
<div class="dean_ch" style="white-space: wrap;"><span class="br0">&#91;</span>root@XenServer ~<span class="br0">&#93;</span><span class="re3"># xe vm-list name-<span class="re2">label=</span></span><span class="st0">&quot;SERVER01&quot;</span> other-config:XenCenter.CustomFields.<span class="re2">STUDENT=</span><span class="nu0">1</span> os-version:<span class="re2">distro=</span><span class="st0">&quot;windows&quot;</span> <span class="re2">params=</span>networks &#8211;minimal<br />
<span class="nu0">0</span>/ip: <span class="nu0">192.168</span><span class="nu0">.0</span><span class="nu0">.50</span></div>
<p>This means that if the machine has multiple networks, the output would look like this</p>
<div class="dean_ch" style="white-space: wrap;"><span class="br0">&#91;</span>root@XenServer ~<span class="br0">&#93;</span><span class="re3"># xe vm-list name-<span class="re2">label=</span></span><span class="st0">&quot;SERVER01&quot;</span> other-config:XenCenter.CustomFields.<span class="re2">STUDENT=</span><span class="nu0">1</span> os-version:<span class="re2">distro=</span><span class="st0">&quot;windows&quot;</span> <span class="re2">params=</span>networks &#8211;minimal<br />
<span class="nu0">1</span>/ip: <span class="nu0">192.168</span><span class="nu0">.1</span><span class="nu0">.1</span>; <span class="nu0">0</span>/ip: <span class="nu0">192.168</span><span class="nu0">.0</span><span class="nu0">.50</span></div>
<p>So before I can setup the connection I need to know which network interface where looking for and extract the IP address.</p>
<div class="dean_ch" style="white-space: wrap;">$VirtualMachineNetworkID=0 (argument of the script)<br />
$strNICInterface=($VirtualMachineNetworkID)+&#8217;/ip: &#8216;</p>
<p>&nbsp; &nbsp;#Determine the IP address of the NIC can be found<br />
&nbsp; &nbsp;foreach ($strVMNetwork in $VMNetworks.Split(&quot;;&quot;)) {<br />
&nbsp; &nbsp; &nbsp; if ($strVMNetwork.Contains($strNICInterface)) {<br />
&nbsp; &nbsp; &nbsp;$strVMIPaddress=$strVMNetwork.Substring($strVMNetwork.IndexOf($strNICInterface) + $strNICInterface.Length)<br />
&nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp;}</div>
<p>bla</p>
<h4>Remote Desktop Connection</h4>
<p>Setting up a connection via the Remote Desktop Connection is very easy. Just call<em> %windir%\system32\mstsc.exe</em> with the <em>/v:&lt;hostname&gt;</em> parameter. The <em>/f</em> parameter starts the session fullscreen.</p>
<pre>%windir%\system32\mstsc.exe /v:192.168.0.50 /f</pre>
<h4>&#160;</h4>
<h4>PowerShell script</h4>
<p>I’ve written a small PowerShell script that connects to a Citrix XenServer, queries the IP address of the virtual machine and then sets up a connection via a Remote Desktop Connection (RDP). This way I don’t have to know the IP address of the virtual machine, just the name of the VM and optionally the value of a custom field.</p>
<p>Download : <a  class="downloadlink" href="http://www.peppercrew.nl/wp-content/plugins/download-monitor/download.php?id=RDPXSConnect.zip" title="Version1.0 downloaded 0 times">RDPXSConnect.ps1 (0)</a></p>
<h4>&#160;</h4>
<h4>Usage</h4>
<pre><strong>Usage</strong>
powershell.exe .\RDPXSConnect.ps1 (XenServerPoolMaster) (XenServerUsername) (XenServerPassword) (VMName) (Network ID) [CustomFieldName] [CustomFieldValue]

<strong>Example</strong>
powershell.exe .\RDPXSConnect.ps1 172.16.1.1 root Passw0rd WS01 0 STUDENT 1</pre>
<p>The script requires 5 arguments and has 2 optional arguments</p>
<p>XenServerPoolMaster: The IP/FQDN of the XenServer (pool master) host</p>
<p>XenServerUsername: The username to connect to the XenServer</p>
<p>XenServerPassword: The password to connect to the XenServer</p>
<p>VMName: The name of the virtual machine</p>
<p>Network ID : The ID of the network interface</p>
<p>CustomFieldName (optional): The name of a custom field</p>
<p>CustomFieldValue (optional): The value of the custom field</p>
<p>The custom field can be used to uniquely identify a virtual machine if the name of the machine is reused. In my environment I cloned the virtual machine ‘SERVER01’ multiple times and added a CustomField ‘STUDENT’. For each student a virtual machine is published.</p>
<p><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/WS01-Properties_2012-02-02_11-38-161.png" class="thickbox no_icon" rel="gallery-3788" title=""><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="" border="0" alt="" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/WS01-Properties_2012-02-02_11-38-16_thumb1.png" width="504" height="340" /></a></p>
<p>&#160;</p>
<h4>Additional downloads (required)</h4>
<ul>
<li><a  href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html">plink</a> (part of PuTTY suite) </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.peppercrew.nl/index.php/2012/02/remote-desktop-to-xenserver-vm-via-powershell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Script to Get Computer OU</title>
		<link>http://www.peppercrew.nl/index.php/2012/02/script-to-get-computer-ou/</link>
		<comments>http://www.peppercrew.nl/index.php/2012/02/script-to-get-computer-ou/#comments</comments>
		<pubDate>Tue, 14 Feb 2012 10:21:22 +0000</pubDate>
		<dc:creator>Remko</dc:creator>
				<category><![CDATA[Remko Weijnen]]></category>
		<category><![CDATA[Active directory]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[vbs]]></category>

		<guid isPermaLink="false">http://www.peppercrew.nl/index.php/2012/02/script-to-get-computer-ou/</guid>
		<description><![CDATA[Just some quick code to get the OU Name of the computer we run the script on. VBS: Function GetComputerOU &#160; Dim objSysInfo: Set objSysInfo = CreateObject(&#34;ADSystemInfo&#34;) &#160; Dim objComputer: Set objComputer = GetObject(&#34;LDAP://&#34; &#38;amp; objSysInfo.ComputerName) &#160; Dim objOU : Set objOU = GetObject(objComputer.Parent) &#160; GetComputerOU = objOU.OU End Function Wscript.Echo GetComputerOU PowerShell: function GetComputerOU [...]]]></description>
			<content:encoded><![CDATA[<p>Just some quick code to get the OU Name of the computer we run the script on.</p>
<p>VBS:</p>
<div class="dean_ch" style="white-space: wrap;">Function GetComputerOU<br />
&nbsp; Dim objSysInfo: Set objSysInfo = CreateObject(&quot;ADSystemInfo&quot;)<br />
&nbsp; Dim objComputer: Set objComputer = GetObject(&quot;LDAP://&quot; &amp;amp; objSysInfo.ComputerName)<br />
&nbsp; Dim objOU : Set objOU = GetObject(objComputer.Parent)<br />
&nbsp; GetComputerOU = objOU.OU<br />
End Function</p>
<p>Wscript.Echo GetComputerOU</p></div>
<p>PowerShell: </p>
<div class="dean_ch" style="white-space: wrap;">function GetComputerOU<br />
{<br />
&nbsp; $SysInfo = New-Object -ComObject &quot;ADSystemInfo&quot;<br />
&nbsp; $Computer = [ADSI](&quot;LDAP://{0}&quot; -f $SysInfo.GetType().InvokeMember(&quot;ComputerName&quot;, [System.Reflection.BindingFlags]::GetProperty, $null, $SysInfo, $null))<br />
&nbsp; return ([ADSI]$Computer.Parent).OU<br />
}&nbsp;</p>
<p>GetComputerOU</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.peppercrew.nl/index.php/2012/02/script-to-get-computer-ou/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scripting Citrix Online Plugin Settings</title>
		<link>http://www.peppercrew.nl/index.php/2012/02/scripting-citrix-online-plugin-settings/</link>
		<comments>http://www.peppercrew.nl/index.php/2012/02/scripting-citrix-online-plugin-settings/#comments</comments>
		<pubDate>Mon, 13 Feb 2012 15:22:05 +0000</pubDate>
		<dc:creator>Remko</dc:creator>
				<category><![CDATA[Remko Weijnen]]></category>
		<category><![CDATA[Citrix]]></category>
		<category><![CDATA[PowerShell]]></category>

		<guid isPermaLink="false">http://www.peppercrew.nl/?p=3776</guid>
		<description><![CDATA[The Citrix Online Plugin has a number of settings that can be changed. This includes things as Window Size and Color Depth: In my case I wanted to preset the Window size to Full Screen so using Process Monitor I checked where the Online Plugin writes this setting. I Used a Filter that includes only [...]]]></description>
			<content:encoded><![CDATA[<p>The Citrix Online Plugin has a number of settings that can be changed. This includes things as Window Size and Color Depth:</p>
<p><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/SNAGHTML84f9096.png" class="thickbox no_icon" rel="gallery-3776" title="Options - Citrix online plug-in"><img style="display: inline;" title="Options - Citrix online plug-in" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/SNAGHTML84f9096_thumb.png" alt="Session Options | Window size | Default | Full Screen | Requested Color Quality" width="415" height="280" /></a></p>
<p>In my case I wanted to preset the Window size to Full Screen so using Process Monitor I checked where the Online Plugin writes this setting. I Used a Filter that includes only the Online Plugin (PNAMain.exe) and the RegSetValue Operation:</p>
<p><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/SNAGHTML8593f5c.png" class="thickbox no_icon" rel="gallery-3776" title="Process Monitor Filter"><img style="display: inline;" title="Process Monitor Filter" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/SNAGHTML8593f5c_thumb.png" alt="Filter on Process Name is PNAMain.exe | Operation is RegSetValue" width="415" height="259" /></a></p>
<p><span id="more-3776"></span>This yielded only few results:</p>
<p><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/SNAGHTML85ab4c9.png" class="thickbox no_icon" rel="gallery-3776" title="Process Monitor"><img style="display: inline;" title="Process Monitor" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/SNAGHTML85ab4c9_thumb.png" alt="RegSetValue Results" width="415" height="106" /></a></p>
<p>I changed the setting back and compared the registry, that made clear that the settings was written to &#8220;Configuration Model 000&#8243;.</p>
<p>Unfortunately the key is a REG_BINARY and I don&#8217;t like blindly importing this key into other systems since we have no idea what else we are importing.</p>
<p>However when editing the value in Regedit we see that the data looks like XML:</p>
<p><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/SNAGHTML861137c.png" class="thickbox no_icon" rel="gallery-3776" title="Regedit"><img style="display: inline;" title="Regedit" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/SNAGHTML861137c_thumb.png" alt="Edit Binary Value" width="257" height="224" /></a></p>
<p>I wrote a small PowerShell script to read this data into a string:</p>
<div class="dean_ch" style="white-space: wrap;"># Open Registry<br />
$reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey(&quot;CurrentUser&quot;, [String]::Empty)</p>
<p># Read our Key (with write access)<br />
$key = $Reg.OpenSubKey(&quot;Software\Citrix\PNAgent&quot;, $true)</p>
<p># Copy the Bytes to a String<br />
$encode = New-Object System.Text.ASCIIEncoding<br />
$rawData = $Encode.GetString($Bytes)</div>
<p>However the string is hard to read because it&#8217;s not formatted and indented so I tried to cast it to an XML Object but this errors because there is no Root element and because some element names have a space.</p>
<p>So let&#8217;s fix this:</p>
<div class="dean_ch" style="white-space: wrap;"># Replace spaces in element names with underscores<br />
$data = $rawData | Foreach-Object {<br />
&nbsp; &nbsp; [regex]::replace($_,&#8217;&lt;([^&gt;]+)&gt;&#8217;,{$args[0] -replace &#8216; &#8216;,&#8217;_'})<br />
}</p>
<p># Add dummy Root element<br />
$data = &quot;$data&quot;</div>
<p>And now we can load the data into an XML Object:</p>
<p>&nbsp;</p>
<div class="dean_ch" style="white-space: wrap;"># Load the data into XML Object<br />
$xml = New-Object Xml.XmlDocument<br />
$xml.LoadXml($data)</div>
<p>And finally we have readable data:</p>
<p>&nbsp;</p>
<div class="dean_ch" style="white-space: wrap;"><span class="sc3"><span class="re1">&lt;root<span class="re2">&gt;</span></span></span><br />
&nbsp; <span class="sc3"><span class="re1">&lt;User_Blob<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Item<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Key<span class="re2">&gt;</span></span></span>DesktopDisplayEnabled<span class="sc3"><span class="re1">&lt;/Key<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Value<span class="re2">&gt;</span></span></span>false<span class="sc3"><span class="re1">&lt;/Value<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Item<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Item<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Key<span class="re2">&gt;</span></span></span>DesktopName<span class="sc3"><span class="re1">&lt;/Key<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Value<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Value<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Item<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Item<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Key<span class="re2">&gt;</span></span></span>LogonMethod<span class="sc3"><span class="re1">&lt;/Key<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Value<span class="re2">&gt;</span></span></span>prompt<span class="sc3"><span class="re1">&lt;/Value<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Item<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Item<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Key<span class="re2">&gt;</span></span></span>ServerURLEntered<span class="sc3"><span class="re1">&lt;/Key<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Value<span class="re2">&gt;</span></span></span>http://ctx.contoso.com/Citrix/PNAgent/config.xml<span class="sc3"><span class="re1">&lt;/Value<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Item<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Item<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Key<span class="re2">&gt;</span></span></span>ServerURLListUsers<span class="sc3"><span class="re1">&lt;/Key<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Value<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;LSOption<span class="re2">&gt;</span></span></span>http://ctx.contoso.com/Citrix/PNAgent/config.xml<span class="sc3"><span class="re1">&lt;/LSOption<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;LSOption<span class="re2">&gt;</span></span></span>http://ctx.contose.com/Citrix/PNAgent/config.xml<span class="sc3"><span class="re1">&lt;/LSOption<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Value<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Item<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Item<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Key<span class="re2">&gt;</span></span></span>StartMenuDisplayEnabled<span class="sc3"><span class="re1">&lt;/Key<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Value<span class="re2">&gt;</span></span></span>true<span class="sc3"><span class="re1">&lt;/Value<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Item<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Item<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Key<span class="re2">&gt;</span></span></span>StartMenuRoot<span class="sc3"><span class="re1">&lt;/Key<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Value<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Value<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Item<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Item<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Key<span class="re2">&gt;</span></span></span>StartMenuDisplayRootFolder<span class="sc3"><span class="re1">&lt;/Key<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Value<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Value<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Item<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Item<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Key<span class="re2">&gt;</span></span></span>SystemTrayDisplayEnabled<span class="sc3"><span class="re1">&lt;/Key<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Value<span class="re2">&gt;</span></span></span>true<span class="sc3"><span class="re1">&lt;/Value<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Item<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Item<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Key<span class="re2">&gt;</span></span></span>UserDisplayDimensions<span class="sc3"><span class="re1">&lt;/Key<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Value<span class="re2">&gt;</span></span></span>fullscreen<span class="sc3"><span class="re1">&lt;/Value<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Item<span class="re2">&gt;</span></span></span><br />
&nbsp; <span class="sc3"><span class="re1">&lt;/User_Blob<span class="re2">&gt;</span></span></span><br />
&nbsp; <span class="sc3"><span class="re1">&lt;Primary_Server_Blob<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Item<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Key<span class="re2">&gt;</span></span></span>DesktopName<span class="sc3"><span class="re1">&lt;/Key<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Value<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Value<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Item<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Item<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Key<span class="re2">&gt;</span></span></span>DesktopNameModifiable<span class="sc3"><span class="re1">&lt;/Key<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Value<span class="re2">&gt;</span></span></span>true<span class="sc3"><span class="re1">&lt;/Value<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Item<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Item<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Key<span class="re2">&gt;</span></span></span>ServerIndex<span class="sc3"><span class="re1">&lt;/Key<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Value<span class="re2">&gt;</span></span></span>0<span class="sc3"><span class="re1">&lt;/Value<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Item<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Item<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Key<span class="re2">&gt;</span></span></span>ServerURL<span class="sc3"><span class="re1">&lt;/Key<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Value<span class="re2">&gt;</span></span></span>http://ctx.contoso.com/Citrix/PNAgent/config.xml<span class="sc3"><span class="re1">&lt;/Value<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Item<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Item<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Key<span class="re2">&gt;</span></span></span>ServerURLModifiable<span class="sc3"><span class="re1">&lt;/Key<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Value<span class="re2">&gt;</span></span></span>true<span class="sc3"><span class="re1">&lt;/Value<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Item<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Item<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Key<span class="re2">&gt;</span></span></span>ServerURLListBackup<span class="sc3"><span class="re1">&lt;/Key<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Value<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Value<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Item<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Item<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Key<span class="re2">&gt;</span></span></span>StartMenuDisplayRootFolder<span class="sc3"><span class="re1">&lt;/Key<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Value<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Value<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Item<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Item<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Key<span class="re2">&gt;</span></span></span>StartMenuRootFolderModifiable<span class="sc3"><span class="re1">&lt;/Key<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;Value<span class="re2">&gt;</span></span></span>true<span class="sc3"><span class="re1">&lt;/Value<span class="re2">&gt;</span></span></span><br />
&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/Item<span class="re2">&gt;</span></span></span><br />
&nbsp; <span class="sc3"><span class="re1">&lt;/Primary_Server_Blob<span class="re2">&gt;</span></span></span><br />
<span class="sc3"><span class="re1">&lt;/root<span class="re2">&gt;</span></span></span></div>
<p>To change an item we can use the following code:</p>
<p>&nbsp;</p>
<div class="dean_ch" style="white-space: wrap;"># Let&#8217;s make a change&#8230;<br />
($xml.root.User_Blob.Item | Where-Object { $_.Key -eq &#8216;DesktopDisplayEnabled&#8217; }).Value = $true.ToString()</div>
<p>To change the Window Size from Default to Full Screen I needed to add an Item with Key UserDisplayDimensions and Value &#8220;fullscreen&#8221;. This can be done like this:</p>
<p>&nbsp;</p>
<div class="dean_ch" style="white-space: wrap;">$item = $xml.CreateElement(&quot;Item&quot;)<br />
$itemKey = $xml.CreateElement(&quot;Key&quot;)<br />
$itemKey.AppendChild($xml.CreateTextNode(&quot;UserDisplayDimensions&quot;))<br />
$item.AppendChild($itemKey)</p>
<p>$itemValue = $xml.CreateElement(&quot;Value&quot;)<br />
$itemValue.AppendChild($xml.CreateTextNode(&quot;fullscreen&quot;))<br />
$item.AppendChild($itemValue)<br />
$xml.root.User_Blob.AppendChild($item)</div>
<p>Before we can write the new data to the registry we need to get rid of the dummy root node and replace the underscores in the element names with a space again:</p>
<p>&nbsp;</p>
<div class="dean_ch" style="white-space: wrap;"># Loose the dummy root elemented we&#8217;ve added<br />
$data = $xml.root.InnerXml</p>
<p># Replace the underscores with backspaces<br />
$rawData = $data | Foreach-Object {<br />
&nbsp; &nbsp; [regex]::replace($_,&#8217;&lt;([^&gt;]+)&gt;&#8217;,{$args[0] -replace &#8216;_&#8217;,&#8217; &#8216;})<br />
}</div>
<p>And the final step, write it back to the registry:</p>
<p>&nbsp;</p>
<div class="dean_ch" style="white-space: wrap;"># Copy the String to a Byte Array<br />
$bytesOut = $encode.GetBytes($rawData)</p>
<p># Write the Byte Array to the Registry<br />
$key.SetValue(&quot;Configuration Model 000&quot;, $bytesOut)</div>
]]></content:encoded>
			<wfw:commentRss>http://www.peppercrew.nl/index.php/2012/02/scripting-citrix-online-plugin-settings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hibernation fails in Windows 7</title>
		<link>http://www.peppercrew.nl/index.php/2012/02/hibernation-fails-in-windows-7/</link>
		<comments>http://www.peppercrew.nl/index.php/2012/02/hibernation-fails-in-windows-7/#comments</comments>
		<pubDate>Fri, 10 Feb 2012 21:48:00 +0000</pubDate>
		<dc:creator>Remko</dc:creator>
				<category><![CDATA[Remko Weijnen]]></category>
		<category><![CDATA[Hibernation]]></category>
		<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://www.peppercrew.nl/index.php/2012/02/hibernation-fails-in-windows-7/</guid>
		<description><![CDATA[A while ago my Windows 7 laptop suddenly refused to go into Hibernation. The strange thing was that the whole process of saving memory to the hibernate file seemed to work correctly. The screen would go black and there was lots of disk activity. Then after the disk activity finished the system would return to [...]]]></description>
			<content:encoded><![CDATA[<p><img style="display: inline; float: right" align="right" src="http://4.bp.blogspot.com/_xZlqc9CDR-Q/TTmOZOl7OSI/AAAAAAAAADU/0N5ruIdeUcg/s1600/hibernate.gif" width="94" height="89" />A while ago my Windows 7 laptop suddenly refused to go into Hibernation. The strange thing was that the whole process of saving memory to the hibernate file seemed to work correctly. The screen would go black and there was lots of disk activity. Then after the disk activity finished the system would return to the logon screen.</p>
<p>A Google on this issue learned that the most likely cause was a driver preventing the system from going into hibernation. Using the cmdline “<em>powercfg -DEVICEQUERY wake_armed</em>” we can check if there are any devices that can wake the system. Another useful parameter is <em>–ENERGY</em> which generates an html report file.</p>
<p>But in my case this lead to nothing.</p>
<p><span id="more-3767"></span>
<p>I even uninstalled all recently added Windows Updates but again no success. So I was at the point that I thought of reinstalling Windows when I read <a  href="http://helgeklein.com/blog/2012/02/how-to-speed-up-your-windows-7-boot-time-by-20/" target="_blank">Helge Klein’s blog post</a> about removing the graphical animation that is shown at startup.</p>
<p>But when I tried to edit the Boot Configuration I got the following error: “<em>The boot configuration data store could not be opened.</em>”</p>
<p><a  href="http://www.peppercrew.nl/wp-content/uploads/2012/02/image.png" class="thickbox no_icon" rel="gallery-3767" title="bcdedit"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="bcdedit" border="0" alt="The boot configuration data store could not be opened | The system cannot find the file specified" src="http://www.peppercrew.nl/wp-content/uploads/2012/02/image_thumb.png" width="419" height="58" /></a></p>
<p>I checked the contents of the C:\Boot directory and to my surprise the whole directory was empty!</p>
<p>It seemed logical that this was the cause of my hibernation issue since some data is written to the bootloader at the end of the hibernation process so that it knows it has to resume on next boot.</p>
<p>It was unclear though how Windows managed to boot into the OS without a working bootloader. So I opened Disk Management and I noticed that instead of my OS partition, the OEM Dell partition was marked as active.</p>
<p>I set my OS partition to active, booted from the Windows 7 Install DVD and selected Repair.</p>
<p>From the Recovery Console I used <a  href="http://support.microsoft.com/kb/927392" target="_blank">BootRec /RebuildBcd</a> to rebuild the Boot Configuration Datastore and now Hibernation was working again!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.peppercrew.nl/index.php/2012/02/hibernation-fails-in-windows-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

