<?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>Kraft Kennedy &#124; Technology Blog &#187; Infrastructure</title>
	<atom:link href="http://blogs.kraftkennedy.com/index.php/category/infrastructure/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.kraftkennedy.com</link>
	<description>Trends and insight into legal technology, infrastructure and strategic thinking.</description>
	<lastBuildDate>Tue, 31 Jan 2012 14:24:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>A risk of using cloud services</title>
		<link>http://blogs.kraftkennedy.com/index.php/2012/01/20/the-risk-of-using-cloud-services/</link>
		<comments>http://blogs.kraftkennedy.com/index.php/2012/01/20/the-risk-of-using-cloud-services/#comments</comments>
		<pubDate>Fri, 20 Jan 2012 16:24:31 +0000</pubDate>
		<dc:creator>Marcus Bluestein</dc:creator>
				<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Information Security]]></category>
		<category><![CDATA[Infrastructure]]></category>

		<guid isPermaLink="false">http://blogs.kraftkennedy.com/?p=4209</guid>
		<description><![CDATA[Yesterday there was a significant event impacting a large “cloud” service provider.  An Internet file sharing service known as MegaUpload was seized by the government.  All of its assets (including data) were taken by the government and the site is no longer available.  You can read more about this here: http://bit.ly/xuj2eS.  MegaUpload offers a service [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday there was a significant event impacting a large “cloud” service provider.  An Internet file sharing service known as MegaUpload was seized by the government.  All of its assets (including data) were taken by the government and the site is no longer available.  You can read more about this here: <a href="http://bit.ly/xuj2eS">http://bit.ly/xuj2eS</a>.  MegaUpload offers a service similar to DropBox and other file sharing services, allowing users to upload and share files with one another.</p>
<p>&nbsp;</p>
<p>While the details of this specific seizure are clear, this event should serve as a reminder of one of the risks associated with cloud/SaaS/Hosted providers. If the government targets a service that your firm uses, all of the data you store could disappear in an instant.  Possible services include file sharing services, firm website hosting services, online backup systems and even nfrastructure as a service firms.   When evaluating the cloud these concerns should be taken into consideration and understood.  Your firm might not be doing anything wrong, but could suffer greatly if someone else is and the government decides to intervene.</p>
<table border=0><tr><td width="215">
<!-- Start WP Socializer - Social Buttons - Output -->
<div class="wp-socializer 16px">
<ul class="wp-socializer-none columns-no">
 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 
</ul> 
<div class="wp-socializer-clearer"></div></div>
<!-- End WP Socializer - Social Buttons - Output -->
</td><td>
<!-- Start WP Socializer Plugin - Retweet Button -->
<script type="text/javascript">
<!--
tweetmeme_url = "http://blogs.kraftkennedy.com/index.php/2012/01/20/the-risk-of-using-cloud-services/"; tweetmeme_style = "compact"; tweetmeme_source = "kraftkennedy"; 

--></script>
<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script>
<!-- End WP Socializer Plugin - Retweet Button -->
</td></tr></table>]]></content:encoded>
			<wfw:commentRss>http://blogs.kraftkennedy.com/index.php/2012/01/20/the-risk-of-using-cloud-services/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Priority Message Notification in iOS Devices</title>
		<link>http://blogs.kraftkennedy.com/index.php/2012/01/17/priority-message-notification-in-ios-devices/</link>
		<comments>http://blogs.kraftkennedy.com/index.php/2012/01/17/priority-message-notification-in-ios-devices/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 16:04:04 +0000</pubDate>
		<dc:creator>Dominick Ciacciarelli</dc:creator>
				<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[Support Services]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Messaging]]></category>

		<guid isPermaLink="false">http://blogs.kraftkennedy.com/?p=4090</guid>
		<description><![CDATA[One of the shortcomings of Apple&#8217;s iOS devices (as of iOS 5.0.1) is the inability to recognize message priority flags.  So if a user with an iPhone receives a message that has been sent with high priority, there is no native feature in the iOS operating system that will alert the recipient to the fact that they have such a [...]]]></description>
			<content:encoded><![CDATA[<p>One of the shortcomings of Apple&#8217;s iOS devices (as of iOS 5.0.1) is the inability to recognize message priority flags.  So if a user with an iPhone receives a message that has been sent with high priority, there is no native feature in the iOS operating system that will alert the recipient to the fact that they have such a message.  However, for iOS users who utilize Microsoft Exchange for their corporate email, there is a way to bring special attention to messages sent with high priority via SMS.</p>
<p>The first step is to create a contact that will serve as the recipient for the SMS message.  You will need to consult the settings for your particular carrier to find the format for this address.  For AT&amp;T users, the format will be [10-digit phone number]@txt.att.net.  Once the contact is created, create an email rule similar to the one below:<br />
<span id="more-4090"></span><br />
<a href="http://blogs.kraftkennedy.com/wp-content/uploads/2012/01/High-Importance-Rule.png"><img class="alignnone size-medium wp-image-4092" src="http://blogs.kraftkennedy.com/wp-content/uploads/2012/01/High-Importance-Rule-300x235.png" alt="" width="300" height="235" /></a></p>
<p>This rule will tell Exchange to forward any message marked as &#8220;High Importance&#8221; to the contact that was created for the SMS address. While the above view is from a Windows Outlook client, the same can be accomplished through OWA, or in Entourage or Outlook 2011 for Mac.</p>
<p>Within a few minutes (depending on your reception and your carrier), you will receive a text version of the email message that was marked with high importance.  Because of the inherent 160 character limitation of SMS messaging, it is unlikely that you will be able to read the entire message, however the SMS message will alert you to the fact that you have a priority email and you can then read it in the native iOS email client. Keep in mind, the source of the text message may vary based upon your carrier. Here is how the text message may appear on an AT&amp;T connected device. Note the highlighted portion of the text.</p>
<p><a href="http://blogs.kraftkennedy.com/wp-content/uploads/2012/01/Priority-SMS.png"><img class="alignnone  wp-image-4115" src="http://blogs.kraftkennedy.com/wp-content/uploads/2012/01/Priority-SMS-199x300.png" alt="" width="199" height="300" /></a></p>
<p>One thing to be careful of&#8230; Normal text messaging rates will apply, so if you receive a large number of priority messages, and do not have an unlimited messaging plan, this could get expensive very quickly.  You can lower the number of messages that get forwarded by tweaking the rule to filter for certain senders, but its always a good idea to be aware of your SMS plan.</p>
<p>&nbsp;</p>
<table border=0><tr><td width="215">
<!-- Start WP Socializer - Social Buttons - Output -->
<div class="wp-socializer 16px">
<ul class="wp-socializer-none columns-no">
 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 
</ul> 
<div class="wp-socializer-clearer"></div></div>
<!-- End WP Socializer - Social Buttons - Output -->
</td><td>
<!-- Start WP Socializer Plugin - Retweet Button -->
<script type="text/javascript">
<!--
tweetmeme_url = "http://blogs.kraftkennedy.com/index.php/2012/01/17/priority-message-notification-in-ios-devices/"; tweetmeme_style = "compact"; tweetmeme_source = "kraftkennedy"; 

--></script>
<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script>
<!-- End WP Socializer Plugin - Retweet Button -->
</td></tr></table>]]></content:encoded>
			<wfw:commentRss>http://blogs.kraftkennedy.com/index.php/2012/01/17/priority-message-notification-in-ios-devices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Monitoring RAM Cache Used w/ PowerShell</title>
		<link>http://blogs.kraftkennedy.com/index.php/2011/12/19/monitoring-ram-cache-used-w-powershell/</link>
		<comments>http://blogs.kraftkennedy.com/index.php/2011/12/19/monitoring-ram-cache-used-w-powershell/#comments</comments>
		<pubDate>Mon, 19 Dec 2011 20:25:30 +0000</pubDate>
		<dc:creator>Clinton Gates</dc:creator>
				<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[Citrix]]></category>
		<category><![CDATA[PVS]]></category>

		<guid isPermaLink="false">http://blogs.kraftkennedy.com/?p=3975</guid>
		<description><![CDATA[As we try to engineer the best available working environment for our end users, more and more clients have tried to store user cache in memory.  While this does provide the best performance, it also has it&#8217;s limitations discussed in this blog post by my colleague Jeff Silverman.  If you have the ability to store [...]]]></description>
			<content:encoded><![CDATA[<p>As we try to engineer the best available working environment for our end users, more and more clients have tried to store user cache in memory.  While this does provide the best performance, it also has it&#8217;s limitations discussed in <a href="http://blogs.kraftkennedy.com/index.php/2011/06/08/citrix-provisioning-server-understanding-the-limitations-of-write-cache-in-target-device-ram/">this blog post</a> by my colleague Jeff Silverman.  If you have the ability to store the user cache in memory it&#8217;s important to also monitor just how full that memory allotment is getting.  If it fills up, and Windows has no where to write user information, the system most likely end in a BSOD for the user.</p>
<p>Citrix provides a nice PowerShell command to query the RAM cache used via the MCLI PowerShell snap-in.  This snap-in (McliPSSnapIn.dll) comes standard with Provisioning Server Console install and is located in C:\Program Files\Citrix\Provisioning Services Console.  Before it can be added to PowerShell, the dll must be registered on any system wish to run the query from.</p>
<p>To register the dll on a 64-bit machine, run the following PowerShell command:</p>
<ul>
<li><strong>C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\InstallUtil.exe &#8216;C:\Program Files\Citrix\Provisioning Services Console\McliPSSnapIn.dll&#8217;</strong></li>
</ul>
<p>To add the snap-in to a PowerShell command prompt, run the following command:</p>
<ul>
<li><strong>Add-PSSnapin -Name McliPSSnapIn</strong></li>
</ul>
<p>Run the following command against a XenApp server to see how much RAM cache is used:</p>
<ul>
<li><strong>mcli-get deviceinfo -p devicename={servername} -f status</strong></li>
</ul>
<p>The second number returned in the status section is the percentage of the RAM Cache used.</p>
<p><a href="http://blogs.kraftkennedy.com/wp-content/uploads/2011/12/RAMCacheUsed.png"><img class="size-full wp-image-3986 alignnone" src="http://blogs.kraftkennedy.com/wp-content/uploads/2011/12/RAMCacheUsed.png" alt="" width="298" height="53" /></a></p>
<table border=0><tr><td width="215">
<!-- Start WP Socializer - Social Buttons - Output -->
<div class="wp-socializer 16px">
<ul class="wp-socializer-none columns-no">
 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 
</ul> 
<div class="wp-socializer-clearer"></div></div>
<!-- End WP Socializer - Social Buttons - Output -->
</td><td>
<!-- Start WP Socializer Plugin - Retweet Button -->
<script type="text/javascript">
<!--
tweetmeme_url = "http://blogs.kraftkennedy.com/index.php/2011/12/19/monitoring-ram-cache-used-w-powershell/"; tweetmeme_style = "compact"; tweetmeme_source = "kraftkennedy"; 

--></script>
<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script>
<!-- End WP Socializer Plugin - Retweet Button -->
</td></tr></table>]]></content:encoded>
			<wfw:commentRss>http://blogs.kraftkennedy.com/index.php/2011/12/19/monitoring-ram-cache-used-w-powershell/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Exchange 2010 SP2 Released!</title>
		<link>http://blogs.kraftkennedy.com/index.php/2011/12/05/exchange-2010-sp2-released/</link>
		<comments>http://blogs.kraftkennedy.com/index.php/2011/12/05/exchange-2010-sp2-released/#comments</comments>
		<pubDate>Mon, 05 Dec 2011 23:49:42 +0000</pubDate>
		<dc:creator>Joe Hoegler</dc:creator>
				<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[Exchange 2010]]></category>
		<category><![CDATA[Messaging]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://blogs.kraftkennedy.com/?p=3971</guid>
		<description><![CDATA[Today, Microsoft has released Service Pack 2 for Exchange 2010: http://blogs.technet.com/b/exchange/archive/2011/12/05/released-exchange-server-2010-sp2.aspx While there are a number of hotfixes and other items included, there is also some key new functionality being introduced as well: Cross-Site Silent Redirection for OWA – This is a tremendous improvement over current functionality where, if a firm leverages redirection between Client [...]]]></description>
			<content:encoded><![CDATA[<p>Today, Microsoft has released Service Pack 2 for Exchange 2010: <a href="http://blogs.technet.com/b/exchange/archive/2011/12/05/released-exchange-server-2010-sp2.aspx">http://blogs.technet.com/b/exchange/archive/2011/12/05/released-exchange-server-2010-sp2.aspx</a></p>
<p>While there are a number of hotfixes and other items included, there is also some key new functionality being introduced as well:</p>
<ol>
<li>Cross-Site Silent Redirection for OWA – This is a tremendous improvement over current functionality where, if a firm leverages redirection between Client Access Servers in different sites (the preferred approach for optimal performance and implementation flexibility), users are prompted with a link and second authentication prompt if they login to a CAS server in a different site than where their mailbox is currently hosted.  With this new functionality, Exchange can be configured silently to redirect users to the correct CAS server in this situation (without reauthentication or prompting).</li>
<li>Address Book Policies – Address Book Policies provide the long-awaited native functionality support for what is typically referred to as GAL segmentation.  Previously, if firms wanted selectively to exclude some users or contacts from the GAL for specific subsets of users, the firm would need to create and manage security ACLs directly within ADSI.  This was unsupported in Exchange 2003 and 2010 and only narrowly supported for Exchange 2007 (with Dave Goldman&#8217;s specific <a href="http://technet.microsoft.com/en-us/library/bb936719(EXCHG.80).aspx" target="_blank">whitepaper</a>).  Address Book Policies will provide an object and policy based method for providing this functionality.</li>
<li>OWA Mini – This will be a lightweight, text-only version of OWA targeted for use on mobile devices or in low bandwidth/resolution scenarios.</li>
<li>Hybrid Configuration Wizard – This wizard will significantly reduce the number of steps required to streamline the process for establishing rich coexistence between an on-premises Exchange 2010 environment and Office 365 (formerly BPOS).</li>
</ol>
<p>Due to the nature of the new features included, there is an Active Directory schema update required for SP2.</p>
<table border=0><tr><td width="215">
<!-- Start WP Socializer - Social Buttons - Output -->
<div class="wp-socializer 16px">
<ul class="wp-socializer-none columns-no">
 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 
</ul> 
<div class="wp-socializer-clearer"></div></div>
<!-- End WP Socializer - Social Buttons - Output -->
</td><td>
<!-- Start WP Socializer Plugin - Retweet Button -->
<script type="text/javascript">
<!--
tweetmeme_url = "http://blogs.kraftkennedy.com/index.php/2011/12/05/exchange-2010-sp2-released/"; tweetmeme_style = "compact"; tweetmeme_source = "kraftkennedy"; 

--></script>
<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script>
<!-- End WP Socializer Plugin - Retweet Button -->
</td></tr></table>]]></content:encoded>
			<wfw:commentRss>http://blogs.kraftkennedy.com/index.php/2011/12/05/exchange-2010-sp2-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exchange 2010 Supported on vSphere 5.0</title>
		<link>http://blogs.kraftkennedy.com/index.php/2011/12/02/exchange-2010-supported-on-vsphere-5-0/</link>
		<comments>http://blogs.kraftkennedy.com/index.php/2011/12/02/exchange-2010-supported-on-vsphere-5-0/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 19:55:01 +0000</pubDate>
		<dc:creator>Joe Hoegler</dc:creator>
				<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[Exchange 2010]]></category>
		<category><![CDATA[VMware]]></category>

		<guid isPermaLink="false">http://blogs.kraftkennedy.com/?p=3964</guid>
		<description><![CDATA[Recently, Microsoft added vSphere 5.0 as a supported hypervisor for Exchange 2010 to their Server Virtualization Validation Program support policy wizard.  Exchange 2010 RTM and SP1  are both listed as supported running on Windows 2008 RTM and Windows 2008 R2 on vSphere 5.0.  In addition, Exchange 2007 SP1, SP2 and SP3 are listed as supported on [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, Microsoft added vSphere 5.0 as a supported hypervisor for Exchange 2010 to their <a href="http://www.windowsservercatalog.com/svvp.aspx?svvppage=svvpwizard.htm" target="_blank">Server Virtualization Validation Program support policy wizard</a>.  Exchange 2010 RTM and SP1  are both listed as supported running on Windows 2008 RTM and Windows 2008 R2 on vSphere 5.0.  In addition, Exchange 2007 SP1, SP2 and SP3 are listed as supported on vSphere 5.0 as well but RTM is not.</p>
<p>Great news!</p>
<table border=0><tr><td width="215">
<!-- Start WP Socializer - Social Buttons - Output -->
<div class="wp-socializer 16px">
<ul class="wp-socializer-none columns-no">
 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 
</ul> 
<div class="wp-socializer-clearer"></div></div>
<!-- End WP Socializer - Social Buttons - Output -->
</td><td>
<!-- Start WP Socializer Plugin - Retweet Button -->
<script type="text/javascript">
<!--
tweetmeme_url = "http://blogs.kraftkennedy.com/index.php/2011/12/02/exchange-2010-supported-on-vsphere-5-0/"; tweetmeme_style = "compact"; tweetmeme_source = "kraftkennedy"; 

--></script>
<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script>
<!-- End WP Socializer Plugin - Retweet Button -->
</td></tr></table>]]></content:encoded>
			<wfw:commentRss>http://blogs.kraftkennedy.com/index.php/2011/12/02/exchange-2010-supported-on-vsphere-5-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Troubleshooting Exchange 2010 DAGs Across WANs</title>
		<link>http://blogs.kraftkennedy.com/index.php/2011/10/28/troubleshooting-exchange-2010-dags-across-wans/</link>
		<comments>http://blogs.kraftkennedy.com/index.php/2011/10/28/troubleshooting-exchange-2010-dags-across-wans/#comments</comments>
		<pubDate>Fri, 28 Oct 2011 19:21:55 +0000</pubDate>
		<dc:creator>Joe Hoegler</dc:creator>
				<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Exchange 2010]]></category>
		<category><![CDATA[Windows Failover Clustering]]></category>

		<guid isPermaLink="false">http://blogs.kraftkennedy.com/?p=3916</guid>
		<description><![CDATA[While most of our client deployments have gone quite smoothly from the perspective of stretching Exchange 2010 Database Availability Groups across multiple sites and WAN connectivities, I recently found myself troubleshooting an inconsistent issue at one client.  This environment&#8217;s topology was fairly straightforward, with two DAG members in one data center for local high availability [...]]]></description>
			<content:encoded><![CDATA[<p>While most of our client deployments have gone quite smoothly from the perspective of stretching Exchange 2010 Database Availability Groups across multiple sites and WAN connectivities, I recently found myself troubleshooting an inconsistent issue at one client.  This environment&#8217;s topology was fairly straightforward, with two DAG members in one data center for local high availability and one DAG member in an alternate data center for remote site resiliency.  Creating the DAG, adding members, and adding mailbox database copies all presented no issues during the initial deployment although we did need to resolve some issues with database copy replication across the WAN.</p>
<p>As we approached our anticipated IT pre-pilot for the new Exchange 2010 environment, we started to notice significant issues in DAG communications across the WAN.  Specifically, we saw the following issues fairly consistently although, at some times, everything worked just fine:</p>
<ul>
<li>From the primary data center, viewing the mailbox database and associated copy status from the Exchange Management Console listed mount states for some databases as &#8220;Unknown&#8221; and copy status for all remote database copies as &#8220;ServiceDown.&#8221;  Running Get-MailboxDatabaseCopyStatus against the DAG member(s) in the remote data center reflected the same results.  Databases in an &#8220;Unknown&#8221; mount state corresponded to cases where the database was activated in one data center and status was being queried across the WAN from the other data center.</li>
<li>Running &#8220;Get-DatabaseAvailabilityGroup -Status&#8221; would take an extremely long time to complete.</li>
<li>Occasionally, databases would be listed in a dismounted state and, upon attempting to mount, an error message stating &#8220;Automount consensus not reached&#8221; would be returned and the mount would fail.</li>
<li>Event logs on DAG members in both data centers would report sporadic occurrences of FailoverClustering events reporting that nodes in the repsective remote data center had been removed from cluster membership.</li>
<li>Test-ReplicationHealth against DAG members across the WAN to the remote data center reported failures for ActiveManager (&#8220;Active Manager is in an unknown state&#8221;) and TasksRpcListener (&#8220;An error occurred while communicating with the Microsoft Exchange Replication service to test the health of the Tasks RPC Listener&#8221;).</li>
</ul>
<p>The issue was clearly related to RPC requests traversing the WAN and having issues somewhere along the path from source to destination.  As a next step, I ran the &#8220;Validate a Configuration Wizard&#8221; for the DAG&#8217;s underlying Windows Failover Cluster and, sure enough, RPC errors were reported for queries that needed to cross the WAN to talk to cluster nodes not in the same data center as the node on which the wizard was run.  At this point, it was time to install Wireshark and run packet captures on either side of the WAN while executing Exchange actions or the cluster validation wizard to determine what was happening to the traffic.</p>
<p>Upon review of the packet captures, it was revealed that packets were being sent between DAG/cluster members that were larger than a standard 1500 byte packet and those packets were being fragmented in transit from source to destination.  Disabling various large TCP offload functionality of the NIC driver in use within the DAG/cluster members (vmxnet3 Ehternet Adapter) helped to bring the packet size down to 1500 bytes but the problems still occurred.  Running ping tests between the two data centers (ping -f -l &lt;packet_size&gt; hostname) revealed that the largest packet succeeding across the WAN was 1468 bytes.  Once the MTU of the NIC was reduced to match this value (via NETSH), everything began working perfectly.  The &#8220;Validate a Configuration Wizard&#8221; for the cluster completed without any unexpected warnings and all Exchange-related functionality was restored.</p>
<p>While disabling various functionality on the NIC and reducing the NIC&#8217;s MTU worked to solve the problem, it was certainly not ideal nor a long term solution for this environment.  Ultimately, determining where the issue lied in the WAN environment was key to identify how to resolve this issue without requiring non-standard configurations on various servers in the environment.  In working with the client&#8217;s networking team, it was understood that their particular WAN connectivity provided a Layer 2 Ethernet hand-off to each data center such that no router was in place on either side.  This explained why larger MTU packets were traversing the WAN and being fragmented in the process.  Coordination between the WAN provider and the remote data center&#8217;s networking team was required to determine where in the network path a device was unable to handle even a standard 1500 byte packet properly.</p>
<p>Ultimately, there were a few options for remediation at this client in the form of either obtaining jumbo frames support across their Layer 2 WAN or placing routers on either side of the WAN.  Both of these options would remove the requirement for non-standard configurations on the actual servers while still resolving the issue of communications between the data centers.</p>
<table border=0><tr><td width="215">
<!-- Start WP Socializer - Social Buttons - Output -->
<div class="wp-socializer 16px">
<ul class="wp-socializer-none columns-no">
 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 
</ul> 
<div class="wp-socializer-clearer"></div></div>
<!-- End WP Socializer - Social Buttons - Output -->
</td><td>
<!-- Start WP Socializer Plugin - Retweet Button -->
<script type="text/javascript">
<!--
tweetmeme_url = "http://blogs.kraftkennedy.com/index.php/2011/10/28/troubleshooting-exchange-2010-dags-across-wans/"; tweetmeme_style = "compact"; tweetmeme_source = "kraftkennedy"; 

--></script>
<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script>
<!-- End WP Socializer Plugin - Retweet Button -->
</td></tr></table>]]></content:encoded>
			<wfw:commentRss>http://blogs.kraftkennedy.com/index.php/2011/10/28/troubleshooting-exchange-2010-dags-across-wans/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Citrix Provisioning Server &#8211; Re-Enable MAK Activation</title>
		<link>http://blogs.kraftkennedy.com/index.php/2011/09/17/citrix-provisioning-server-re-enable-mak-activation/</link>
		<comments>http://blogs.kraftkennedy.com/index.php/2011/09/17/citrix-provisioning-server-re-enable-mak-activation/#comments</comments>
		<pubDate>Sat, 17 Sep 2011 16:33:46 +0000</pubDate>
		<dc:creator>Jeff Silverman</dc:creator>
				<category><![CDATA[Desktop Deployment]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[activation]]></category>
		<category><![CDATA[Citrix]]></category>
		<category><![CDATA[MAK]]></category>
		<category><![CDATA[Provisioning Server]]></category>

		<guid isPermaLink="false">http://blogs.kraftkennedy.com/?p=3834</guid>
		<description><![CDATA[Citrix Provisioning Server supports two methods of Windows volume activation – MAK and KMS.  I’ve found the latter to be the preferred approach, since when set up properly it requires little if any maintenance.  There are occasions, however, where you need to use MAK – perhaps it’s the only key you have available or your [...]]]></description>
			<content:encoded><![CDATA[<p>Citrix Provisioning Server supports two methods of Windows volume activation – MAK and KMS.  I’ve found the latter to be the preferred approach, since when set up properly it requires little if any maintenance.  There are occasions, however, where you need to use MAK – perhaps it’s the only key you have available or your implementation is smaller than KMS’s 25-computer activation threshold.  In these cases you’ll want to follow Citrix’s guidance for implementing MAK activation (MAKtivation) <a href="http://support.citrix.com/proddocs/topic/provisioning-56/pvs-collections-mac-license-manage.html">here</a>.  This post isn’t intended to cover those steps in detail.  Rather, it’s intended to cover the situation where you need to run MAK activation again after it’s been run successfully.  By design, the option to “Manage MAK Activations” disappears from the Provisioning Server console after it’s been run successfully, and this post describes how to get that option back.</p>
<p>First, let’s take a quick look at the MAKtivation process.<span id="more-3834"></span>  Before any target devices are activated, the following option is available in the Provisioning Server console:</p>
<ul><a href="http://blogs.kraftkennedy.com/wp-content/uploads/2011/09/image.png"><img style="border: 0px currentColor;padding-top: 0px;padding-right: 0px;padding-left: 0px" src="http://blogs.kraftkennedy.com/wp-content/uploads/2011/09/image_thumb.png" border="0" alt="image" width="530" height="240" /></a></ul>
<p>Selecting that option brings up the following dialogue:</p>
<ul> <a href="http://blogs.kraftkennedy.com/wp-content/uploads/2011/09/image1.png"><img style="border: 0px currentColor;padding-top: 0px;padding-right: 0px;padding-left: 0px" src="http://blogs.kraftkennedy.com/wp-content/uploads/2011/09/image_thumb1.png" border="0" alt="image" width="187" height="234" /></a></ul>
<p>Assuming you’ve installed <a href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;id=11936">Microsoft VAMT 2.0</a> on all Provisioning Servers, simply enter your MAK key, click OK, and you’re off to the (somewhat slow but effective) races.  When all target devices are activated you’ll receive the following confirmation, and your target devices should be free of any Windows activation warnings.</p>
<ul><a href="http://blogs.kraftkennedy.com/wp-content/uploads/2011/09/image2.png"><img style="border: 0px currentColor;padding-top: 0px;padding-right: 0px;padding-left: 0px" src="http://blogs.kraftkennedy.com/wp-content/uploads/2011/09/image_thumb2.png" border="0" alt="image" width="218" height="90" /></a></ul>
<p>You’ll also notice that the option to “Manage MAK Activations” no longer appears in the Provisioning Server console:</p>
<ul><a href="http://blogs.kraftkennedy.com/wp-content/uploads/2011/09/image3.png"><img style="border: 0px currentColor;padding-top: 0px;padding-right: 0px;padding-left: 0px" src="http://blogs.kraftkennedy.com/wp-content/uploads/2011/09/image_thumb3.png" border="0" alt="image" width="531" height="249" /></a></ul>
<p>This process worked well until I upgraded the VDA in my vDisk to support XenDesktop 5.5.  After rebooting, Windows reported that hardware had changed and that I needed to reactivate.  Unfortunately no one told Provisioning Server because the MAKtivation option was still gone, temporarily leaving me in unactivated and unable to reactivate purgatory.</p>
<p>Per <a href="http://support.citrix.com/proddocs/topic/provisioning-56/pvs-collections-mac-license-manage.html">Citrix’s guidance</a>, an automated vDisk update process must be followed in order to preserve MAKtivation.  Yeah&#8230; so we&#8217;re gonna have to go ahead and break that on purpose by manually disassociating the vDisk from the affected target devices:</p>
<ul><a href="http://blogs.kraftkennedy.com/wp-content/uploads/2011/09/image4.png"><img style="border: 0px currentColor;padding-top: 0px;padding-right: 0px;padding-left: 0px" src="http://blogs.kraftkennedy.com/wp-content/uploads/2011/09/image_thumb4.png" border="0" alt="image" width="531" height="196" /></a></ul>
<ul><a href="http://blogs.kraftkennedy.com/wp-content/uploads/2011/09/image5.png"><img style="border: 0px currentColor;padding-top: 0px;padding-right: 0px;padding-left: 0px" src="http://blogs.kraftkennedy.com/wp-content/uploads/2011/09/image_thumb5.png" border="0" alt="image" width="203" height="307" /></a></ul>
<p>Ensure your target devices are powered off and confirm that the vDisk associations are removed in the console:</p>
<ul><a href="http://blogs.kraftkennedy.com/wp-content/uploads/2011/09/image6.png"><img style="border: 0px currentColor;padding-top: 0px;padding-right: 0px;padding-left: 0px" src="http://blogs.kraftkennedy.com/wp-content/uploads/2011/09/image_thumb6.png" border="0" alt="image" width="529" height="172" /></a></ul>
<p>Once that’s done, manually reassociate the vDisk, boot your target devices, and *POOF* the MAKtivation option is back:</p>
<ul><a href="http://blogs.kraftkennedy.com/wp-content/uploads/2011/09/image7.png"><img style="margin: 0px;border: 0px currentColor;padding-top: 0px;padding-right: 0px;padding-left: 0px" src="http://blogs.kraftkennedy.com/wp-content/uploads/2011/09/image_thumb7.png" border="0" alt="image" width="530" height="240" /></a></ul>
<table border=0><tr><td width="215">
<!-- Start WP Socializer - Social Buttons - Output -->
<div class="wp-socializer 16px">
<ul class="wp-socializer-none columns-no">
 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 
</ul> 
<div class="wp-socializer-clearer"></div></div>
<!-- End WP Socializer - Social Buttons - Output -->
</td><td>
<!-- Start WP Socializer Plugin - Retweet Button -->
<script type="text/javascript">
<!--
tweetmeme_url = "http://blogs.kraftkennedy.com/index.php/2011/09/17/citrix-provisioning-server-re-enable-mak-activation/"; tweetmeme_style = "compact"; tweetmeme_source = "kraftkennedy"; 

--></script>
<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script>
<!-- End WP Socializer Plugin - Retweet Button -->
</td></tr></table>]]></content:encoded>
			<wfw:commentRss>http://blogs.kraftkennedy.com/index.php/2011/09/17/citrix-provisioning-server-re-enable-mak-activation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Preparing IT for Hurricane Irene</title>
		<link>http://blogs.kraftkennedy.com/index.php/2011/08/26/preparing-it-for-hurricane-irene/</link>
		<comments>http://blogs.kraftkennedy.com/index.php/2011/08/26/preparing-it-for-hurricane-irene/#comments</comments>
		<pubDate>Fri, 26 Aug 2011 19:46:51 +0000</pubDate>
		<dc:creator>Danny Wnek</dc:creator>
				<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[Support Services]]></category>

		<guid isPermaLink="false">http://blogs.kraftkennedy.com/?p=3795</guid>
		<description><![CDATA[Hurricane and New York City are two words that are rarely used in the same sentence&#8230;until this week.  According to the latest weather predictions, Hurricane Irene is slated to cross right over the greater NYC area as a Category 1 hurricane in just under 48 hours. Hurricanes hit the Gulf states on a fairly regular basis, [...]]]></description>
			<content:encoded><![CDATA[<p>Hurricane and New York City are two words that are rarely used in the same sentence&#8230;until this week.  According to the latest weather predictions, Hurricane Irene is slated to cross right over the greater NYC area as a Category 1 hurricane in just under 48 hours. Hurricanes hit the Gulf states on a fairly regular basis, and anyone who&#8217;s lived in Houston for a while can tell you stories of both the short-term and long-term impacts of past storms.  Through my involvement in the emergency services world, I&#8217;ve seen first hand the extensive planning that goes into preparing for these storms every hurricane season.  It&#8217;s been over 70 years since a major hurricane has passed directly over the Northeast, and the extent of the impact of this &#8220;once in a lifetime&#8221; storm remains to be seen.</p>
<p>Hurricanes are unique in terms of natural disasters in that we usually have some warning before they strike and can prepare accordingly.  It&#8217;s important to plan for a hurricane as an extended event and not just plan for the storm itself, as it can take weeks to undo the damage to local infrastructure.  With that in mind, I&#8217;ve put together the following recommendations for steps to take to protect your firm&#8217;s data and infrastructure:</p>
<ul>
<li><strong>Communicate with the firm&#8217;s staff.</strong> Setting the right expectation of what measures are being taken to protect the firm&#8217;s IT infrastructure goes a long way.</li>
<li><strong>Ensure you have a good, recent backup available. </strong>Make sure the backup in stored in a safe, waterproof location, and ideally one that is accessible under emergency conditions.</li>
<li><strong>Make sure firm staff know all their remote access options.</strong> This will allow users to continue to work if they can&#8217;t physically make it to the office but the systems remain online.  Provide them a printed copy of the remote access information to have on hand.  Also remind staff to take home laptops and mobile broadband cards when they leave for the weekend. If they will be connecting to an e-mail continuity service, make sure they know the proper login credentials</li>
<li><strong>Review your disaster recovery options.</strong> If you have a reliable DR option, it may be a good idea to put it in place before the actual event.  Doing so after the storm in the event of an outage may prove much more difficult.</li>
<li><strong>Shut down as many systems as you can. </strong>This will obviously vary based on your firm&#8217;s business requirements and your faith in your automatic shutdown methodology.  If you&#8217;ve tested your UPS solution recently and know it will bring systems down gracefully in the event of a power outage, you probably don&#8217;t need to go this route; if you have any doubts, consider a preemptive power-off to prevent a hard shutdown of your entire network.  Your site may not lose power at all, but if it does and you don&#8217;t have a backup generator the outage will likely far outlast your UPS&#8217;s capacity.</li>
<li><strong>Ensure you have the ability to remote back in when power is restored. </strong>Review your VPN and out-of-band access if you haven&#8217;t used them in a while to make sure everything is still configured properly.</li>
<li><strong>Move exposed hardware out of harms way.</strong> Depending on where your IT infrastructure exists in your building, it may be in danger of being exposed to the elements.  Get hardware as far away from windows as possible, cover it if you think there&#8217;s a chance of it getting wet from above, and elevate it if it&#8217;s located on the first floor or basement.</li>
<li><strong>Power off any unprotected devices. </strong>This is especially important with your workstations, which often are plugged directly into wall sockets.  If you want to go the extra step, physically unplug devices from their power source.  Power surges during a hurricane are notorious for damaging electronics.</li>
<li><strong>Keep your cell phone plugged in whenever possible. </strong>Instruct your IT staff to do the same.  You&#8217;ll be grateful that you did if the power actually goes out and you need to get in touch with someone.</li>
<li><strong>Keep a printed emergency contact list with you at all times.</strong> Don&#8217;t rely on the contact list on your electronic devices.</li>
</ul>
<p>AND MOST IMPORTANTLY:</p>
<ul>
<li><strong>Obey any local emergency notifications and evacuation orders.</strong> I can&#8217;t stress the importance of this point enough.  If you&#8217;ve been told to evacuate, there&#8217;s a very good reason.  By sticking around, you&#8217;re likely putting yourself in harm&#8217;s way.  Stay away until you&#8217;ve been told it&#8217;s safe to return.</li>
</ul>
<p>These storms are highly unpredictable and highly dangerous.  Hurricane Irene could change course and miss the Northeast entirely, or it could be the storm we talk about for years.  Either way, the best thing to do is to take measures as far in advance of the storm as possible and keep yourself safe when the storm actually hits.</p>
<p>-Danny (in addition to being a Senior Technical Consultant at Kraft Kennedy, Danny is a firefighter for the Northwest Volunteer Fire Department in Houston, TX. Ed.)</p>
<p>PS &#8211; Check <a href="http://www.nhc.noaa.gov/HAW2/english/disaster_prevention.shtml">here </a>for some great additional info on general hurricane preparedness.</p>
<table border=0><tr><td width="215">
<!-- Start WP Socializer - Social Buttons - Output -->
<div class="wp-socializer 16px">
<ul class="wp-socializer-none columns-no">
 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 
</ul> 
<div class="wp-socializer-clearer"></div></div>
<!-- End WP Socializer - Social Buttons - Output -->
</td><td>
<!-- Start WP Socializer Plugin - Retweet Button -->
<script type="text/javascript">
<!--
tweetmeme_url = "http://blogs.kraftkennedy.com/index.php/2011/08/26/preparing-it-for-hurricane-irene/"; tweetmeme_style = "compact"; tweetmeme_source = "kraftkennedy"; 

--></script>
<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script>
<!-- End WP Socializer Plugin - Retweet Button -->
</td></tr></table>]]></content:encoded>
			<wfw:commentRss>http://blogs.kraftkennedy.com/index.php/2011/08/26/preparing-it-for-hurricane-irene/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;hex data is limited to 100 characters&#8221; on Cisco ASA firewall</title>
		<link>http://blogs.kraftkennedy.com/index.php/2011/07/12/hex-data-is-limited-to-100-characters-on-cisco-asa-firewall/</link>
		<comments>http://blogs.kraftkennedy.com/index.php/2011/07/12/hex-data-is-limited-to-100-characters-on-cisco-asa-firewall/#comments</comments>
		<pubDate>Tue, 12 Jul 2011 18:29:41 +0000</pubDate>
		<dc:creator>Matthew C. Evans</dc:creator>
				<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[ASA]]></category>
		<category><![CDATA[Cisco]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[hex data]]></category>
		<category><![CDATA[Microsoft Lync 2010]]></category>

		<guid isPermaLink="false">http://blogs.kraftkennedy.com/?p=3579</guid>
		<description><![CDATA[While setting up some Polycom IP phones to use with Microsoft Lync 2010 for remote users, one of the requirements is that there are some very specific DHCP options that are set on the remote DHCP if this is the first time the phone is being configured.  There is a very useful web page here [...]]]></description>
			<content:encoded><![CDATA[<p>While setting up some Polycom IP phones to use with Microsoft Lync 2010 for remote users, one of the requirements is that there are some very specific DHCP options that are set on the remote DHCP if this is the first time the phone is being configured.  There is a very useful web page <a href="http://www.shudnow.net/2011/05/02/configuring-lync-dhcp-using-cisco-dhcp-servers-vlan-and-pin-auth/">here</a> that can be used to setup remote Cisco devices with the required DHCP options 120 and 43.</p>
<p>Option 43 in DHCP requires a very long hex string to be created (ours is 188 hex characters long). When adding this option to the Cisco ASA firewall via the ASDM (GUI) interface I get the following error message:</p>
<blockquote>
<p style="text-align: left;">hex data is limited to 100 characters</p>
</blockquote>
<p>I thought I was going to be in trouble, but it appears that there is no such limitation when adding this command via the command line interface (CLI) on the firewall via Telnet or SSH.</p>
<blockquote>
<p style="text-align: left;">dhcpd option 43 hex 010cXXXXXXXXXX interface inside</p>
</blockquote>
<p>So while I prefer to do most things through the ASDM when possible this is another case when Cisco hasn&#8217;t reached parity between the graphical and command line interfaces.</p>
<table border=0><tr><td width="215">
<!-- Start WP Socializer - Social Buttons - Output -->
<div class="wp-socializer 16px">
<ul class="wp-socializer-none columns-no">
 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 
</ul> 
<div class="wp-socializer-clearer"></div></div>
<!-- End WP Socializer - Social Buttons - Output -->
</td><td>
<!-- Start WP Socializer Plugin - Retweet Button -->
<script type="text/javascript">
<!--
tweetmeme_url = "http://blogs.kraftkennedy.com/index.php/2011/07/12/hex-data-is-limited-to-100-characters-on-cisco-asa-firewall/"; tweetmeme_style = "compact"; tweetmeme_source = "kraftkennedy"; 

--></script>
<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script>
<!-- End WP Socializer Plugin - Retweet Button -->
</td></tr></table>]]></content:encoded>
			<wfw:commentRss>http://blogs.kraftkennedy.com/index.php/2011/07/12/hex-data-is-limited-to-100-characters-on-cisco-asa-firewall/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Citrix Provisioning Server &#8211; Understanding the Limitations of Write Cache in Target Device RAM</title>
		<link>http://blogs.kraftkennedy.com/index.php/2011/06/08/citrix-provisioning-server-understanding-the-limitations-of-write-cache-in-target-device-ram/</link>
		<comments>http://blogs.kraftkennedy.com/index.php/2011/06/08/citrix-provisioning-server-understanding-the-limitations-of-write-cache-in-target-device-ram/#comments</comments>
		<pubDate>Wed, 08 Jun 2011 20:47:39 +0000</pubDate>
		<dc:creator>Jeff Silverman</dc:creator>
				<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[Citrix]]></category>
		<category><![CDATA[Provisioning Server]]></category>
		<category><![CDATA[Write Cache]]></category>

		<guid isPermaLink="false">http://blogs.kraftkennedy.com/?p=3369</guid>
		<description><![CDATA[As server and storage hardware continues to evolve, and now that Citrix has introduced Machine Creation Services (MCS) as an alternative deployment methodology to conflict with compliment Provisioning Server (PvS), architects and engineers have more complexity flexibility than ever with regard to virtual desktop infrastructure (VDI) design.  While MCS is somewhat limited, PvS provides flexibility [...]]]></description>
			<content:encoded><![CDATA[<p>As server and storage hardware continues to evolve, and now that Citrix has introduced Machine Creation Services (MCS) as an alternative deployment methodology to <span style="text-decoration: line-through">conflict with</span> compliment Provisioning Server (PvS), architects and engineers have more <span style="text-decoration: line-through">complexity</span> flexibility than ever with regard to virtual desktop infrastructure (VDI) design.  While MCS is somewhat limited, PvS provides flexibility with regard to write cache and vDisk location.  There are performance, redundancy, and other tradeoffs associated with these choices, however, and it’s important to fully understand them when designing a solution.<br />
<span id="more-3369"></span><br />
With regard to write cache location PvS offers four options – target device RAM, target device HD, server cache, and difference disk.  The implications of each are discussed <a href="http://support.citrix.com/article/CTX119469">here</a>, but this article focuses on one in particular &#8211; RAM.  It’s the fastest, but it’s also the most expensive and typically the most limited from a capacity perspective.  Also, unlike the other options that grow the cache file as needed (up to the limit of available drive space), the size of RAM cache is fixed and when you run out bad things happen.  Specifically, Citrix states that “if more different sectors are written than the size of the cache, the device will hang.”  It’s important to understand exactly what that means, especially since it isn’t quite what you might think, at least not at the time of this writing.  The sections below illustrate RAM cache’s seemingly unusual behavior, explain why it occurs, dig a bit deeper into specific examples, and discuss what we might see in the future.</p>
<p><strong><span style="font-size: small">Test Configuration</span></strong></p>
<p>The tests below use XenDesktop 5 SP1 and Provisioning Server 5.6 SP1.  The target VM is Windows 7 64-bit SP1 running on vSphere 4.1 and is configured with 4Gb RAM.<br />
<a href="http://blogs.kraftkennedy.com/wp-content/uploads/2011/06/image39.png"><img style="border: 0px currentColor;padding-top: 0px;padding-right: 0px;padding-left: 0px;margin-right: 0px;margin-left: 0px" src="http://blogs.kraftkennedy.com/wp-content/uploads/2011/06/image_thumb39.png" border="0" alt="image" width="214" height="122" /></a></p>
<p>The vDisk is configured with 2Gb RAM cache.<br />
<a href="http://blogs.kraftkennedy.com/wp-content/uploads/2011/06/image40.png"><img style="border: 0px currentColor;padding-top: 0px;padding-right: 0px;padding-left: 0px" src="http://blogs.kraftkennedy.com/wp-content/uploads/2011/06/image_thumb40.png" border="0" alt="image" width="302" height="118" /></a></p>
<p>This results in 4Gb total, 2Gb usable in Windows.<br />
<a href="http://blogs.kraftkennedy.com/wp-content/uploads/2011/06/image41.png"><img style="border: 0px currentColor;padding-top: 0px;padding-right: 0px;padding-left: 0px" src="http://blogs.kraftkennedy.com/wp-content/uploads/2011/06/image_thumb41.png" border="0" alt="image" width="348" height="112" /></a></p>
<p><strong><span style="font-size: small">The Clown Car</span></strong><br />
<br />We’ll begin with a fresh VDI session.  The PvS system tray applet shows 1% of the system cache is used.<br />
<a href="http://blogs.kraftkennedy.com/wp-content/uploads/2011/06/image42.png"><img style="border: 0px currentColor;padding-top: 0px;padding-right: 0px;padding-left: 0px" src="http://blogs.kraftkennedy.com/wp-content/uploads/2011/06/image_thumb42.png" border="0" alt="image" width="237" height="302" /></a></p>
<p>We’ll then saturate the RAM cache by generating a 2Gb test file.<br />
<a href="http://blogs.kraftkennedy.com/wp-content/uploads/2011/06/image43.png"><img style="border: 0px currentColor;padding-top: 0px;padding-right: 0px;padding-left: 0px" src="http://blogs.kraftkennedy.com/wp-content/uploads/2011/06/image_thumb43.png" border="0" alt="image" width="239" height="151" /></a></p>
<p>The test file is created successfully and the RAM cache is maxed at 100%.<br />
<a href="http://blogs.kraftkennedy.com/wp-content/uploads/2011/06/image44.png"><img style="border: 0px currentColor;padding-top: 0px;padding-right: 0px;padding-left: 0px" src="http://blogs.kraftkennedy.com/wp-content/uploads/2011/06/image_thumb44.png" border="0" alt="image" width="162" height="125" /></a><br />
<a href="http://blogs.kraftkennedy.com/wp-content/uploads/2011/06/image45.png"><img style="border: 0px currentColor;padding-top: 0px;padding-right: 0px;padding-left: 0px" src="http://blogs.kraftkennedy.com/wp-content/uploads/2011/06/image_thumb45.png" border="0" alt="image" width="520" height="167" /></a><br />
<a href="http://blogs.kraftkennedy.com/wp-content/uploads/2011/06/image46.png"><img style="border: 0px currentColor;padding-top: 0px;padding-right: 0px;padding-left: 0px" src="http://blogs.kraftkennedy.com/wp-content/uploads/2011/06/image_thumb46.png" border="0" alt="image" width="215" height="274" /></a></p>
<p>Since we started with 30Mb and wrote another 2048Mb that should be it for our session, right?  Not quite.  Let’s copy a 1Gb Exchange ISO from the network…<br />
<a href="http://blogs.kraftkennedy.com/wp-content/uploads/2011/06/image47.png"><img style="border: 0px currentColor;padding-top: 0px;padding-right: 0px;padding-left: 0px" src="http://blogs.kraftkennedy.com/wp-content/uploads/2011/06/image_thumb47.png" border="0" alt="image" width="519" height="179" /></a></p>
<p>…and download a 900Mb Windows service pack from the Internet.<br />
<a href="http://blogs.kraftkennedy.com/wp-content/uploads/2011/06/image48.png"><img style="border: 0px currentColor;padding-top: 0px;padding-right: 0px;padding-left: 0px" src="http://blogs.kraftkennedy.com/wp-content/uploads/2011/06/image_thumb48.png" border="0" alt="image" width="521" height="193" /></a></p>
<p>“Shut the front door!” you say?  “Does Windows still work?”  Well, <a href="http://www.youtube.com/watch?v=9OfsABOGw3c">this video</a> of the Swedish Chef plays perfectly.<br />
<a href="http://blogs.kraftkennedy.com/wp-content/uploads/2011/06/image49.png"><img style="border: 0px currentColor;padding-top: 0px;padding-right: 0px;padding-left: 0px" src="http://blogs.kraftkennedy.com/wp-content/uploads/2011/06/image_thumb49.png" border="0" alt="image" width="408" height="321" /></a></p>
<p>I’m also able to create and save content in Paint, WordPad, etc.  Weird, right?  Let’s take a look at why this occurs.</p>
<p><strong><span style="font-size: small">The Explanation (per Citrix engineering)</span></strong></p>
<p>When Citrix network stack interface driver (bnistack) MIoProcessWcRamWriteTransaction detects insufficient memory it returns successful to the caller (Windows) without actually saving the data to the RAM cache, so if Windows never reads the same data back, practically unlimited data can be added (though it may be limited by other factors like available disk space – Windows will prevent you from creating a 10Gb file when you have 8Gb free on your vDisk, for example).  Once the RAM cache becomes saturated errors are logged as follows:<br />
<a href="http://blogs.kraftkennedy.com/wp-content/uploads/2011/06/image50.png"><img style="border: 0px currentColor;padding-top: 0px;padding-right: 0px;padding-left: 0px" src="http://blogs.kraftkennedy.com/wp-content/uploads/2011/06/image_thumb50.png" border="0" alt="image" width="568" height="433" /></a><br />
<a href="http://blogs.kraftkennedy.com/wp-content/uploads/2011/06/image51.png"><img style="border: 0px currentColor;padding-top: 0px;padding-right: 0px;padding-left: 0px" src="http://blogs.kraftkennedy.com/wp-content/uploads/2011/06/image_thumb51.png" border="0" alt="image" width="569" height="435" /></a></p>
<p>Unfortunately by the time you attempt to access the Event Log your system is likely frozen, and if it’s a Standard image without redirected log files you’re out of luck when the frozen session is reset.</p>
<p><strong><span style="font-size: small">Digging Deeper</span></strong></p>
<p>What does the explanation above really mean?  Does it hold up in practice?  Where does excess data go if it isn’t actually written?  What happens when you attempt to access excess data?  The examples below explore these questions.</p>
<p><span style="text-decoration: underline">Example 1</span></p>
<p>Upon logging on to a fresh VDI session and opening my test file creator, I have over 6 Gb free on the C drive…<br />
<br /><a href="http://blogs.kraftkennedy.com/wp-content/uploads/2011/06/image52.png"><img style="margin: 0px;border: 0px currentColor;padding-top: 0px;padding-right: 0px;padding-left: 0px" src="http://blogs.kraftkennedy.com/wp-content/uploads/2011/06/image_thumb52.png" border="0" alt="image" width="171" height="57" /></a></p>
<p>…and memory usage is as follows:<br />
<a href="http://blogs.kraftkennedy.com/wp-content/uploads/2011/06/image53.png"><img style="border: 0px currentColor;padding-top: 0px;padding-right: 0px;padding-left: 0px" src="http://blogs.kraftkennedy.com/wp-content/uploads/2011/06/image_thumb53.png" border="0" alt="image" width="363" height="137" /></a></p>
<p>I then create five separate 450Gb test files.<br />
<a href="http://blogs.kraftkennedy.com/wp-content/uploads/2011/06/image161.png"><img style="border: 0px currentColor;padding-top: 0px;padding-right: 0px;padding-left: 0px" src="http://blogs.kraftkennedy.com/wp-content/uploads/2011/06/image16_thumb.png" border="0" alt="image" width="522" height="217" /></a></p>
<p>As the files are created RAM cache utilization increases, memory in use remains roughly constant, standby memory (Windows system cache) increases, and free memory decreases.</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="167" valign="top"></td>
<td style="text-align: center" width="149" valign="top"><strong>RAM Cache</strong></td>
<td style="text-align: center" width="157" valign="top"><strong>Memory In Use</strong></td>
<td style="text-align: center" width="166" valign="top"><strong>Standby Memory</strong></td>
<td style="text-align: center" width="159" valign="top"><strong>Free Memory</strong></td>
</tr>
<tr>
<td style="text-align: left" width="167" valign="top">Start</td>
<td style="text-align: center" width="149" valign="top">20 Mb (1%)</td>
<td style="text-align: center" width="157" valign="top">676 Mb</td>
<td style="text-align: center" width="166" valign="top">257 Mb</td>
<td style="text-align: center" width="159" valign="top">1111 Mb</td>
</tr>
<tr>
<td style="text-align: left" width="167" valign="top">TestFile1</td>
<td style="text-align: center" width="149" valign="top">472 Mb (23%)</td>
<td style="text-align: center" width="157" valign="top">684 Mb</td>
<td style="text-align: center" width="166" valign="top">711 Mb</td>
<td style="text-align: center" width="159" valign="top">650 Mb</td>
</tr>
<tr>
<td width="167" valign="top">TestFile2</td>
<td style="text-align: center" width="149" valign="top">922 Mb (45%)</td>
<td style="text-align: center" width="157" valign="top">684 Mb</td>
<td style="text-align: center" width="166" valign="top">1161 Mb</td>
<td style="text-align: center" width="159" valign="top">204 Mb</td>
</tr>
<tr>
<td width="167" valign="top">TestFile3</td>
<td style="text-align: center" width="149" valign="top">1380 Mb (67%)</td>
<td style="text-align: center" width="157" valign="top">649 Mb</td>
<td style="text-align: center" width="166" valign="top">1385 Mb</td>
<td style="text-align: center" width="159" valign="top">10 Mb</td>
</tr>
<tr>
<td width="167" valign="top">TestFile4</td>
<td style="text-align: center" width="149" valign="top">1831 Mb (89%)</td>
<td style="text-align: center" width="157" valign="top">648 Mb</td>
<td style="text-align: center" width="166" valign="top">1386 Mb</td>
<td style="text-align: center" width="159" valign="top">0 Mb</td>
</tr>
<tr>
<td style="text-align: left" width="167" valign="top">TestFile5</td>
<td style="text-align: center" width="149" valign="top">2048 Mb (100%)</td>
<td style="text-align: center" width="157" valign="top">645 Mb</td>
<td style="text-align: center" width="166" valign="top">1394 Mb</td>
<td style="text-align: center" width="159" valign="top">4 Mb</td>
</tr>
<tr>
<td style="text-align: left" width="167" valign="top">TestFile<em>n</em></td>
<td style="text-align: center" width="149" valign="top">2048 Mb (100%)</td>
<td style="text-align: center" width="157" valign="top">~645 Mb</td>
<td style="text-align: center" width="166" valign="top">~1394 Mb</td>
<td style="text-align: center" width="159" valign="top">~4 Mb</td>
</tr>
</tbody>
</table>
<p>I can continue creating test files up to the limit of available hard drive space, at which point the following error is generated:</p>
<p><a href="http://blogs.kraftkennedy.com/wp-content/uploads/2011/06/image54.png"><img style="margin: 0px;border: 0px currentColor;padding-top: 0px;padding-right: 0px;padding-left: 0px" src="http://blogs.kraftkennedy.com/wp-content/uploads/2011/06/image_thumb54.png" border="0" alt="image" width="171" height="96" /></a></p>
<p>In other words, similar to “The Clown Car” above, I was able to generate test files that far exceeded the RAM cache before encountering an issue, and if I’d had a larger hard drive I would have been able to generate more.</p>
<p>So where did the data go?  We see in the table above that as test files are created the RAM cache increases in direct proportion to test file size until no more RAM cache remains.  Standby memory increases and free memory decreases in a similar manner, presumably showing that Windows is caching the most recently created data for quick access later, though this can’t really be considered “storage” for purposes of this analysis.</p>
<p>So what about the excess?  Let’s look at another example&#8230;</p>
<p><span style="text-decoration: underline">Example 2</span><br />
<br />Five 450 Gb test files are created, thus saturating RAM cache.  Attempting to open any of them results in an immediate system freeze and eventual reset.  In addition, deleting one or more of them then attempting to open one that remains results in an immediate freeze and eventual reset.  Finally, deleting all five files, creating a sixth, and attempting to open it results in an immediate freeze and eventual reset.  This suggests that once the RAM cache is saturated, attempting to access any content within it freezes the system.</p>
<p><span style="text-decoration: underline">Example 3</span></p>
<p>Four 450 Gb test files are created and RAM cache is at 89%.  Any one of them are opened.  A fifth is then created, thus saturating RAM cache.  We would appear to be in the same position as the previous example, but this time any of the first four files can be opened again and opening the fifth freezes the system.  This suggests that opening a file before the RAM cache is saturated somehow “protects” cache contents.</p>
<p><span style="text-decoration: underline">Example 4</span></p>
<p>Four 450 Gb test files are created and RAM cache is at 89%.  Any one of them are deleted.  RAM cache remains at 89%.  A fifth file is created.  RAM cache remains at 89%.  This suggests that deleted info isn’t reclaimed (or at least isn’t reported as reclaimed by the Virtual Disk Status applet) but is available for reuse when deleted.</p>
<p><span style="text-decoration: underline">Example 5</span></p>
<p>Four 450 Gb test files are created and RAM cache is at 89%.  Attempting to open all 4 maxes out memory in use, the system begins paging, the page file consumes additional RAM cache, and when RAM cache becomes saturated the system freezes.</p>
<p><strong><span style="font-size: small">Conclusions</span></strong><br />
<br />The examples above suggest the following:</p>
<ul>
<li>RAM cache can be reused, but not reclaimed, up to the point of saturation.</li>
<li>RAM cache saturation will likely not be apparent to end users.</li>
<li>Once the saturation point is reached, data is at risk.</li>
<li>If no files in the cache were accessed prior to saturation, any attempt to access cache contents will result in a freeze.</li>
<li>If any file in the cache is accessed prior to saturation, contents in the cache prior to reaching saturation appear to be “protected.”</li>
<li>Page file size and use is another important consideration.</li>
</ul>
<p><strong><span style="font-size: small">Future</span></strong></p>
<p>Citrix engineering has acknowledged that this is a bug, and has indicated that the fix should be to crash (BSOD) when RAM cache becomes saturated. “The fix should be to crash?  Really?” Yes, following the philosophy that existing user data should be protected and further corruption should be prevented.</p>
<p><strong><span style="font-size: small">Final Thoughts</span></strong></p>
<p>As a best practice, a proof of concept with write cache on the server is recommended as it allows analysis of write cache size over time.  Once confidence is established with regard to write cache size, cost/benefit analysis can be performed relative to write cache location.</p>
<p>Thanks to my colleagues <a href="http://blogs.kraftkennedy.com/index.php/author/liebowitz/">Matt Liebowitz</a> and <a href="http://blogs.kraftkennedy.com/index.php/author/patel/">Niraj Patel</a> for their help with this post.</p>
<table border=0><tr><td width="215">
<!-- Start WP Socializer - Social Buttons - Output -->
<div class="wp-socializer 16px">
<ul class="wp-socializer-none columns-no">
 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 

 <li><a href="" title="" target="_blank"><img src="http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-16px.gif" alt="" style="width:16px; height:16px; background: transparent url(http://blogs.kraftkennedy.com/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-16px.png) no-repeat; background-position:0px -px; border:0;"/></a></li> 
</ul> 
<div class="wp-socializer-clearer"></div></div>
<!-- End WP Socializer - Social Buttons - Output -->
</td><td>
<!-- Start WP Socializer Plugin - Retweet Button -->
<script type="text/javascript">
<!--
tweetmeme_url = "http://blogs.kraftkennedy.com/index.php/2011/06/08/citrix-provisioning-server-understanding-the-limitations-of-write-cache-in-target-device-ram/"; tweetmeme_style = "compact"; tweetmeme_source = "kraftkennedy"; 

--></script>
<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script>
<!-- End WP Socializer Plugin - Retweet Button -->
</td></tr></table>]]></content:encoded>
			<wfw:commentRss>http://blogs.kraftkennedy.com/index.php/2011/06/08/citrix-provisioning-server-understanding-the-limitations-of-write-cache-in-target-device-ram/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

