﻿<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:ng="http://newsgator.com/schema/extensions"><channel><title>Headlines for sharepointpedia</title><link>http://www.newsgator.com/</link><copyright>Copyright retained by original author, refer to /ngws/headlines.aspx?uid=430219&amp;mid=5&amp;fmt=rss for further information</copyright><description>Headlines for sharepointpedia</description><webMaster>support@newsgator.com</webMaster><lastBuildDate>2009-09-29T09:51:02</lastBuildDate><ttl>60</ttl><item><title>SPWebPartManager doesn't honour the WebPartCancelEventArgs.Cancel value while deleting the webpart</title><link>http://blogs.msdn.com/nishand/archive/2009/09/21/spwebpartmanager-doesn-t-honour-the-webpartcanceleventargs-cancel-value-while-deleting-the-webpart.aspx</link><description>&lt;p&gt;Some scenarios developers may want to restrict users from deleting webparts from&amp;nbsp; a page, the scenarios varies.&lt;br&gt;SPWebPartManager has got a event named ‘OnWebPartDeleting’.The issue here is, the deletion of the webpart cannot be&lt;br&gt;avoided by setting the WebPartCancelEventArgs.Cancel = true; within the&amp;nbsp;&amp;nbsp; ‘OnWebPartDeleting’ event.&lt;br&gt;So the SPWebPartManager’s ‘OnWebPartDeleting’event is not going to help us in accomplishing our requirement, here I have a workaround, it may help you!&amp;nbsp; &lt;blockquote&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;……….&lt;br&gt;&amp;lt;script runat="server"&amp;gt;&lt;br&gt;&amp;nbsp; protected void On_WebPartDeleting(object sender, WebPartCancelEventArgs e) &lt;br&gt;&amp;nbsp; { &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Page.Response.Write("Sorry! This webpart cannot be deleted!&amp;lt;br&amp;gt;");&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.Cancel = true;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp; } &lt;br&gt;&amp;lt;/script&amp;gt; &lt;br&gt;&amp;nbsp; &amp;lt;form &amp;gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;&amp;nbsp;&lt;br&gt;&amp;lt;WebPartPages:SPWebPartManager OnWebPartDeleting="On_WebPartDeleting"&amp;nbsp; id="m" runat="Server"/&amp;gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&amp;nbsp; &lt;p&gt;As a workaround your can implement this, not sure you like this approach:)  &lt;p&gt;Develop a custom HttpModule to trace the WebPart delete events,&amp;nbsp; basically tracing the ‘__EVENTARGUMENT’ value.  &lt;p&gt;See below the implementation.&lt;/p&gt; &lt;div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 58.28%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: 'Courier New', courier, monospace; height: 210px; background-color: #f4f4f4; text-align: left"&gt; &lt;div id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum1" style="color: #606060"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; application_PostAuthorizeRequest(&lt;span style="color: #0000ff"&gt;object&lt;/span&gt; sender, EventArgs e)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum2" style="color: #606060"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum3" style="color: #606060"&gt;   3:&lt;/span&gt; HttpContext context = HttpContext.Current;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum4" style="color: #606060"&gt;   4:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum5" style="color: #606060"&gt;   5:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (context != &lt;span style="color: #0000ff"&gt;null&lt;/span&gt; &amp;amp;&amp;amp; context.Request.Params[&lt;span style="color: #006080"&gt;"__EVENTARGUMENT"&lt;/span&gt;] != &lt;span style="color: #0000ff"&gt;null&lt;/span&gt; &amp;amp;&amp;amp; Convert.ToString(context.Request.Params[&lt;span style="color: #006080"&gt;"__EVENTARGUMENT"&lt;/span&gt;]).Length &amp;gt; 1)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum6" style="color: #606060"&gt;   6:&lt;/span&gt; {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum7" style="color: #606060"&gt;   7:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; contextValue = context.Request.Params[&lt;span style="color: #006080"&gt;"__EVENTARGUMENT"&lt;/span&gt;];&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum8" style="color: #606060"&gt;   8:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum9" style="color: #606060"&gt;   9:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (contextValue.Contains(&lt;span style="color: #006080"&gt;"MSOMenu_Delete"&lt;/span&gt;))&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum10" style="color: #606060"&gt;  10:&lt;/span&gt; {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum11" style="color: #606060"&gt;  11:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;try&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum12" style="color: #606060"&gt;  12:&lt;/span&gt; {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum13" style="color: #606060"&gt;  13:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt;[] keyValue = contextValue.Split(&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; &lt;span style="color: #0000ff"&gt;char&lt;/span&gt;[] { &lt;span style="color: #006080"&gt;';'&lt;/span&gt; });&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum14" style="color: #606060"&gt;  14:&lt;/span&gt; Guid guid = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Guid(keyValue[0]);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum15" style="color: #606060"&gt;  15:&lt;/span&gt; SPWeb web = SPContext.Current.Web;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum16" style="color: #606060"&gt;  16:&lt;/span&gt; SPLimitedWebPartManager manager = web.GetLimitedWebPartManager(context.Request.RawUrl, System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum17" style="color: #606060"&gt;  17:&lt;/span&gt; System.Web.UI.WebControls.WebParts.WebPart webpart = manager.WebParts[guid];&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum18" style="color: #606060"&gt;  18:&lt;/span&gt; context.Response.Write(&lt;span style="color: #006080"&gt;"&amp;lt;h5&amp;gt;&amp;lt;font color=red&amp;gt;Sorry, you do not have the rights to delete this webpart. Please contact your admin.&amp;lt;/font&amp;gt;&amp;lt;/h5&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href="&lt;/span&gt; + context.Request.RawUrl+ &lt;span style="color: #006080"&gt;"&amp;gt;Back&amp;lt;/a&amp;gt;"&lt;/span&gt;);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum19" style="color: #606060"&gt;  19:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum20" style="color: #606060"&gt;  20:&lt;/span&gt; context.Response.Flush(); &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum21" style="color: #606060"&gt;  21:&lt;/span&gt; context.Response.End();&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum22" style="color: #606060"&gt;  22:&lt;/span&gt; }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum23" style="color: #606060"&gt;  23:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;catch&lt;/span&gt; (Exception ex)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum24" style="color: #606060"&gt;  24:&lt;/span&gt; {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum25" style="color: #606060"&gt;  25:&lt;/span&gt; }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum26" style="color: #606060"&gt;  26:&lt;/span&gt; }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum27" style="color: #606060"&gt;  27:&lt;/span&gt; }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp; &lt;p&gt;This is a tricky workaround, however if you are looking for options to achieve this functionality then this would help. 
&lt;p&gt;Enjoy! 
&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9897757" width="1" height="1"&gt;</description><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9897757</guid><pubDate>Mon, 21 Sep 2009 21:35:54 GMT</pubDate><author>nishandv</author><ng:modifiedDate>Mon, 21 Sep 2009 17:38:19 GMT</ng:modifiedDate><ng:postId>10523572049</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/nishand/commentrss.aspx?PostID=9897757</wfw:commentRss><comments>http://blogs.msdn.com/nishand/comments/9897757.aspx</comments><source url="http://blogs.msdn.com/nishand/default.aspx">Nishand's Blog</source></item><item><title>Setting the property 'AllowMultipleValues' resets the control's type to "Lookup" when it is inherited from SPFieldLookup class.</title><link>http://blogs.msdn.com/nishand/archive/2009/09/21/setting-the-property-allowmultiplevalues-resets-the-control-s-type-to-lookup-when-it-is-inherited-from-spfieldlookup-class.aspx</link><description>&lt;p&gt;When you develop a custom field type that inherits from SPFieldLookUp/SPFieldUser(not sure about any other controls) . &lt;br&gt;The derived field type has its own rendering controls. The issue arises when multiple values are to be stored in a field of the custom fieldtype.&lt;br&gt;In order to save multiple values to an SPFieldLookUp the property "AllowMultipleValues" should be set to true . When "AllowMultipleValues" property is&lt;br&gt;set to true, the field rendering control is overridden by MultipleLookupField. So the custom field rendering control is never instantiated/render if the field is &lt;br&gt;set to store multiple values(AllowMultipleValues=true). As a workaround what I did is overridden the ‘OnAdded’ function and edit the schema to append the ‘Mult’ attribute. &lt;/p&gt; &lt;div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 53.79%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: 'Courier New', courier, monospace; height: 210px; background-color: #f4f4f4; text-align: left"&gt; &lt;div id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum1" style="color: #606060"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum2" style="color: #606060"&gt;   2:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum3" style="color: #606060"&gt;   3:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Text;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum4" style="color: #606060"&gt;   4:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; Microsoft.SharePoint;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum5" style="color: #606060"&gt;   5:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; Microsoft.SharePoint.WebControls;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum6" style="color: #606060"&gt;   6:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Web.UI;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum7" style="color: #606060"&gt;   7:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Xml;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum8" style="color: #606060"&gt;   8:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum9" style="color: #606060"&gt;   9:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;namespace&lt;/span&gt; CustLookuColumn&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum10" style="color: #606060"&gt;  10:&lt;/span&gt; { &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum11" style="color: #606060"&gt;  11:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; MultiLookUp : SPFieldLookup  &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum12" style="color: #606060"&gt;  12:&lt;/span&gt;     {        &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum13" style="color: #606060"&gt;  13:&lt;/span&gt;        &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum14" style="color: #606060"&gt;  14:&lt;/span&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; MultiLookUp(SPFieldCollection fields, &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; fieldName)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum15" style="color: #606060"&gt;  15:&lt;/span&gt;             : &lt;span style="color: #0000ff"&gt;base&lt;/span&gt;(fields, fieldName)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum16" style="color: #606060"&gt;  16:&lt;/span&gt;         {          &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum17" style="color: #606060"&gt;  17:&lt;/span&gt;                    &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum18" style="color: #606060"&gt;  18:&lt;/span&gt;         }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum19" style="color: #606060"&gt;  19:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum20" style="color: #606060"&gt;  20:&lt;/span&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;override&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; OnAdded(SPAddFieldOptions op)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum21" style="color: #606060"&gt;  21:&lt;/span&gt;        {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum22" style="color: #606060"&gt;  22:&lt;/span&gt;            &lt;span style="color: #0000ff"&gt;base&lt;/span&gt;.OnAdded(op);        &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum23" style="color: #606060"&gt;  23:&lt;/span&gt;            XmlDocument doc = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; XmlDocument();&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum24" style="color: #606060"&gt;  24:&lt;/span&gt;            doc.LoadXml(&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.SchemaXml);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum25" style="color: #606060"&gt;  25:&lt;/span&gt;            XmlNode element = doc.FirstChild;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum26" style="color: #606060"&gt;  26:&lt;/span&gt;            XmlAttribute attr = doc.CreateAttribute(&lt;span style="color: #006080"&gt;"Mult"&lt;/span&gt;);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum27" style="color: #606060"&gt;  27:&lt;/span&gt;            attr.Value = &lt;span style="color: #006080"&gt;"TRUE"&lt;/span&gt;;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum28" style="color: #606060"&gt;  28:&lt;/span&gt;            element.Attributes.Append(attr);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum29" style="color: #606060"&gt;  29:&lt;/span&gt;            &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.SchemaXml = doc.OuterXml;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum30" style="color: #606060"&gt;  30:&lt;/span&gt;            &lt;span style="color: #0000ff"&gt;base&lt;/span&gt;.Update();&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum31" style="color: #606060"&gt;  31:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum32" style="color: #606060"&gt;  32:&lt;/span&gt;        }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum33" style="color: #606060"&gt;  33:&lt;/span&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; MultiLookUp(SPFieldCollection fields, &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; typeName, &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; displayName)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum34" style="color: #606060"&gt;  34:&lt;/span&gt;             : &lt;span style="color: #0000ff"&gt;base&lt;/span&gt;(fields, typeName, displayName)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum35" style="color: #606060"&gt;  35:&lt;/span&gt;         {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum36" style="color: #606060"&gt;  36:&lt;/span&gt;            &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum37" style="color: #606060"&gt;  37:&lt;/span&gt;         }        &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum38" style="color: #606060"&gt;  38:&lt;/span&gt;        &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum39" style="color: #606060"&gt;  39:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;override&lt;/span&gt; BaseFieldControl FieldRenderingControl&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum40" style="color: #606060"&gt;  40:&lt;/span&gt;         {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum41" style="color: #606060"&gt;  41:&lt;/span&gt;             get&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum42" style="color: #606060"&gt;  42:&lt;/span&gt;             {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum43" style="color: #606060"&gt;  43:&lt;/span&gt;                 BaseFieldControl fieldControl = &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum44" style="color: #606060"&gt;  44:&lt;/span&gt;                 fieldControl = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; RenderFieldControl(); &lt;span style="color: #008000"&gt;//See the below code snippet                               &lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum45" style="color: #606060"&gt;  45:&lt;/span&gt;                 fieldControl.FieldName = InternalName;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum46" style="color: #606060"&gt;  46:&lt;/span&gt;                 &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; fieldControl;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum47" style="color: #606060"&gt;  47:&lt;/span&gt;             }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum48" style="color: #606060"&gt;  48:&lt;/span&gt;         }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum49" style="color: #606060"&gt;  49:&lt;/span&gt;     }   &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum50" style="color: #606060"&gt;  50:&lt;/span&gt; }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 53.68%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: 'Courier New', courier, monospace; height: 210px; background-color: #f4f4f4; text-align: left"&gt;
&lt;div id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum1" style="color: #606060"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum2" style="color: #606060"&gt;   2:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Runtime.InteropServices;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum3" style="color: #606060"&gt;   3:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; Microsoft.SharePoint;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum4" style="color: #606060"&gt;   4:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; Microsoft.SharePoint.WebControls;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum5" style="color: #606060"&gt;   5:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Web.UI;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum6" style="color: #606060"&gt;   6:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Web.UI.WebControls;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum7" style="color: #606060"&gt;   7:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Web.UI.HtmlControls;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum8" style="color: #606060"&gt;   8:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum9" style="color: #606060"&gt;   9:&lt;/span&gt; &lt;span style="color: #008000"&gt;//This is just a skeleton, I haven't included the entire functionality. &lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum10" style="color: #606060"&gt;  10:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum11" style="color: #606060"&gt;  11:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;namespace&lt;/span&gt; CustLookuColumn&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum12" style="color: #606060"&gt;  12:&lt;/span&gt; {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum13" style="color: #606060"&gt;  13:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; RenderFieldControl : BaseFieldControl&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum14" style="color: #606060"&gt;  14:&lt;/span&gt;    {      &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum15" style="color: #606060"&gt;  15:&lt;/span&gt;        &lt;span style="color: #0000ff"&gt;protected&lt;/span&gt; &lt;span style="color: #0000ff"&gt;override&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; CreateChildControls()&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum16" style="color: #606060"&gt;  16:&lt;/span&gt;        {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum17" style="color: #606060"&gt;  17:&lt;/span&gt;            &lt;span style="color: #0000ff"&gt;base&lt;/span&gt;.CreateChildControls();&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum18" style="color: #606060"&gt;  18:&lt;/span&gt;         }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum19" style="color: #606060"&gt;  19:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum20" style="color: #606060"&gt;  20:&lt;/span&gt;     }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum21" style="color: #606060"&gt;  21:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum22" style="color: #606060"&gt;  22:&lt;/span&gt; }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 53.61%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: 'Courier New', courier, monospace; height: 210px; background-color: #f4f4f4; text-align: left"&gt;
&lt;div id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum1" style="color: #606060"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: #800000"&gt;xml&lt;/span&gt; &lt;span style="color: #ff0000"&gt;version&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="1.0"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;encoding&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="utf-8"&lt;/span&gt;?&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum2" style="color: #606060"&gt;   2:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FieldTypes&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum3" style="color: #606060"&gt;   3:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FieldType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum4" style="color: #606060"&gt;   4:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="TypeName"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;MultiLookUp&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum5" style="color: #606060"&gt;   5:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="TypeDisplayName"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;MultiLookUpField&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum6" style="color: #606060"&gt;   6:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="TypeShortDescription"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Custom Multi LookUp Field&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum7" style="color: #606060"&gt;   7:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="ParentType"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;LookupMulti&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum8" style="color: #606060"&gt;   8:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="UserCreatable"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;TRUE&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum9" style="color: #606060"&gt;   9:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="FieldTypeClass"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;CustLookuColumn.MultiLookUp,CustLookuColumn , Version=1.1.1.1, Culture=neutral, PublicKeyToken=6332f1922196b6de&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum10" style="color: #606060"&gt;  10:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="FieldEditorUserControl"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;/_controltemplates/YOUR_LookupFieldEditor.ascx&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum11" style="color: #606060"&gt;  11:&lt;/span&gt;     &lt;span style="color: #008000"&gt;&amp;lt;!-- &lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum12" style="color: #606060"&gt;  12:&lt;/span&gt; &lt;span style="color: #008000"&gt;        YOUR_LookupFieldEditor.ascx is not included it would be identical to the ascx control under ..\12\TEMPLATE\CONTROLTEMPLATES\LookupFieldEditor.ascx&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum13" style="color: #606060"&gt;  13:&lt;/span&gt; &lt;span style="color: #008000"&gt;    --&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum14" style="color: #606060"&gt;  14:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FieldType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum15" style="color: #606060"&gt;  15:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FieldTypes&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;font color="#ff0000"&gt;Note: The samples provided within this blog may not work, my intention was to provide you a workaround when you hit with this issue.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;Happy customization!!!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9897748" width="1" height="1"&gt;</description><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9897748</guid><pubDate>Mon, 21 Sep 2009 21:07:51 GMT</pubDate><author>nishandv</author><ng:modifiedDate>Mon, 21 Sep 2009 17:38:19 GMT</ng:modifiedDate><ng:postId>10523572046</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/nishand/commentrss.aspx?PostID=9897748</wfw:commentRss><comments>http://blogs.msdn.com/nishand/comments/9897748.aspx</comments><source url="http://blogs.msdn.com/nishand/default.aspx">Nishand's Blog</source></item><item><title>File Server Capacity Tool (FSCT) 1.0 available for download</title><link>http://blogs.technet.com/josebda/archive/2009/09/16/file-server-capacity-tool-fsct-1-0-available-for-download.aspx</link><description>&lt;P&gt;Version 1.0 of the File Server Capacity Tool (FSCT) was announced yesterday during a presentation by Jian Yan and&amp;nbsp; Bartosz Nyczkowski at SNIA’s Storage Developer Conference in Santa Clara, CA. The presentation covered a number of details about FSCT and included a demo running FSCT with the HomeFolders workload.&lt;/P&gt;
&lt;P&gt;If you are not familiar with FSCT, the download page offers this overview: “File server capacity planning and performance troubleshooting are critical aspects of high-level network administration. Central file servers and distributed client workstations are now the norm in most corporate networks. This structure reduces storage capacity requirements, centralizes backup, increases the availability of files, and simplifies the document revision and review process. However, because data storage and access are centralized, performance limitations impact the entire network population. Accurately projecting the number of users that hardware can support under a specific workload, and understanding when and where bottlenecks occur, are critical to making efficient improvements to the server configuration. File server capacity planning tools can be valuable in choosing new hardware for purchase, identifying the capacity of existing hardware, locating existing bottlenecks, and planning for resource expansion in advance of resource exhaustion. The throughput capacity of a file server can be expressed either as the maximum number of operations per second or a maximum number of users supported by the configuration. These values are influenced by several factors, some of which include processor speed, available memory, disk speed, network throughput and latency, and the speed with which SMB requests are processed.”&lt;/P&gt;
&lt;P&gt;The final version is available for download in both 32-bit (x86) and 64-bit (x64) versions. It is supported on&amp;nbsp; Windows Server 2003, Windows Server 2003 R2, Windows Server 2008, Windows Server 2008 R2, Windows Vista and&amp;nbsp; Windows 7 (with the latest service pack applied). &lt;/P&gt;
&lt;P&gt;Downloads are available now:&lt;BR&gt;x64: &lt;A href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=b20db7f1-15fd-40ae-9f3a-514968c65643" mce_href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=b20db7f1-15fd-40ae-9f3a-514968c65643"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=b20db7f1-15fd-40ae-9f3a-514968c65643&lt;/A&gt; &lt;BR&gt;x86: &lt;A href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=0b212272-1884-4af1-972d-42ef1db9f977" mce_href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=0b212272-1884-4af1-972d-42ef1db9f977"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=0b212272-1884-4af1-972d-42ef1db9f977&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;A white paper is also included in the download packages, with detailed description of the tool, step-by-step instructions on how to use it and reference of the command line interface.&lt;/P&gt;
&lt;P&gt;For questions about FSCT and how to use it, please use the forum at&lt;BR&gt;&lt;A href="http://social.technet.microsoft.com/Forums/en-US/fsct/threads" mce_href="http://social.technet.microsoft.com/Forums/en-US/fsct/threads"&gt;http://social.technet.microsoft.com/Forums/en-US/fsct/threads&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Also check some details on FSCT on these previous posts (from the release of the beta last year and the release candidate back in July):&lt;BR&gt;&lt;A href="http://blogs.technet.com/josebda/archive/2009/07/08/file-server-capacity-tool-fsct-release-candidate-available-for-download.aspx" mce_href="http://blogs.technet.com/josebda/archive/2009/07/08/file-server-capacity-tool-fsct-release-candidate-available-for-download.aspx"&gt;http://blogs.technet.com/josebda/archive/2009/07/08/file-server-capacity-tool-fsct-release-candidate-available-for-download.aspx&lt;/A&gt;&lt;BR&gt;&lt;A href="http://blogs.technet.com/josebda/archive/2008/10/06/fsct-a-cifs-smb-smb2-file-server-tool-for-capacity-planning-and-performance-troubleshooting.aspx" mce_href="http://blogs.technet.com/josebda/archive/2008/10/06/fsct-a-cifs-smb-smb2-file-server-tool-for-capacity-planning-and-performance-troubleshooting.aspx"&gt;http://blogs.technet.com/josebda/archive/2008/10/06/fsct-a-cifs-smb-smb2-file-server-tool-for-capacity-planning-and-performance-troubleshooting.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;This is a major milestone in the two-year journey to offer this tool publicly, which included efforts from a number of people from different teams at Microsoft, including the File Server Team and the Windows Performance Team.&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3281464" width="1" height="1"&gt;</description><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3281464</guid><pubDate>Wed, 16 Sep 2009 17:57:00 GMT</pubDate><author>josebda</author><ng:modifiedDate>Wed, 16 Sep 2009 16:09:40 GMT</ng:modifiedDate><ng:postId>10502390544</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><category>Windows Server 2008</category><category>Storage</category><category>Windows 7</category><category>FSCT</category><category>Windows Server 2008 R2</category><category>SMB</category><category>Interoperability</category><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/josebda/rsscomments.aspx?PostID=3281464</wfw:comment><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/josebda/commentrss.aspx?PostID=3281464</wfw:commentRss><comments>http://blogs.technet.com/josebda/comments/3281464.aspx</comments><source url="http://blogs.technet.com/josebda/default.aspx">Jose Barreto's Blog</source></item><item><title>Issue with Multi Field/Group values and SPWorkflowTaskProperties.ExtendedProperties</title><link>http://blogs.msdn.com/nishand/archive/2009/09/14/issue-with-multi-user-field-group-and-spworkflowtaskproperties-extendedproperties.aspx</link><description>&lt;p&gt;I encountered an issue when assigning a multi-user data to a workflow task field from within the workfflow.&lt;/p&gt; &lt;p&gt;There may be various reasons anyone wants to create a User/Group field with multiple values and set it within in the workflow as below, &lt;/p&gt; &lt;p&gt;SPWorkflowTaskProperties.ExtendedProperties["CustomAssignToUsers"] = "domain\user1;domain\user2"; &lt;/p&gt; &lt;p&gt;SharePoint checks the property collection and strips off the multiple user data from the property for type SPFieldUser. &lt;/p&gt; &lt;p&gt;As a workaround, we can create a custom field which inherits from the SPFieldUser, this new field type bypass the control type checks within SharePoint.&lt;/p&gt; &lt;div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 50.68%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: 'Courier New', courier, monospace; height: 210px; background-color: #f4f4f4; text-align: left"&gt; &lt;div id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Text;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; Microsoft.SharePoint;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; Microsoft.SharePoint.WebControls;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Xml;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&amp;nbsp;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;namespace&lt;/span&gt; MyCurrentUserFieldNS&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;{&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; MyCurrentUserField : SPFieldUser&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;    {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; MyCurrentUserField(SPFieldCollection fields, &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; fieldName)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;            : &lt;span style="color: #0000ff"&gt;base&lt;/span&gt;(fields, fieldName)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;        {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;            &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.Presence = &lt;span style="color: #0000ff"&gt;true&lt;/span&gt;;         &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;        }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;        &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;override&lt;/span&gt; &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; AllowMultipleValues&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;        {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;            get&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;            {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;                &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff"&gt;true&lt;/span&gt;;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;            }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;            set&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;            {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;                &lt;span style="color: #0000ff"&gt;base&lt;/span&gt;.AllowMultipleValues = &lt;span style="color: #0000ff"&gt;true&lt;/span&gt;;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;            }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;        }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&amp;nbsp;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;        &lt;span style="color: #008000"&gt;//There is an issue with the SPFieldUser,setting the 'AllowMultipleValues' resets the&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;        &lt;span style="color: #008000"&gt;//Control 'Type'. As a workaround, I override this function and update the field schema&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;override&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; OnAdded(SPAddFieldOptions op)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;        {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;            &lt;span style="color: #0000ff"&gt;base&lt;/span&gt;.OnAdded(op);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;            XmlDocument doc = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; XmlDocument();&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;            doc.LoadXml(&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.SchemaXml);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;            XmlNode element = doc.FirstChild;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;            XmlAttribute attr = doc.CreateAttribute(&lt;span style="color: #006080"&gt;"Mult"&lt;/span&gt;);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;            attr.Value = &lt;span style="color: #006080"&gt;"TRUE"&lt;/span&gt;;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;            element.Attributes.Append(attr);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;            &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.SchemaXml = doc.OuterXml;         &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;            &lt;span style="color: #0000ff"&gt;base&lt;/span&gt;.Update();&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&amp;nbsp;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;        }        &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; MyCurrentUserField(SPFieldCollection fields, &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; typeName, &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; displayName)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;            : &lt;span style="color: #0000ff"&gt;base&lt;/span&gt;(fields, typeName, displayName)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;        {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;            &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.Presence = &lt;span style="color: #0000ff"&gt;true&lt;/span&gt;;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;        }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;override&lt;/span&gt; Type FieldValueType&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;        {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;            get&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;            {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;                &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(SPFieldUserValueCollection);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;            }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;        }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;        &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;override&lt;/span&gt; BaseFieldControl FieldRenderingControl&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;        {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;            get&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;            {              &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;                BaseFieldControl fldControl = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; UserField();&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;                fldControl.FieldName = InternalName;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;                &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; fldControl;             &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;            }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;        }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;    }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;}&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 51.13%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: 'Courier New', courier, monospace; height: 210px; background-color: #f4f4f4; text-align: left"&gt;
&lt;div id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FieldTypes&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FieldType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="TypeName"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;MyCurrentUserField&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="ParentType"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;LookupMulti&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="TypeDisplayName"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;My Current User&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="TypeShortDescription"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;My Current User&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Mult"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;TRUE&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="UserCreatable"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;TRUE&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="ShowInListCreate"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;TRUE&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="ShowInSurveyCreate"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;TRUE&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="ShowInDocumentLibraryCreate"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;TRUE&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="ShowInColumnTemplateCreate"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;TRUE&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="FieldTypeClass"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;MyCurrentUserFieldNS.MyCurrentUserField, MyCurrentUserField, Version=1.0.0.0, Culture=neutral, PublicKeyToken=79330dc34f5433ec&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="FieldEditorUserControl"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;/_controltemplates/UserFieldEditor.ascx&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Field&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FieldTypes&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Save the second markup as ‘FLDTYPES_MyCurrentUserField.xml’ and paste it under ..\12\TEMPLATE\XML folder&lt;/p&gt;
&lt;p&gt;Build an assembly using the code snippet provided below, strong name it.&lt;/p&gt;
&lt;p&gt;Ensure that you change the ‘FLDTYPES_MyCurrentUserField.xml’ according to the binary version and the publictokenkey.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Other Resources&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;/b&gt;&amp;nbsp; &lt;p&gt;&lt;b&gt;Custom Field Types&lt;/b&gt; 
&lt;p&gt;&lt;b&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms446361.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms446361.aspx&lt;/a&gt;&lt;/b&gt; 
&lt;p&gt;&lt;b&gt;Create a custom field type and&amp;nbsp; a field Control&lt;/b&gt; 
&lt;p&gt;&lt;b&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb417414.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb417414.aspx&lt;/a&gt;&lt;/b&gt; 
&lt;p&gt;&amp;nbsp; &lt;p&gt;Enjoy!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9895172" width="1" height="1"&gt;</description><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9895172</guid><pubDate>Mon, 14 Sep 2009 23:20:37 GMT</pubDate><author>nishandv</author><ng:modifiedDate>Mon, 14 Sep 2009 22:11:10 GMT</ng:modifiedDate><ng:postId>10493069851</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/nishand/commentrss.aspx?PostID=9895172</wfw:commentRss><comments>http://blogs.msdn.com/nishand/comments/9895172.aspx</comments><source url="http://blogs.msdn.com/nishand/default.aspx">Nishand's Blog</source></item><item><title>Important: Be careful when installing WSS August Cumulative Update</title><link>http://blogs.technet.com/stefan_gossner/archive/2009/09/14/important-be-careful-when-installing-wss-august-cumulative-update.aspx</link><description>&lt;P&gt;Last week we discovered a problem with the WSS August CU. &lt;/P&gt;
&lt;P&gt;Due to schema and stored procedure changes coming with the August CU databases with a patch level older than the August CU cannot be upgraded to August CU through database attach method.&lt;/P&gt;
&lt;P&gt;That means that you need to be careful when upgrading your WSS or MOSS farm to August CU as the usual recommended steps to detach the content database before installing the hotfix will cause problems later when you are going to reattach the databases. In case you need to install the August CU now to resolve an issue that is covered by the fix you should avoid detaching the content databases during the hotfix installation. If the databases are attached the hotfix installation will correctly upgrade the database when running PSCONFIG.&lt;/P&gt;
&lt;P&gt;In case you need to detach the databases it would be required to upgrade the database in a separate farm before attaching them back to the production database. E.g. install a test farm with the previous build level the databases, attach the databases there and then upgrade the test farm to August CU. Afterwards you can detach the upgraded databases from the test farm and attach them back to the production farm.&lt;/P&gt;
&lt;P&gt;Also be aware that this will also affect database backups taken before installing August CU.&lt;/P&gt;
&lt;P&gt;The product group is currently actively investigating this issue to identify a more elegant method to avoid this problem.&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3280882" width="1" height="1"&gt;</description><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3280882</guid><pubDate>Mon, 14 Sep 2009 08:25:00 GMT</pubDate><author>Stefan_Gossner</author><ng:modifiedDate>Mon, 14 Sep 2009 03:18:40 GMT</ng:modifiedDate><ng:postId>10489209331</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><category>MOSS 2007 / WSS 3.0</category><category>Hotfix Info</category><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/stefan_gossner/commentrss.aspx?PostID=3280882</wfw:commentRss><comments>http://blogs.technet.com/stefan_gossner/comments/3280882.aspx</comments><source url="http://blogs.technet.com/stefan_gossner/default.aspx">Stefan Goßner</source></item><item><title>Windows 7 Federated Search Connector</title><link>http://feedproxy.google.com/~r/CodeJediNET/~3/zITQbGgDVBM/windows-7-federated-search-connector.aspx</link><description>&lt;p&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="bing" alt="bing" src="http://tachiblog.com.mx/wp-content/uploads/2009/06/binglogo.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;During the Keynote at TechEd we showed Federated Search Connectors for Windows 7 Windows Explorer.&amp;#160;&amp;#160; I have been using this for searching the web using Bing!&amp;#160; I have just uploaded the Search Connector for Bing! to my &lt;a href="http://blogs.msdn.com/williamcornwill/pages/sample-code.aspx"&gt;Sample Code&lt;/a&gt; page.&lt;/p&gt;  &lt;p&gt;To use it simply;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;create a new folder on your C: drive “Search Connectors” &lt;/li&gt;    &lt;li&gt;download the Bing.osdx file to this new folder &lt;/li&gt;    &lt;li&gt;double click the Bing.osdx file &lt;/li&gt;    &lt;li&gt;click Install, then you are ready to go &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Bing federated search in Windows 7" border="0" alt="Bing federated search in Windows 7" src="http://blogs.msdn.com/blogfiles/williamcornwill/WindowsLiveWriter/Windows7FederatedSearchConnector_8B83/image_3.png" width="554" height="344" /&gt; &lt;/p&gt;  &lt;p&gt;You can also create Federated Search Connectors to other OpenSearch standard search services such as Flickr and YouTube or you could even create one for &lt;a href="http://msdn.microsoft.com/en-us/library/dd742958(VS.85).aspx" target="_blank"&gt;SharePoint.&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9892882" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/CodeJediNET?a=zITQbGgDVBM:S0-Xd8fZwrQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CodeJediNET?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CodeJediNET?a=zITQbGgDVBM:S0-Xd8fZwrQ:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CodeJediNET?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CodeJediNET?a=zITQbGgDVBM:S0-Xd8fZwrQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CodeJediNET?i=zITQbGgDVBM:S0-Xd8fZwrQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CodeJediNET?a=zITQbGgDVBM:S0-Xd8fZwrQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CodeJediNET?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9892882</guid><pubDate>Tue, 08 Sep 2009 23:55:29 GMT</pubDate><author>Code Jedi</author><ng:modifiedDate>Mon, 14 Sep 2009 19:32:47 GMT</ng:modifiedDate><ng:postId>10464457531</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><category>MOSS</category><category>Search</category><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://blogs.msdn.com/williamcornwill/archive/2009/09/09/windows-7-federated-search-connector.aspx</feedburner:origLink><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/williamcornwill/commentrss.aspx?PostID=9892882</wfw:commentRss><comments>http://blogs.msdn.com/williamcornwill/comments/9892882.aspx</comments><source url="http://blogs.msdn.com/williamcornwill/default.aspx">CodeJedi.NET</source></item><item><title>Not long until Tech Ed Australia 2009</title><link>http://feedproxy.google.com/~r/CodeJediNET/~3/Zn6LuVXV5Xc/not-long-until-tech-ed-australia-2009.aspx</link><description>&lt;p&gt;Tech Ed Australia 2009 is on next week on the Gold Coast.&amp;#160; This year we have some exciting things planned which all start with every attendee receiving a &lt;a title="free HP Mini 2140 Netbook" href="http://www.msteched.com/australia/Public/windows-7-experience.aspx"&gt;free HP Mini 2140 Netbook&lt;/a&gt; – pre loaded with Windows 7 RTM, Office 2010 and a host of other goodies.&lt;/p&gt;  &lt;p&gt;Lee Hickin and I will be presenting on the differences between the on-premise and online versions of SharePoint (OFC250 Friday at 9:45am in Meeting Room 7.&amp;#160; More information on this can be found on the Online Services Team Blog:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://blogs.technet.com/msonline/archive/2009/09/03/teched-australia-2009-down-under-and-online.aspx" href="http://blogs.technet.com/msonline/archive/2009/09/03/teched-australia-2009-down-under-and-online.aspx"&gt;http://blogs.technet.com/msonline/archive/2009/09/03/teched-australia-2009-down-under-and-online.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Please track me down during the conference to discuss all things SharePoint.&amp;#160; I will be manning the SharePoint Booth during the Tuesday night welcome party and again on Thursday morning so please pop by.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9890717" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/CodeJediNET?a=Zn6LuVXV5Xc:vVKUQiMAE1Q:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CodeJediNET?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CodeJediNET?a=Zn6LuVXV5Xc:vVKUQiMAE1Q:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CodeJediNET?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CodeJediNET?a=Zn6LuVXV5Xc:vVKUQiMAE1Q:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CodeJediNET?i=Zn6LuVXV5Xc:vVKUQiMAE1Q:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CodeJediNET?a=Zn6LuVXV5Xc:vVKUQiMAE1Q:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CodeJediNET?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9890717</guid><pubDate>Thu, 03 Sep 2009 03:59:10 GMT</pubDate><author>Code Jedi</author><ng:modifiedDate>Thu, 03 Sep 2009 01:41:47 GMT</ng:modifiedDate><ng:postId>10440031030</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><category>MOSS</category><category>Office</category><category>TechEd</category><category>BPOS</category><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://blogs.msdn.com/williamcornwill/archive/2009/09/03/not-long-until-tech-ed-australia-2009.aspx</feedburner:origLink><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/williamcornwill/commentrss.aspx?PostID=9890717</wfw:commentRss><comments>http://blogs.msdn.com/williamcornwill/comments/9890717.aspx</comments><source url="http://blogs.msdn.com/williamcornwill/default.aspx">CodeJedi.NET</source></item><item><title>TI-55-II calculator, the first device I ever programmed</title><link>http://blogs.technet.com/josebda/archive/2009/08/29/ti-55-ii-calculator-the-first-device-i-ever-programmed.aspx</link><description>&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR vAlign=top align=left&gt;
&lt;TD&gt;
&lt;P&gt;I recently bought a used TI-55-II on eBay. This is an old (early 80’s) Texas Instruments calculator, one the first programmable ones. I got it mostly for sentimental value, since I used to own one back in Brazil in 1983, my last year in high school. &lt;/P&gt;
&lt;P&gt;Looking back, the fact that I got this specific programmable calculator exactly at that moment in my life was probably an important contributing factor to my choice of Computer Science when I joined the Federal University of Ceara in Brazil in 1984. Before that, I had my eyes set on Architecture. And not Computer or Systems Architecture, I should say, since back&amp;nbsp;then we did not associate Architecture with Computer Science careers.&lt;/P&gt;
&lt;P&gt;The TI-55-II is actually a pretty limited device by today’s standards. You have a 10-digit LCD display, 8 “memories” and 56 “programming steps”. Programming the calculator basically meant storing a sequence of keystrokes and you had no conditional statements, just one RST command to go back to step 0. Even with that, I remember being quite impressed with the ability to create a program, use multiple variables and display data on the screen (there is a PAUSE instruction to let you see a number on the screen before moving to the next step). &lt;/P&gt;
&lt;P&gt;The calculator I used back in high school was actually manufactured in the city of Manaus in Brazil ("Produzida na Zona Franca de&amp;nbsp;Manaus") by a subsidiary of Texas Instruments. I found some information about it on the internet: &lt;A href="http://www.datamath.org/Sci/Slanted/TI-55-II-AA.htm" mce_href="http://www.datamath.org/Sci/Slanted/TI-55-II-AA.htm"&gt;http://www.datamath.org/Sci/Slanted/TI-55-II-AA.htm&lt;/A&gt;. In fact, there is even a soft copy of the manual in PDF format: &lt;A href="http://www.datamath.net/Manuals/TI-55-II_QR_US.pdf" mce_href="http://www.datamath.net/Manuals/TI-55-II_QR_US.pdf"&gt;http://www.datamath.net/Manuals/TI-55-II_QR_US.pdf&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;My used TI-55-II I got from eBay (shown on the right) was made in the US in 1982. It's almost the same as the Brazilian model except for the type of battery it uses. Details&amp;nbsp;at &lt;A href="http://www.datamath.org/Sci/Slanted/TI-55-II.htm"&gt;http://www.datamath.org/Sci/Slanted/TI-55-II.htm&lt;/A&gt;. Mine is actually working fine and I even managed to remember how to create simple programs with it. Interesting how your brain can retain that kind of information decades later… &lt;/P&gt;
&lt;P&gt;See also a previous blog post on CP/M and the TRS-80, which I used a few years after that: &lt;A href="http://blogs.technet.com/josebda/archive/2009/08/07/the-good-old-days-of-cp-m-2-2-on-a-trs-80-with-an-8-bit-z80-cpu.aspx" mce_href="http://blogs.technet.com/josebda/archive/2009/08/07/the-good-old-days-of-cp-m-2-2-on-a-trs-80-with-an-8-bit-z80-cpu.aspx"&gt;http://blogs.technet.com/josebda/archive/2009/08/07/the-good-old-days-of-cp-m-2-2-on-a-trs-80-with-an-8-bit-z80-cpu.aspx&lt;/A&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;IMG style="WIDTH: 234px; HEIGHT: 402px" title=TI-55-II alt=TI-55-II src="http://blogs.technet.com/photos/filecab/images/3278051/original.aspx" width=234 height=402 mce_src="http://blogs.technet.com/photos/filecab/images/3278051/original.aspx"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3278050" width="1" height="1"&gt;</description><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3278050</guid><pubDate>Sun, 30 Aug 2009 02:50:00 GMT</pubDate><author>josebda</author><ng:modifiedDate>Sun, 30 Aug 2009 11:03:30 GMT</ng:modifiedDate><ng:postId>10419459549</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><category>Brazil</category><category>History</category><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/josebda/rsscomments.aspx?PostID=3278050</wfw:comment><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/josebda/commentrss.aspx?PostID=3278050</wfw:commentRss><comments>http://blogs.technet.com/josebda/comments/3278050.aspx</comments><source url="http://blogs.technet.com/josebda/default.aspx">Jose Barreto's Blog</source></item><item><title>SharePoint 2010 Training for SharePoint 2007 Partners</title><link>http://blogs.msdn.com/arpans/archive/2009/08/27/sharepoint-2010-training-for-sharepoint-2007-partners.aspx</link><description>&lt;p&gt;A lot of people have asked about SharePoint 2010 Training. Well now, it’s here! We’re announcing SharePoint Ignite which is SharePoint 2010 training for SharePoint 2007 Partners. Check out all the details and pre-requisites at &lt;a href="http://sharepoint.microsoft.com/topics/Pages/IgniteProgram4.aspx"&gt;http://sharepoint.microsoft.com/topics/Pages/IgniteProgram4.aspx&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9887982" width="1" height="1"&gt;</description><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9887982</guid><pubDate>Fri, 28 Aug 2009 05:47:55 GMT</pubDate><author>arpans</author><ng:modifiedDate>Thu, 03 Sep 2009 16:22:02 GMT</ng:modifiedDate><ng:postId>10443167608</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/arpans/commentrss.aspx?PostID=9887982</wfw:commentRss><comments>http://blogs.msdn.com/arpans/comments/9887982.aspx</comments><source url="http://blogs.msdn.com/arpans/default.aspx">Arpan Shah's Blog</source></item><item><title>Have you registered for the SharePoint Conference in Las Vegas</title><link>http://feedproxy.google.com/~r/CodeJediNET/~3/E-D3WVVPMuE/have-you-registered-for-the-sharepoint-conference-in-las-vegas.aspx</link><description>&lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SharePoint Conference 2009" border="0" alt="SharePoint Conference 2009" src="http://blogs.msdn.com/blogfiles/williamcornwill/WindowsLiveWriter/HaveyouregisteredfortheSharePointConfere_A128/SPC09_Rectangle%20Email%20Sig_3.jpg" width="350" height="91" /&gt; &lt;/p&gt;  &lt;p&gt;Have you registered to attend the SharePoint Conference in Las Vegas coming up in October?&lt;/p&gt;  &lt;p&gt;SharePoint Conference 2009 will be the first time Microsoft will publically share all of what SharePoint 2010 has to offer.&lt;/p&gt;  &lt;p&gt;There are almost 250 sessions planned, and over 80% of them will be brand new 2010 content. &lt;b&gt;That’s 15,000 minutes of SharePoint, SharePoint and more SharePoint that you’re simply not going to get anywhere else!&lt;/b&gt; &lt;/p&gt;  &lt;p&gt;You’ll get to listen, talk and network with Microsoft Product experts, SharePoint MVPs, Customers, top Industry Analysts and over 140 SharePoint Partners.&amp;#160; There won’t be anywhere else on the planet with this concentration of SharePoint knowledge and experience in one place and at one time. &lt;/p&gt;  &lt;p&gt;To help you get maximum value from the conference, we will be recording every session and publishing the files within 48 hours for &lt;b&gt;registered attendees&lt;/b&gt; to watch, on demand, through the SharePoint Conference 2009 web site. Almost 250 sessions and you won’t miss a thing! &lt;/p&gt;  &lt;p&gt;Registration is currently at over 70% of capacity and is selling out very quickly!&amp;#160; So get in quick before it is completely &lt;strong&gt;SOLD OUT!&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;For more information visit &lt;a href="http://www.mssharepointconference.com"&gt;www.mssharepointconference.com&lt;/a&gt;.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a name="_GoBack"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="https://spc2009.dynamiceventsreg.com/"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Register Now" border="0" alt="Register Now" src="http://blogs.msdn.com/blogfiles/williamcornwill/WindowsLiveWriter/HaveyouregisteredfortheSharePointConfere_A128/clip_image002_41e0d1c9-5744-43d6-9b9f-dc69428b1a43.jpg" width="158" height="22" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;During the registration process don’t forget to put my name “William Cornwill” down as the referral name.&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9887736" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/CodeJediNET?a=E-D3WVVPMuE:CAd6zDk96jQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CodeJediNET?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CodeJediNET?a=E-D3WVVPMuE:CAd6zDk96jQ:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CodeJediNET?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CodeJediNET?a=E-D3WVVPMuE:CAd6zDk96jQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CodeJediNET?i=E-D3WVVPMuE:CAd6zDk96jQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CodeJediNET?a=E-D3WVVPMuE:CAd6zDk96jQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CodeJediNET?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9887736</guid><pubDate>Fri, 28 Aug 2009 01:27:45 GMT</pubDate><author>Code Jedi</author><ng:modifiedDate>Fri, 28 Aug 2009 17:09:22 GMT</ng:modifiedDate><ng:postId>10410447738</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><category>SharePoint 2010</category><category>SharePoint Conference</category><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://blogs.msdn.com/williamcornwill/archive/2009/08/28/have-you-registered-for-the-sharepoint-conference-in-las-vegas.aspx</feedburner:origLink><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/williamcornwill/commentrss.aspx?PostID=9887736</wfw:commentRss><comments>http://blogs.msdn.com/williamcornwill/comments/9887736.aspx</comments><source url="http://blogs.msdn.com/williamcornwill/default.aspx">CodeJedi.NET</source></item><item><title>Announcing the Fourth Release of the Microsoft SharePoint Administration Toolkit</title><link>http://sharepoint.microsoft.com/blogs/zach/Lists/Posts/ViewPost.aspx?ID=39</link><description>&lt;div&gt;&lt;b&gt;Body:&lt;/b&gt; &lt;div class=ExternalClassFE2D6FEEBB6E4CDEA3B04318493BB710&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;[Since i used to post there here first, cross posting from the SharePoint Team Blog]&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I’m pleased to announce that the fourth version of the Microsoft SharePoint Administration Toolkit is available for download!  This is our last planned offering of new features and functionality for this toolkit that services both Microsoft Office SharePoint Server 2007 and Windows SharePoint Services v3.0.   That said, we do plan to release a separate new toolkit for SharePoint 2010.  With this release we added functionality to address various difficult administrative tasks.  These include SharePoint Diagnostics Tool improvements, the Permissions Reporting Tool, the Quota Management command, and Security Configuration Wizard Manifests.  Let’s look at these areas:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;SharePoint Diagnostics Tool (SPDiag) update&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The SharePoint Diagnostics Tool (SPDiag) version 2 contains several important updates and new features that increase its effectiveness as a troubleshooting tool.  All SPDiag version 1 functionality has been retained, although some existing functions and features have been improved.&lt;/p&gt;
&lt;p&gt;· A Diagnostics tab has been added which executes predefined rules designed to discover and report against some of the most common SharePoint issues.&lt;/p&gt;
&lt;p&gt;&lt;img style="width:264px;height:235px" alt="" src="http://blogs.msdn.com/blogfiles/sharepoint/WindowsLiveWriter/AnnouncingtheFourthReleaseoftheMicrosoft_614/clip_image001_2.jpg" width=286 height=249&gt;&lt;/p&gt;
&lt;p&gt;· Command line data collection and data import has been added so that you can collect data from all servers in a farm for a given time range without installing the complete SharePoint Administration Toolkit on the target farm.  The data can then be relocated to a remote computer and imported into a new project for offline analysis.&lt;/p&gt;
&lt;p&gt;· Trend view zoom has been added to the performance monitor graph so that you can click and drag a specific time frame—updating all other frames to the new timeframe.  Zooming out is as simple as a right click.&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="width:323px;height:113px" alt="" src="http://blogs.msdn.com/blogfiles/sharepoint/WindowsLiveWriter/AnnouncingtheFourthReleaseoftheMicrosoft_614/clip_image002_2.jpg" width=176 height=59&gt;&lt;/p&gt;
&lt;p&gt;You can see detailed instructions on improvements on SPDiag on Microsoft TechNet:&lt;/p&gt;
&lt;p&gt;· SharePoint Diagnostics Tool (Office SharePoint Server)  (&lt;a href="http://technet.microsoft.com/en-us/library/dd745013.aspx"&gt;http://technet.microsoft.com/en-us/library/dd745013.aspx&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;· SharePoint Diagnostics Tool (Windows SharePoint Services)  (&lt;a href="http://technet.microsoft.com/en-us/library/dd745013.aspx"&gt;http://technet.microsoft.com/en-us/library/dd745013.aspx&lt;/a&gt;) &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Permissions Reporting Tool&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the past, customers have had a difficult time trying to detect what sites in a site collection have broken inheritance from the parent and thus why they cannot access some sites.  The Permissions Reporting tool for SharePoint makes it very easy to detect where inheritance has been broken in a site collection.  You can compare an object like a list or a site against its parent to see where inheritance was broken and run reports to get more information on such sites. You can also check effective permissions for a user or a group in a particular site, web, or list in a site collection; this feature lists the permissions that a user or group has.&lt;/p&gt;
&lt;p&gt;Once the Permissions Reporting tool is installed in the farm, a site collection administrator can go to the top-level site or any subsite in a site collection and use the links on the Site Settings page to reap the benefits of the tool. The following image shows the new links that appear after you have installed the Permissions Reporting tool in the farm.&lt;/p&gt;
&lt;p&gt;&lt;img style="width:151px;height:189px" alt="" src="http://blogs.msdn.com/blogfiles/sharepoint/WindowsLiveWriter/AnnouncingtheFourthReleaseoftheMicrosoft_614/clip_image004_2.jpg" width=182 height=220&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note: &lt;/strong&gt;To be able to see the links for &lt;strong&gt;Broken Inheritance Reports Jobs &lt;/strong&gt;and &lt;strong&gt;Compare Permissions Sets,&lt;/strong&gt; you must be a site collection administrator. However, anyone with the &lt;strong&gt;Enumerate Permissions &lt;/strong&gt;permission — by default, people in the site Owners group — will be able to see the &lt;strong&gt;Check Effective Permissions &lt;/strong&gt;link. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; Click Broken Inheritance Report Jobs to run reports of broken sites in a site collection. Reports contain any information relevant to a broken inheritance. The report output is in XML, but you can save the files and then open them in Excel to see the information at a glance. For more information, see Run broken inheritance reports on Office.com.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt; Click Check Effective Permissions to check a user or group’s permissions on a site, list, or item. You can view what permissions are allowed and denied and any blocking permissions. For more information, see Check permissions for a user or group on Office.com.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. &lt;/strong&gt;Click Compare Permission Sets to compare an object such as a site or a list against its parent to quickly detect which object breaks inheritance in your site collection. For more information, see Compare permission sets on Office.com.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Quota Management&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the current version of SharePoint Products and Technologies, once a quota limit is applied to a site collection, the only way to change the limit is to manually update the quota limit for each site collection or write custom code. The updatequota operation the toolkit adds to stsadm does not have any parameters to globally set a quota limit change (that is, from 2 GB to 5 GB). The quota limit change is set by an administrator by using Central Administration Web site. Once the limit change is set, you then use the updatequota operation the toolkit adds to stsadm to apply the change to the specific site collections.&lt;/p&gt;
&lt;p&gt;For example, you have a quota template named “Global” with a quota limit of 2 gigabyte (GB) that has been applied to 2,000 site collections. Currently, there is no automated way to modify existing site collections with this value. With the updatequota stsadm operation, the quota limit for all existing site collections using the Global quota template can be automatically increased or decreased as needed.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Security Configuration Wizard Manifests&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Security Configuration Wizard (SCW) is an attack surface reduction tool introduced with Windows Server 2003 Service Pack 1. SCW uses a roles-based metaphor to solicit the functionality required for a server and disables the functionality that is not required. By automating this security best practice, SCW helps to create Windows environments that are less susceptible, on the whole, to security vulnerabilities that have been exploited.&lt;/p&gt;
&lt;p&gt;For more information about the Security Configuration Wizard in Windows Server 2003, see the Security Configuration Wizard Documentation (&lt;a href="http://go.microsoft.com/fwlink/?LinkId=162647"&gt;http://go.microsoft.com/fwlink/?LinkId=162647&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;The SCW manifests for Microsoft Office SharePoint Server 2007 and Windows SharePoint Services 3.0 are included in the SharePoint Administration Toolkit v4.0. The manifests add the SCW roles for Office SharePoint Server 2007 and Windows SharePoint Services 3.0 to Windows Server 2003.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;For installation instructions, see &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;WSS: Installing the SharePoint Administration Toolkit (Windows SharePoint Services) (&lt;a href="http://technet.microsoft.com/en-us/library/cc508987.aspx"&gt;http://technet.microsoft.com/en-us/library/cc508987.aspx&lt;/a&gt;) &lt;/p&gt;
&lt;p&gt;Installing the SharePoint Administration Toolkit (Office SharePoint Server) (&lt;a href="http://technet.microsoft.com/en-us/library/cc508849.aspx"&gt;http://technet.microsoft.com/en-us/library/cc508849.aspx&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;For more detailed information about the SharePoint Administration Toolkit, see following documentation on TechNet: &lt;/p&gt;
&lt;p&gt;    SharePoint Administration Toolkit (Office SharePoint Server) (&lt;a href="http://technet.microsoft.com/library/cc508851.aspx"&gt;http://technet.microsoft.com/library/cc508851.aspx&lt;/a&gt;) &lt;br&gt;   SharePoint Administration Toolkit (Windows SharePoint Services) (&lt;a href="http://technet.microsoft.com/en-us/library/cc508986.aspx"&gt;http://technet.microsoft.com/en-us/library/cc508986.aspx&lt;/a&gt;) &lt;/p&gt;
&lt;p&gt;The download links for the SharePoint Administration Toolkit v4.0&lt;/p&gt;
&lt;p&gt;  x64: &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=665e98ea-5318-486d-aba2-2bfe46254357"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=665e98ea-5318-486d-aba2-2bfe46254357&lt;/a&gt;   (&lt;a href="http://go.microsoft.com/fwlink/?LinkID=142035"&gt;http://go.microsoft.com/fwlink/?LinkID=142035&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;  x86: &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=cd2d09a7-1159-4d40-be1c-8efab1345381"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=cd2d09a7-1159-4d40-be1c-8efab1345381&lt;/a&gt;   (&lt;a href="http://go.microsoft.com/fwlink/?LinkId=141504"&gt;http://go.microsoft.com/fwlink/?LinkId=141504&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Dan Winter&lt;br&gt;SharePoint Program Manager&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Published:&lt;/b&gt; 8/27/2009 11:16 AM&lt;/div&gt;
</description><guid isPermaLink="false">http://sharepoint.microsoft.com/blogs/zach/Lists/Posts/ViewPost.aspx?ID=39</guid><pubDate>Thu, 27 Aug 2009 18:14:43 GMT</pubDate><author>Zach (SharePoint - MSFT)</author><ng:modifiedDate>Thu, 10 Sep 2009 22:43:33 GMT</ng:modifiedDate><ng:postId>10476944478</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><source url="http://sharepoint.microsoft.com/blogs/zach/Lists/Posts/AllPosts.aspx">Zach Rosenfield's SharePoint Blog: Posts</source></item><item><title>SharePoint Administration Toolkit v4.0 (SPATv4) has released!</title><link>http://blogs.msdn.com/dwinter/archive/2009/08/27/sharepoint-administration-toolkit-v4-0-spatv4-has-released.aspx</link><description>&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: yellow"&gt;UPDATE: There was an issue with the originally posted download regarding the Batch Site Manager and Permission Reporting tools, this has been fixed. If you experienced a problem, simply uninstall, re-download the package, and reinstall.&lt;/FONT&gt;&lt;BR&gt;&lt;BR&gt;I'm not going to cross-post, but check out the announcement over on the team blog:&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;A href="http://blogs.msdn.com/sharepoint/archive/2009/08/27/announcing-the-fourth-release-of-the-microsoft-sharepoint-administration-toolkit.aspx" mce_href="http://blogs.msdn.com/sharepoint/archive/2009/08/27/announcing-the-fourth-release-of-the-microsoft-sharepoint-administration-toolkit.aspx"&gt;http://blogs.msdn.com/sharepoint/archive/2009/08/27/announcing-the-fourth-release-of-the-microsoft-sharepoint-administration-toolkit.aspx&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;I do want to make a special callout that the Permission Reporting Tool (check effective permissions, etc) requires that you be running at least the April 2009 CU for WSSv3.&amp;nbsp; You can be past this, but that is the first release that contained the check effective permissions API that the tool utilizes, so for that tool it is required.&amp;nbsp; If you are just going to use SPDiagv2, etc, you don't need to be on the April 2009 CU for WSSv3 or later.&amp;nbsp; Only the Permissions Reporting Tool carries that requirement.&lt;/P&gt;
&lt;P&gt;Enjoy!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9887150" width="1" height="1"&gt;</description><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9887150</guid><pubDate>Thu, 27 Aug 2009 17:36:00 GMT</pubDate><author>dwinter</author><ng:modifiedDate>Wed, 02 Sep 2009 03:54:42 GMT</ng:modifiedDate><ng:postId>10408678948</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/dwinter/commentrss.aspx?PostID=9887150</wfw:commentRss><comments>http://blogs.msdn.com/dwinter/comments/9887150.aspx</comments><source url="http://blogs.msdn.com/dwinter/default.aspx">dwinter's [MSFT] WebLog</source></item><item><title>How to deal with invalid characters in SOAP responses from ASP.NET web services</title><link>http://blogs.technet.com/stefan_gossner/archive/2009/08/26/how-to-deal-with-invalid-characters-in-soap-responses-from-asp-net-web-services.aspx</link><description>&lt;P&gt;ASP.NET webservices use XML 1.0 which restricts the character set allowed to the following chars:&lt;/P&gt;
&lt;P&gt;[2]&amp;nbsp;&amp;nbsp;&amp;nbsp; Char&amp;nbsp;&amp;nbsp;&amp;nbsp; ::=&amp;nbsp;&amp;nbsp;&amp;nbsp; #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] /* any Unicode character, excluding the surrogate blocks, FFFE, and FFFF. */ &lt;BR&gt;(Source: &lt;A href="http://www.w3.org/TR/REC-xml/#charsets" mce_href="http://www.w3.org/TR/REC-xml/#charsets"&gt;http://www.w3.org/TR/REC-xml/#charsets&lt;/A&gt;)&lt;/P&gt;
&lt;P&gt;As you can see several characters below 0x20 are not allowed with XML 1.0. This also includes characters like the vertical tab (0x0B) which is used pretty frequently.&lt;/P&gt;
&lt;P&gt;For backward compatibility reasons .NET webservices do not support XML 1.1 which would allow these character as explained in the following article:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/en-us/xml/bb291067.aspx" mce_href="http://msdn.microsoft.com/en-us/xml/bb291067.aspx"&gt;http://msdn.microsoft.com/en-us/xml/bb291067.aspx&lt;/A&gt;&lt;BR&gt;W3C Recommendations NOT Supported at This Time&lt;BR&gt;...&lt;BR&gt;XML 1.1 - Microsoft has deliberately chosen not to support the XML 1.1 Recommendation unless there is significant customer demand. &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Usually the limitation of XML 1.0 is not hurting - except if the XML response sent back to the client would include one of the forbidden characters like the vertical tab.&lt;/P&gt;
&lt;P&gt;An interesting tidbit is that the web service stub (server) routines implemented in .NET framework do not bother about the invalid characters when encoding the XML response. They encode the invalid characters as numeric character reference like &amp;amp;#11; for the vertical tab char. The problem occurs in the web service proxy (client) routines. These raise an exception when an entity is returned which is not allowed in XML 1.0:&lt;/P&gt;
&lt;P&gt;There is an error in XML document (8, 1314). &lt;BR&gt;&amp;nbsp;&amp;nbsp; at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events) &lt;BR&gt;&amp;nbsp;&amp;nbsp; at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle) &lt;BR&gt;&amp;nbsp;&amp;nbsp; at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) &lt;BR&gt;&amp;nbsp;&amp;nbsp; at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) &lt;BR&gt;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;
&lt;P&gt;So there is a slight discrepancy between the handling of the invalid characters on the web service proxy and stub side.&lt;/P&gt;
&lt;P&gt;It would be great if the ASP.NET webservice classes would avoid sending invalid numeric character references to the client at all - but that is not implemented in .NET framework. As the client also cannot get hands on the content before the exception is raised it would be required to fix the issue in the application logic of the web service itself.&lt;/P&gt;
&lt;P&gt;Means each web service method would have to replace the invalid characters before sending the XML content to the client.&lt;/P&gt;
&lt;P&gt;The problem here is that usually the automatic XML serialization of managed objects is used to create the XML response. So fixing the issue inside the web service is also not trivial.&lt;/P&gt;
&lt;P&gt;This issue also affects the standard sharepoint web services which allow access to SharePoint content.&lt;/P&gt;
&lt;P&gt;To overcome this problem it would be required to remove the invalid characters from the XML response (e.g. replace them with a space char) after they have been serialized to XML and before they are sent over the wire to the caller of the web service.&lt;/P&gt;
&lt;P mce_keep="true"&gt;The good message is: ASP.NET has indeed a way to achieve this: &lt;A href="http://msdn.microsoft.com/en-us/library/system.web.services.protocols.soapextension.aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.web.services.protocols.soapextension.aspx"&gt;SoapExtensions&lt;/A&gt;. A SoapExtension allows to consume and modify the SOAP message sent from client to server and vice versa.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Below is a SoapExtension which replaces the invalid control characters with a blank character (0x20) using Regular Expressions:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN style="COLOR: gray"&gt;///&lt;/SPAN&gt; &lt;BR&gt;&lt;SPAN style="COLOR: gray"&gt;///&amp;nbsp;&amp;nbsp;This&amp;nbsp;source&amp;nbsp;code&amp;nbsp;is&amp;nbsp;freeware&amp;nbsp;and&amp;nbsp;is&amp;nbsp;provided&amp;nbsp;on&amp;nbsp;an&amp;nbsp;"as&amp;nbsp;is"&amp;nbsp;basis&amp;nbsp;without&amp;nbsp;warranties&amp;nbsp;of&amp;nbsp;any&amp;nbsp;kind,&amp;nbsp;&lt;/SPAN&gt; &lt;BR&gt;&lt;SPAN style="COLOR: gray"&gt;///&amp;nbsp;&amp;nbsp;whether&amp;nbsp;express&amp;nbsp;or&amp;nbsp;implied,&amp;nbsp;including&amp;nbsp;without&amp;nbsp;limitation&amp;nbsp;warranties&amp;nbsp;that&amp;nbsp;the&amp;nbsp;code&amp;nbsp;is&amp;nbsp;free&amp;nbsp;of&amp;nbsp;defect,&amp;nbsp;&lt;/SPAN&gt; &lt;BR&gt;&lt;SPAN style="COLOR: gray"&gt;///&amp;nbsp;&amp;nbsp;fit&amp;nbsp;for&amp;nbsp;a&amp;nbsp;particular&amp;nbsp;purpose&amp;nbsp;or&amp;nbsp;non-infringing.&amp;nbsp;&amp;nbsp;The&amp;nbsp;entire&amp;nbsp;risk&amp;nbsp;as&amp;nbsp;to&amp;nbsp;the&amp;nbsp;quality&amp;nbsp;and&amp;nbsp;performance&amp;nbsp;of&amp;nbsp;&lt;/SPAN&gt; &lt;BR&gt;&lt;SPAN style="COLOR: gray"&gt;///&amp;nbsp;&amp;nbsp;the&amp;nbsp;code&amp;nbsp;is&amp;nbsp;with&amp;nbsp;the&amp;nbsp;end&amp;nbsp;user.&lt;/SPAN&gt; &lt;BR&gt;&lt;SPAN style="COLOR: gray"&gt;///&lt;/SPAN&gt; &lt;BR&gt;&lt;BR&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt;&amp;nbsp;System; &lt;BR&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt;&amp;nbsp;System.IO; &lt;BR&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt;&amp;nbsp;System.Web; &lt;BR&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt;&amp;nbsp;System.Web.Services; &lt;BR&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt;&amp;nbsp;System.Web.Services.Protocols; &lt;BR&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt;&amp;nbsp;System.Collections.Generic; &lt;BR&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt;&amp;nbsp;System.Text; &lt;BR&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt;&amp;nbsp;System.Text.RegularExpressions; &lt;BR&gt;&lt;BR&gt;&lt;SPAN style="COLOR: blue"&gt;namespace&lt;/SPAN&gt;&amp;nbsp;StefanG.SoapExtensions &lt;BR&gt;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;class&lt;/SPAN&gt;&amp;nbsp;XmlCleanupSoapExtension&amp;nbsp;:&amp;nbsp;SoapExtension &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;private&lt;/SPAN&gt;&amp;nbsp;Regex&amp;nbsp;replaceRegEx; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;private&lt;/SPAN&gt;&amp;nbsp;Stream&amp;nbsp;oldStream; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;private&lt;/SPAN&gt;&amp;nbsp;Stream&amp;nbsp;newStream; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: green"&gt;//&amp;nbsp;to&amp;nbsp;modify&amp;nbsp;the&amp;nbsp;content&amp;nbsp;we&amp;nbsp;redirect&amp;nbsp;the&amp;nbsp;stream&amp;nbsp;to&amp;nbsp;a&amp;nbsp;memory&amp;nbsp;stream&amp;nbsp;to&amp;nbsp;allow&amp;nbsp;&lt;/SPAN&gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: green"&gt;//&amp;nbsp;easy&amp;nbsp;consumption&amp;nbsp;and&amp;nbsp;modifcation&lt;/SPAN&gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;override&lt;/SPAN&gt;&amp;nbsp;Stream&amp;nbsp;ChainStream(Stream&amp;nbsp;stream) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: green"&gt;//&amp;nbsp;keep&amp;nbsp;track&amp;nbsp;of&amp;nbsp;the&amp;nbsp;original&amp;nbsp;stream&lt;/SPAN&gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oldStream&amp;nbsp;=&amp;nbsp;stream; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: green"&gt;//&amp;nbsp;create&amp;nbsp;a&amp;nbsp;new&amp;nbsp;memory&amp;nbsp;stream&amp;nbsp;and&amp;nbsp;configure&amp;nbsp;it&amp;nbsp;as&amp;nbsp;the&amp;nbsp;stream&amp;nbsp;object&amp;nbsp;to&amp;nbsp;use&amp;nbsp;as&amp;nbsp;input&amp;nbsp;and&amp;nbsp;output&amp;nbsp;of&amp;nbsp;the&amp;nbsp;webservice&lt;/SPAN&gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;newStream&amp;nbsp;=&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt;&amp;nbsp;MemoryStream(); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt;&amp;nbsp;newStream; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;override&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;object&lt;/SPAN&gt;&amp;nbsp;GetInitializer(LogicalMethodInfo&amp;nbsp;methodInfo,&amp;nbsp;SoapExtensionAttribute&amp;nbsp;attribute) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: green"&gt;//&amp;nbsp;the&amp;nbsp;module&amp;nbsp;is&amp;nbsp;intended&amp;nbsp;to&amp;nbsp;look&amp;nbsp;at&amp;nbsp;all&amp;nbsp;methods.&amp;nbsp;Not&amp;nbsp;on&amp;nbsp;methods&amp;nbsp;tagged&amp;nbsp;with&amp;nbsp;a&amp;nbsp;specific&amp;nbsp;attribute&lt;/SPAN&gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;throw&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt;&amp;nbsp;Exception(&lt;SPAN style="COLOR: maroon"&gt;"The&amp;nbsp;method&amp;nbsp;or&amp;nbsp;operation&amp;nbsp;is&amp;nbsp;not&amp;nbsp;implemented."&lt;/SPAN&gt;); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;override&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;object&lt;/SPAN&gt;&amp;nbsp;GetInitializer(Type&amp;nbsp;serviceType) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: green"&gt;//&amp;nbsp;create&amp;nbsp;a&amp;nbsp;compiled&amp;nbsp;instance&amp;nbsp;of&amp;nbsp;the&amp;nbsp;Regular&amp;nbsp;Expression&amp;nbsp;for&amp;nbsp;the&amp;nbsp;chars&amp;nbsp;we&amp;nbsp;would&amp;nbsp;like&amp;nbsp;to&amp;nbsp;replace&lt;/SPAN&gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: green"&gt;//&amp;nbsp;add&amp;nbsp;all&amp;nbsp;char&amp;nbsp;points&amp;nbsp;beween&amp;nbsp;0&amp;nbsp;and&amp;nbsp;31&amp;nbsp;excluding&amp;nbsp;the&amp;nbsp;allowed&amp;nbsp;white&amp;nbsp;spaces&amp;nbsp;(9=TAB,&amp;nbsp;10=LF,&amp;nbsp;13=CR)&lt;/SPAN&gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StringBuilder&amp;nbsp;RegExp&amp;nbsp;=&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt;&amp;nbsp;StringBuilder(&lt;SPAN style="COLOR: maroon"&gt;"&amp;amp;#(0"&lt;/SPAN&gt;); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;for&lt;/SPAN&gt;&amp;nbsp;(&lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;&lt;SPAN style="COLOR: maroon"&gt;1&lt;/SPAN&gt;;&amp;nbsp;i&amp;nbsp;&amp;lt;=&amp;nbsp;&lt;SPAN style="COLOR: maroon"&gt;31&lt;/SPAN&gt;;&amp;nbsp;i++) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: green"&gt;//&amp;nbsp;ignore&amp;nbsp;allowed&amp;nbsp;white&amp;nbsp;spaces&lt;/SPAN&gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt;&amp;nbsp;(i&amp;nbsp;==&amp;nbsp;&lt;SPAN style="COLOR: maroon"&gt;9&lt;/SPAN&gt;&amp;nbsp;||&amp;nbsp;i&amp;nbsp;==&amp;nbsp;&lt;SPAN style="COLOR: maroon"&gt;10&lt;/SPAN&gt;&amp;nbsp;||&amp;nbsp;i&amp;nbsp;==&amp;nbsp;&lt;SPAN style="COLOR: maroon"&gt;13&lt;/SPAN&gt;)&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;continue&lt;/SPAN&gt;; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: green"&gt;//&amp;nbsp;add&amp;nbsp;other&amp;nbsp;control&amp;nbsp;characters&lt;/SPAN&gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RegExp.Append(&lt;SPAN style="COLOR: maroon"&gt;"|"&lt;/SPAN&gt;); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RegExp.Append(i.ToString());&amp;nbsp;&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: green"&gt;//&amp;nbsp;add&amp;nbsp;hex representation as well&lt;/SPAN&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RegExp.Append(&lt;SPAN style="COLOR: maroon"&gt;"|x"&lt;/SPAN&gt;); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RegExp.Append(i.ToString("x"));&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RegExp.Append(&lt;SPAN style="COLOR: maroon"&gt;");"&lt;/SPAN&gt;); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;&amp;nbsp;strRegExp&amp;nbsp;=&amp;nbsp;RegExp.ToString(); &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: green"&gt;//&amp;nbsp;create&amp;nbsp;regular&amp;nbsp;expression&amp;nbsp;assembly&amp;nbsp;&lt;/SPAN&gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Regex&amp;nbsp;regEx&amp;nbsp;=&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt;&amp;nbsp;Regex(strRegExp,&amp;nbsp;RegexOptions.Compiled | RegexOptions.IgnoreCase); &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: green"&gt;//&amp;nbsp;return&amp;nbsp;the&amp;nbsp;compiled&amp;nbsp;RegEx&amp;nbsp;to&amp;nbsp;all&amp;nbsp;further&amp;nbsp;instances&amp;nbsp;of&amp;nbsp;this&amp;nbsp;class&lt;/SPAN&gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt;&amp;nbsp;regEx; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;override&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt;&amp;nbsp;Initialize(&lt;SPAN style="COLOR: blue"&gt;object&lt;/SPAN&gt;&amp;nbsp;initializer) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: green"&gt;//&amp;nbsp;instance&amp;nbsp;initializers&amp;nbsp;retrieves&amp;nbsp;the&amp;nbsp;compiled&amp;nbsp;regular&amp;nbsp;expression&lt;/SPAN&gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;replaceRegEx&amp;nbsp;=&amp;nbsp;initializer&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;as&lt;/SPAN&gt;&amp;nbsp;Regex; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;override&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt;&amp;nbsp;ProcessMessage(SoapMessage&amp;nbsp;message) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt;&amp;nbsp;(message.Stage&amp;nbsp;==&amp;nbsp;SoapMessageStage.AfterSerialize) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: green"&gt;//&amp;nbsp;process&amp;nbsp;the&amp;nbsp;response&amp;nbsp;sent&amp;nbsp;back&amp;nbsp;to&amp;nbsp;the&amp;nbsp;client&amp;nbsp;-&amp;nbsp;means&amp;nbsp;ensure&amp;nbsp;it&amp;nbsp;is&amp;nbsp;XML&amp;nbsp;1.0&amp;nbsp;compliant&lt;/SPAN&gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ProcessOutput(message); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt;&amp;nbsp;(message.Stage&amp;nbsp;==&amp;nbsp;SoapMessageStage.BeforeDeserialize) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: green"&gt;//&amp;nbsp;just&amp;nbsp;copy&amp;nbsp;the&amp;nbsp;XML&amp;nbsp;Soap&amp;nbsp;message&amp;nbsp;from&amp;nbsp;the&amp;nbsp;incoming&amp;nbsp;stream&amp;nbsp;to&amp;nbsp;the&amp;nbsp;outgoing&lt;/SPAN&gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ProcessInput(message); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt;&amp;nbsp;ProcessInput(SoapMessage&amp;nbsp;message) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: green"&gt;//&amp;nbsp;no&amp;nbsp;manipulation&amp;nbsp;required&amp;nbsp;on&amp;nbsp;input&amp;nbsp;data&lt;/SPAN&gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: green"&gt;//&amp;nbsp;copy&amp;nbsp;content&amp;nbsp;from&amp;nbsp;http&amp;nbsp;stream&amp;nbsp;to&amp;nbsp;memory&amp;nbsp;stream&amp;nbsp;to&amp;nbsp;make&amp;nbsp;it&amp;nbsp;available&amp;nbsp;to&amp;nbsp;the&amp;nbsp;web&amp;nbsp;service&lt;/SPAN&gt; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TextReader&amp;nbsp;reader&amp;nbsp;=&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt;&amp;nbsp;StreamReader(oldStream); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TextWriter&amp;nbsp;writer&amp;nbsp;=&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt;&amp;nbsp;StreamWriter(newStream); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;writer.WriteLine(reader.ReadToEnd()); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;writer.Flush(); &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: green"&gt;//&amp;nbsp;set&amp;nbsp;position&amp;nbsp;back&amp;nbsp;to&amp;nbsp;the&amp;nbsp;beginning&amp;nbsp;to&amp;nbsp;ensure&amp;nbsp;that&amp;nbsp;the&amp;nbsp;web&amp;nbsp;service&amp;nbsp;reads&amp;nbsp;the&amp;nbsp;content&amp;nbsp;we&amp;nbsp;just&amp;nbsp;copied&lt;/SPAN&gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;newStream.Position&amp;nbsp;=&amp;nbsp;&lt;SPAN style="COLOR: maroon"&gt;0&lt;/SPAN&gt;; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt;&amp;nbsp;ProcessOutput(SoapMessage&amp;nbsp;message) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: green"&gt;//&amp;nbsp;rewind&amp;nbsp;stream&amp;nbsp;to&amp;nbsp;ensure&amp;nbsp;that&amp;nbsp;we&amp;nbsp;read&amp;nbsp;from&amp;nbsp;the&amp;nbsp;beginning&lt;/SPAN&gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;newStream.Position&amp;nbsp;=&amp;nbsp;&lt;SPAN style="COLOR: maroon"&gt;0&lt;/SPAN&gt;; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: green"&gt;//&amp;nbsp;copy&amp;nbsp;the&amp;nbsp;content&amp;nbsp;of&amp;nbsp;the&amp;nbsp;stream&amp;nbsp;into&amp;nbsp;a&amp;nbsp;memory&amp;nbsp;buffer&lt;/SPAN&gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;byte&lt;/SPAN&gt;[]&amp;nbsp;buffer&amp;nbsp;=&amp;nbsp;(newStream&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;as&lt;/SPAN&gt;&amp;nbsp;MemoryStream).ToArray(); &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: green"&gt;//&amp;nbsp;shortcut&amp;nbsp;if&amp;nbsp;stream&amp;nbsp;is&amp;nbsp;empty&amp;nbsp;to&amp;nbsp;avoid&amp;nbsp;exception&amp;nbsp;later&lt;/SPAN&gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt;&amp;nbsp;(buffer.Length&amp;nbsp;==&amp;nbsp;&lt;SPAN style="COLOR: maroon"&gt;0&lt;/SPAN&gt;)&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt;; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: green"&gt;//&amp;nbsp;convert&amp;nbsp;buffer&amp;nbsp;to&amp;nbsp;string&amp;nbsp;to&amp;nbsp;allow&amp;nbsp;easy&amp;nbsp;string&amp;nbsp;manipulation&lt;/SPAN&gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;&amp;nbsp;content&amp;nbsp;=&amp;nbsp;Encoding.UTF8.GetString(buffer); &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: green"&gt;//&amp;nbsp;replace&amp;nbsp;invalid&amp;nbsp;XML&amp;nbsp;entities&amp;nbsp;using&amp;nbsp;regular&amp;nbsp;expression&lt;/SPAN&gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;content&amp;nbsp;=&amp;nbsp;replaceRegEx.Replace(content,&amp;nbsp;&lt;SPAN style="COLOR: maroon"&gt;"&amp;amp;#32;"&lt;/SPAN&gt;); &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: green"&gt;//&amp;nbsp;convert&amp;nbsp;back&amp;nbsp;to&amp;nbsp;byte&amp;nbsp;buffer&lt;/SPAN&gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;buffer&amp;nbsp;=&amp;nbsp;Encoding.UTF8.GetBytes(content); &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: green"&gt;//&amp;nbsp;stream&amp;nbsp;byte&amp;nbsp;buffer&amp;nbsp;to&amp;nbsp;the&amp;nbsp;client&amp;nbsp;app&lt;/SPAN&gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oldStream.Write(buffer,&amp;nbsp;&lt;SPAN style="COLOR: maroon"&gt;0&lt;/SPAN&gt;,&amp;nbsp;buffer.Length); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;BR&gt;} &lt;/P&gt;
&lt;P mce_keep="true"&gt;The above code should be compiled into a C# class library project and signed with a strong name to allow placing the DLL into a GAC.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Afterwards the SoapExtension can be registered in the web.config of the affected web service. For SharePoint webservices this would be the web.config in the following directory:&lt;/P&gt;
&lt;P mce_keep="true"&gt;C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\ISAPI\&lt;/P&gt;
&lt;P mce_keep="true"&gt;The following entry needs to be added to the web.config:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&amp;gt; &lt;BR&gt;&amp;lt;configuration&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;system.web&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;webServices&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: red"&gt;"&amp;lt;soapExtensionTypes&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;add&amp;nbsp;type=&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;"StefanG.SoapExtensions.XmlCleanupSoapExtension, XmlCleanupSoapExtension, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0e15300fe8a7b210" &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;priority=&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;"1" &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;group=&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;"0"&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;&amp;nbsp;/&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/soapExtensionTypes&amp;gt;&lt;/SPAN&gt;&amp;nbsp;&lt;BR&gt;...&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/webServices&amp;gt; &lt;BR&gt;...&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/system.web&amp;gt; &lt;BR&gt;...&lt;BR&gt;&amp;lt;/configuration&amp;gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Afterwards all responses from webservice methods in the affected web application will automatically be cleaned up.&lt;/P&gt;
&lt;P mce_keep="true"&gt;The complete source code can also be downloaded from here: &lt;A href="http://code.msdn.microsoft.com/XmlCleanupSoapExtens"&gt;http://code.msdn.microsoft.com/XmlCleanupSoapExtens&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3277102" width="1" height="1"&gt;</description><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3277102</guid><pubDate>Wed, 26 Aug 2009 14:22:00 GMT</pubDate><author>Stefan_Gossner</author><ng:modifiedDate>Thu, 27 Aug 2009 09:47:34 GMT</ng:modifiedDate><ng:postId>10400745593</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><category>Coding Tips</category><category>NET</category><category>MOSS 2007 / WSS 3.0</category><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/stefan_gossner/commentrss.aspx?PostID=3277102</wfw:commentRss><comments>http://blogs.technet.com/stefan_gossner/comments/3277102.aspx</comments><source url="http://blogs.technet.com/stefan_gossner/default.aspx">Stefan Goßner</source></item><item><title>Windows Server DFS-Namespaces Performance and Scalability </title><link>http://blogs.technet.com/josebda/archive/2009/08/22/windows-server-dfs-namespaces-performance-and-scalability.aspx</link><description>&lt;P&gt;The DFS-N test team has completed some extensive Performance and Scalability testing and we wanted to share some of the results.&lt;/P&gt;
&lt;P&gt;It includes results on standalone namespaces, "2000 mode" domain namespaces and "2008 mode" domain namespaces, under Windows Server 2003, Windows Server 2008 and Windows Server 2008 R2.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Check the post by Marcello Hasegawa at &lt;A href="http://blogs.technet.com/filecab/archive/2009/08/22/windows-server-dfs-namespaces-performance-and-scalability.aspx" mce_href="http://blogs.technet.com/filecab/archive/2009/08/22/windows-server-dfs-namespaces-performance-and-scalability.aspx"&gt;http://blogs.technet.com/filecab/archive/2009/08/22/windows-server-dfs-namespaces-performance-and-scalability.aspx&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3275952" width="1" height="1"&gt;</description><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3275952</guid><pubDate>Sat, 22 Aug 2009 18:45:00 GMT</pubDate><author>josebda</author><ng:modifiedDate>Sat, 22 Aug 2009 16:07:40 GMT</ng:modifiedDate><ng:postId>10379524307</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><category>Windows Server 2008</category><category>Windows Server 2008 R2</category><category>DFS</category><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/josebda/rsscomments.aspx?PostID=3275952</wfw:comment><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/josebda/commentrss.aspx?PostID=3275952</wfw:commentRss><comments>http://blogs.technet.com/josebda/comments/3275952.aspx</comments></item><item><title>Three ways to design your DFS Namespaces</title><link>http://blogs.technet.com/josebda/archive/2009/08/21/three-ways-to-design-your-dfs-namespaces.aspx</link><description>&lt;P&gt;&lt;STRONG&gt;Introduction&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;In this blog post, we’ll showcase the flexibility you have with DFS-N by showing three distinct ways that you could design a namespace.&lt;/P&gt;
&lt;P&gt;Note: If you’re not familiar with DFS-N, please read this blog post first: &lt;BR&gt;&lt;A href="http://blogs.technet.com/josebda/archive/2009/03/10/the-basics-of-the-windows-server-2008-distributed-file-system-dfs.aspx" mce_href="http://blogs.technet.com/josebda/archive/2009/03/10/the-basics-of-the-windows-server-2008-distributed-file-system-dfs.aspx"&gt;http://blogs.technet.com/josebda/archive/2009/03/10/the-basics-of-the-windows-server-2008-distributed-file-system-dfs.aspx&lt;/A&gt; &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;Scenario&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;The scenario here is simple: you have three file servers in different locations: S1 is in New York, S2 is in Amsterdam and S3 is in Hong Kong. Each server has a unique set of data (Proposals, Marketing information and Engineering documents for each geography) and you want to expose this under a single namespace. Here’s the structure on each file server:&lt;/P&gt;
&lt;P&gt;Server S1 in New York:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;F:\AMER\PROPOSAL – Proposals for the AMER (Americas) region&lt;/LI&gt;
&lt;LI&gt;F:\AMER\MARKETING – Marketing information for the AMER region&lt;/LI&gt;
&lt;LI&gt;F:\AMER\ENGINEERING – Engineering documents for the AMER region&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Server S2 in Amsterdam:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;F:\EMEA\PROPOSAL – Proposals for the EMEA (Europe, Middle East and Africa) region&lt;/LI&gt;
&lt;LI&gt;F:\EMEA\MARKETING – Marketing information for the EMEA region&lt;/LI&gt;
&lt;LI&gt;F:\EMEA\ENGINEERING – Engineering documents for the EMEA region&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Server S3 in Hong Kong:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;F:\APAC\PROPOSAL – Proposals for the APAC (Asia and Pacific) region&lt;/LI&gt;
&lt;LI&gt;F:\APAC\MARKETING – Marketing information for the APAC region&lt;/LI&gt;
&lt;LI&gt;F:\APAC\ENGINEERING – Engineering documents for the APAC region&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Please note that this specific scenario does not include replication. Each server each has completely an independent set of files. For instance, a proposal for an EMEA customer would exist only in the F:\EMEA\PROPOSALS folder in S2 and it would not exist in servers S1 or S3. Replication across these servers could be accomplished using DFS-R, but I am purposely avoiding it in this example to focus specifically on DFS-N design.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;Creating the folders and shares&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;First of all, I am providing the scripts to create the folder structure and the shares. These are 3 distinct scripts and each one needs to be run on a specific server (S1, S2 or S3). We could actually do this all remotely, but I’m keeping it simple. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;CREATE-S1.CMD&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;PRE&gt;REM ## RUN THIS SCRIPT in S1, the file server in New York&lt;BR&gt;MD F:\AMER\PROPOSALS&lt;BR&gt;MD F:\AMER\MARKETING&lt;BR&gt;MD F:\AMER\ENGINEERING&lt;BR&gt;NET SHARE AMER=F:\AMER
&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;CREATE-S2.CMD&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;PRE&gt;REM&amp;nbsp;## RUN THIS SCRIPT in S2, the file server in Amsterdam&lt;BR&gt;MD F:\EMEA\PROPOSALS&lt;BR&gt;MD F:\EMEA\MARKETING&lt;BR&gt;MD F:\EMEA\ENGINEERING&lt;BR&gt;NET SHARE EMEA=F:\EMEA
&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;CREATE-S3.CMD&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;PRE&gt;REM ## RUN THIS SCRIPT in S3, the file server in Hong Kong&lt;BR&gt;MD F:\APAC\PROPOSALS&lt;BR&gt;MD F:\APAC\MARKETING&lt;BR&gt;MD F:\APAC\ENGINEERING&lt;BR&gt;NET SHARE APAC=F:\APAC
&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Please note that the shares will end up with read-only permissions using the commands above. In your real-world deployment you will need to properly plan your NTFS and file share permissions and implement them properly with CACLS or ICACLS.EXE (for NTFS) and the /GRANT option in NET SHARE (for the file shares). The focus of this post is not on permissions but on the structure of the shares, folders and namespaces. &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;Namespace option 1 – Simple mapping of shares&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;The first option I will cover is a simple mapping at the root share on each server. This is simpler because it requires a namespace with only three folders (or links). Assuming we use a fourth server (S4) as the namespace server (or target) and NS1 as the name of the namespace (or root), users would basically use \\S4\NS1 as the UNC path to the entire set of data from all three file servers.&lt;/P&gt;
&lt;P&gt;Note 1: You could host the namespace in one of the file servers, see details at&amp;nbsp; &lt;A href="http://blogs.technet.com/josebda/archive/2009/06/26/how-many-dfs-n-namespaces-servers-do-you-need.aspx" mce_href="http://blogs.technet.com/josebda/archive/2009/06/26/how-many-dfs-n-namespaces-servers-do-you-need.aspx"&gt;http://blogs.technet.com/josebda/archive/2009/06/26/how-many-dfs-n-namespaces-servers-do-you-need.aspx&lt;/A&gt; &lt;BR&gt;Note 2: We’re using a standalone namespace here, but you could just as easily use a domain namespace instead.&lt;BR&gt;Note 3: We’re not adding any fault tolerance for the namespace or the file servers in these scenarios. This could be accomplished with Failover Clustering for standalone namespaces or with multiple targets for a domain namespace.&lt;/P&gt;
&lt;P&gt;Here’s a script to create the namespace, which should be run on S4:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;CREATE-NS1.CMD&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;PRE&gt;REM ## scenario 1 - Simple mapping of shares
REM ## RUN THIS SCRIPT in S4, the namespace server
MD F:\NS1
NET SHARE NS1=F:\NS1
DFSUTIL ROOT ADDSTD \\S4\NS1
DFSUTIL LINK ADD \\S4\NS1\AMER \\S1\AMER
DFSUTIL LINK ADD \\S4\NS1\EMEA \\S2\EMEA
DFSUTIL LINK ADD \\S4\NS1\APAC \\S3\APAC
DIR \\S4\NS1 /S /B
DFSUTIL ROOT EXPORT \\S4\NS1 F:\NS1EXPORT.XML VERBOSE
&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;From an end-user perspective, the folder structure under \\S4\NS1 would look like this:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;&lt;IMG style="WIDTH: 153px; HEIGHT: 272px" title="DFS NSD 1" alt="DFS NSD 1" src="http://blogs.technet.com/photos/josebda2/images/3275497/original.aspx" width=153 height=272 mce_src="http://blogs.technet.com/photos/josebda2/images/3275497/original.aspx"&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;At the end of this script, an XML export of the namespace is created. Here’s what it looks like:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;NS1EXPORT.XML&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;PRE&gt;&amp;lt;?xml version="1.0"?&amp;gt;&lt;BR&gt;&amp;lt;Root xmlns = "http://schemas.microsoft.com/dfs/2007/03/dfsutil" majorVersion = "2" minorVersion = "0" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Name="\\S4\NS1" State="OK" Timeout="300" &amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Target State="ONLINE" &amp;gt;\\S4\NS1&amp;lt;/Target&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Link Name="AMER" State="OK" Timeout="300" &amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Target State="ONLINE" &amp;gt;\\S1\AMER&amp;lt;/Target&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Link&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Link Name="EMEA" State="OK" Timeout="300" &amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Target State="ONLINE" &amp;gt;\\S2\EMEA&amp;lt;/Target&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Link&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Link Name="APAC" State="OK" Timeout="300" &amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Target State="ONLINE" &amp;gt;\\S3\APAC&amp;lt;/Target&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Link&amp;gt;&lt;BR&gt;&amp;lt;/Root&amp;gt;
&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;Namespace option 2 – Flattening out the tree in the namespace&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;This second options shows the flexibility of DFS-N by creating a flat list of folders from the three servers and their folder structures. Users might find convenient to see a long list of folders without any nesting of folders. This shows how you can point your folder targets (or link targets) to a folder inside the share, not only the root of the file share. Again we’ll use that fourth server (S4) as the namespace server (or target), but now with NS2 as the name of the namespace (or root). Users would use \\S4\NS2 as the UNC path to the entire set of data from all three file servers.&lt;/P&gt;
&lt;P&gt;Here’s a script to create the namespace, which should be run on S4:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;CREATE-NS2.CMD&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;PRE&gt;REM ## scenario 2 - Flattening out the tree in the namespace
REM ## RUN THIS SCRIPT in S4, the namespace server
MD F:\NS2
NET SHARE NS2=F:\NS2
DFSUTIL ROOT ADDSTD \\S4\NS2
DFSUTIL LINK ADD \\S4\NS2\AMERPROP \\S1\AMER\PROPOSALS
DFSUTIL LINK ADD \\S4\NS2\AMERMARK \\S1\AMER\MARKETING
DFSUTIL LINK ADD \\S4\NS2\AMERENGI \\S1\AMER\ENGINEERING
DFSUTIL LINK ADD \\S4\NS2\EMEAPROP \\S2\EMEA\PROPOSALS
DFSUTIL LINK ADD \\S4\NS2\EMEAMARK \\S2\EMEA\MARKETING
DFSUTIL LINK ADD \\S4\NS2\EMEAENGI \\S2\EMEA\ENGINEERING
DFSUTIL LINK ADD \\S4\NS2\APACPROP \\S3\APAC\PROPOSALS
DFSUTIL LINK ADD \\S4\NS2\APACMARK \\S3\APAC\MARKETING
DFSUTIL LINK ADD \\S4\NS2\APACENGI \\S3\APAC\ENGINEERING
DIR \\S4\NS2 /S /B
DFSUTIL ROOT EXPORT \\S4\NS2 F:\NS2EXPORT.XML VERBOSE
&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;From an end-user perspective, the folder structure under \\S4\NS2 would be flat, like this:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;&lt;IMG style="WIDTH: 127px; HEIGHT: 212px" title="DFS NSD 2" alt="DFS NSD 2" src="http://blogs.technet.com/photos/josebda2/images/3275498/original.aspx" width=127 height=212 mce_src="http://blogs.technet.com/photos/josebda2/images/3275498/original.aspx"&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;At the end of this script, an XML export of the namespace is created. Here’s what it looks like:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;NS2EXPORT.XML&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;PRE&gt;&amp;lt;?xml version="1.0"?&amp;gt;&lt;BR&gt;&amp;lt;Root xmlns = "http://schemas.microsoft.com/dfs/2007/03/dfsutil" majorVersion = "2" minorVersion = "0" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Name="\\S4\NS2" State="OK" Timeout="300" &amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Target State="ONLINE" &amp;gt;\\S4\NS2&amp;lt;/Target&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Link Name="EMEAMARK" State="OK" Timeout="300" &amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Target State="ONLINE" &amp;gt;\\S2\EMEA\MARKETING&amp;lt;/Target&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Link&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Link Name="APACENGI" State="OK" Timeout="300" &amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Target State="ONLINE" &amp;gt;\\S3\APAC\ENGINEERING&amp;lt;/Target&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Link&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Link Name="APACMARK" State="OK" Timeout="300" &amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Target State="ONLINE" &amp;gt;\\S3\APAC\MARKETING&amp;lt;/Target&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Link&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Link Name="AMERMARK" State="OK" Timeout="300" &amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Target State="ONLINE" &amp;gt;\\S1\AMER\MARKETING&amp;lt;/Target&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Link&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Link Name="AMERENGI" State="OK" Timeout="300" &amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Target State="ONLINE" &amp;gt;\\S1\AMER\ENGINEERING&amp;lt;/Target&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Link&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Link Name="AMERPROP" State="OK" Timeout="300" &amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Target State="ONLINE" &amp;gt;\\S1\AMER\PROPOSALS&amp;lt;/Target&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Link&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Link Name="APACPROP" State="OK" Timeout="300" &amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Target State="ONLINE" &amp;gt;\\S3\APAC\PROPOSALS&amp;lt;/Target&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Link&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Link Name="EMEAPROP" State="OK" Timeout="300" &amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Target State="ONLINE" &amp;gt;\\S2\EMEA\PROPOSALS&amp;lt;/Target&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Link&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Link Name="EMEAENGI" State="OK" Timeout="300" &amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Target State="ONLINE" &amp;gt;\\S2\EMEA\ENGINEERING&amp;lt;/Target&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Link&amp;gt;&lt;BR&gt;&amp;lt;/Root&amp;gt;
&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;Namespace option 3 -&amp;nbsp; Namespace reversing the original tree structure on each file server&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;Last but not least, the most interesting exhibit of the flexibility of DFS-N. In this case we’ll create a namespace showing the collection of folders group by type instead of geography. DFS-N makes it easy, since we can basically restructure the shares as we create the namespace. This shows how you can also use a tree structure on the DFS folder (or link) side of the equation, which can do a lot when you combine with what we did in option 2 above. Again we’ll use that fourth server (S4) as the namespace server (or target), but now with NS3 as the name of the namespace (or root). Users would use \\S4\NS3 as the UNC path to the entire set of data from all three file servers.&lt;/P&gt;
&lt;P&gt;Here’s a script to create the namespace, which should be run on S4:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;CREATE-NS3.CMD&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;PRE&gt;REM ## scenario 3 –  Namespace reversing the original tree structure on each file server
REM ## RUN THIS SCRIPT in S4, the namespace server
MD F:\NS3
NET SHARE NS3=F:\NS3
DFSUTIL ROOT ADDSTD \\S4\NS3
DFSUTIL LINK ADD \\S4\NS3\PROPOSALS\AMER \\S1\AMER\PROPOSALS
DFSUTIL LINK ADD \\S4\NS3\MARKETING\AMER \\S1\AMER\MARKETING
DFSUTIL LINK ADD \\S4\NS3\ENGINEERING\AMER \\S1\AMER\ENGINEERING
DFSUTIL LINK ADD \\S4\NS3\PROPOSALS\EMEA \\S2\EMEA\PROPOSALS
DFSUTIL LINK ADD \\S4\NS3\MARKETING\EMEA \\S2\EMEA\MARKETING
DFSUTIL LINK ADD \\S4\NS3\ENGINEERING\EMEA \\S2\EMEA\ENGINEERING
DFSUTIL LINK ADD \\S4\NS3\PROPOSALS\APAC \\S3\APAC\PROPOSALS
DFSUTIL LINK ADD \\S4\NS3\MARKETING\APAC \\S3\APAC\MARKETING
DFSUTIL LINK ADD \\S4\NS3\ENGINEERING\APAC \\S3\APAC\ENGINEERING
DIR \\S4\NS3 /S /B
DFSUTIL ROOT EXPORT \\S4\NS3 F:\NS3EXPORT.XML VERBOSE
&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;From an end-user perspective, the folder structure under \\S4\NS3 is shown below. It examplifies how DFS-N can completely mask the physical infrastructure behind the namespace:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;&lt;IMG style="WIDTH: 141px; HEIGHT: 277px" title="DFS NSD 3" alt="DFS NSD 3" src="http://blogs.technet.com/photos/josebda2/images/3275499/original.aspx" width=141 height=277 mce_src="http://blogs.technet.com/photos/josebda2/images/3275499/original.aspx"&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Note that \\S4\NS3\ENGINEERING, \\S4\NS3\MARKETING and \\S4\NS3\PROPOSALS don’t actually exist as DFS folders (or links) at all. They are basically abstract constructs shown only in the UI, which don’t map to any specific target. You can confirm this when you look at the export of the namespace:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;NS3EXPORT.XML&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;PRE&gt;&amp;lt;?xml version="1.0"?&amp;gt;&lt;BR&gt;&amp;lt;Root xmlns = "http://schemas.microsoft.com/dfs/2007/03/dfsutil" majorVersion = "2" minorVersion = "0" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Name="\\S4\NS3" State="OK" Timeout="300" &amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Target State="ONLINE" &amp;gt;\\S4\NS3&amp;lt;/Target&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Link Name="MARKETING\APAC" State="OK" Timeout="300" &amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Target State="ONLINE" &amp;gt;\\S3\APAC\MARKETING&amp;lt;/Target&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Link&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Link Name="MARKETING\AMER" State="OK" Timeout="300" &amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Target State="ONLINE" &amp;gt;\\S1\AMER\MARKETING&amp;lt;/Target&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Link&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Link Name="ENGINEERING\EMEA" State="OK" Timeout="300" &amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Target State="ONLINE" &amp;gt;\\S2\EMEA\ENGINEERING&amp;lt;/Target&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Link&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Link Name="MARKETING\EMEA" State="OK" Timeout="300" &amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Target State="ONLINE" &amp;gt;\\S2\EMEA\MARKETING&amp;lt;/Target&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Link&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Link Name="ENGINEERING\AMER" State="OK" Timeout="300" &amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Target State="ONLINE" &amp;gt;\\S1\AMER\ENGINEERING&amp;lt;/Target&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Link&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Link Name="PROPOSALS\AMER" State="OK" Timeout="300" &amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Target State="ONLINE" &amp;gt;\\S1\AMER\PROPOSALS&amp;lt;/Target&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Link&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Link Name="PROPOSALS\APAC" State="OK" Timeout="300" &amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Target State="ONLINE" &amp;gt;\\S3\APAC\PROPOSALS&amp;lt;/Target&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Link&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Link Name="PROPOSALS\EMEA" State="OK" Timeout="300" &amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Target State="ONLINE" &amp;gt;\\S2\EMEA\PROPOSALS&amp;lt;/Target&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Link&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Link Name="ENGINEERING\APAC" State="OK" Timeout="300" &amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Target State="ONLINE" &amp;gt;\\S3\APAC\ENGINEERING&amp;lt;/Target&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Link&amp;gt;&lt;BR&gt;&amp;lt;/Root&amp;gt;
&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;Conclusion&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;I hope this helped you understand how DFS-N folder (or links) and folder targets (link targets) work. Please note that we could create this all using the DFS Management graphical user interface (or MMC). We did this in the command line because it’s easier to document that way. Here’s a view from the MMC of all the three namespaces we created:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;IMG style="WIDTH: 794px; HEIGHT: 617px" title="DFS NSD 4" alt="DFS NSD 4" src="http://blogs.technet.com/photos/josebda2/images/3275500/original.aspx" width=794 height=617 mce_src="http://blogs.technet.com/photos/josebda2/images/3275500/original.aspx"&gt;&lt;/P&gt;
&lt;P&gt;Please note that you do not want to create all three namespaces simultaneously. I did this just for showing it here. You would choose the option that best fits your purpose. The goal here is to simplify things for the users, not to confuse them :-)&lt;/P&gt;
&lt;P&gt;I also did not cover replication here at all. In fact, this example uses only DFS-N and can even be run without the DFS-R role service installed. We could certainly design a namespace that takes replication into account, but that’s a topic for another blog post…&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;Links&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;For more information about DFS-Namespaces, see also the following links from TechNet:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;DFS Management: &lt;A href="http://technet.microsoft.com/en-us/library/cc730736.aspx" mce_href="http://technet.microsoft.com/en-us/library/cc730736.aspx"&gt;http://technet.microsoft.com/en-us/library/cc730736.aspx&lt;/A&gt;.&lt;/LI&gt;
&lt;LI&gt;Checklist: Deploy DFS Namespaces: &lt;A href="http://technet.microsoft.com/en-us/library/cc725830.aspx" mce_href="http://technet.microsoft.com/en-us/library/cc725830.aspx"&gt;http://technet.microsoft.com/en-us/library/cc725830.aspx&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;Choose a Namespace Type: &lt;A href="http://technet.microsoft.com/en-us/library/cc770287.aspx" mce_href="http://technet.microsoft.com/en-us/library/cc770287.aspx"&gt;http://technet.microsoft.com/en-us/library/cc770287.aspx&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;&lt;/BLOCKQUOTE&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3275501" width="1" height="1"&gt;</description><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3275501</guid><pubDate>Fri, 21 Aug 2009 23:00:00 GMT</pubDate><author>josebda</author><ng:modifiedDate>Fri, 21 Aug 2009 18:35:31 GMT</ng:modifiedDate><ng:postId>10375410646</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><category>Windows Server 2008</category><category>Storage</category><category>Windows Storage Server</category><category>Windows Server 2008 R2</category><category>DFS</category><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/josebda/rsscomments.aspx?PostID=3275501</wfw:comment><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/josebda/commentrss.aspx?PostID=3275501</wfw:commentRss><comments>http://blogs.technet.com/josebda/comments/3275501.aspx</comments><source url="http://blogs.technet.com/josebda/default.aspx">Jose Barreto's Blog</source></item><item><title>SharePoint 2010 Sneak Peek Presentation</title><link>http://blogs.msdn.com/arpans/archive/2009/08/19/sharepoint-2010-sneak-peek-presentation.aspx</link><description>&lt;p&gt;While Tom, Richard and Paul did the Overview, IT Pro &amp;amp; Developer SharePoint 2010 sneak peek videos respectively on the web, I did the SharePoint 2010 Sneak Peek session at WPC last month. The video was recently posted that you can check out here. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;iframe height="326" src="http://www.microsoft.com/video/en/us/player/embed/efc1bbbf-123a-45bc-8145-c08545e29f2c" frameborder="0" width="430" allowtransparency="allowtransparency" scrolling="no"&gt;&lt;/iframe&gt;  &lt;br /&gt;&lt;a href="http://www.microsoft.com/video/en/us/details/efc1bbbf-123a-45bc-8145-c08545e29f2c?vp_evt=eref&amp;amp;vp_video=Building%20Solutions%20on%20SharePoint"&gt;Building Solutions on SharePoint&lt;/a&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9876385" width="1" height="1"&gt;</description><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9876385</guid><pubDate>Thu, 20 Aug 2009 05:31:14 GMT</pubDate><author>arpans</author><ng:modifiedDate>Thu, 03 Sep 2009 16:22:01 GMT</ng:modifiedDate><ng:postId>10443167599</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/arpans/commentrss.aspx?PostID=9876385</wfw:commentRss><comments>http://blogs.msdn.com/arpans/comments/9876385.aspx</comments><source url="http://blogs.msdn.com/arpans/default.aspx">Arpan Shah's Blog</source></item><item><title>Interesting content deployment problem when doing partial deployment - hyperlinks in the User Information List</title><link>http://blogs.technet.com/stefan_gossner/archive/2009/08/19/interesting-content-deployment-problem-when-doing-partial-deployment-hyperlinks-in-the-user-information-list.aspx</link><description>&lt;P&gt;A &lt;A&gt;colleague&lt;/A&gt; (&lt;A href="http://blogs.technet.com/patrick_heyde" mce_href="http://blogs.technet.com/patrick_heyde"&gt;Patrick Heyde&lt;/A&gt;) recently contacted me on an interesting content deployment issue he had. &lt;/P&gt;
&lt;P&gt;His customer configured a content deployment job that only should deploy only the public part of his site collection. E.g. consider this setup:&lt;/P&gt;
&lt;P&gt;&lt;TT&gt;root&lt;BR&gt;&amp;nbsp; +-- private&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; +--&amp;nbsp;subsites&lt;BR&gt;&amp;nbsp; +-- public&lt;BR&gt;&lt;/TT&gt;&lt;TT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; +--&amp;nbsp;subsites&amp;nbsp;&lt;/TT&gt;&lt;/P&gt;
&lt;P&gt;The job was configured to export the root site (you cannot prevent this) and the public subsite including all subsites. &lt;/P&gt;
&lt;P&gt;During import the deployment job failed due to the fact that it tried to import content that belongs to the subsite of the private site which had not been deployed. First we&amp;nbsp;thought about the common issue that the customer had links from the public content to the private content which would explain why the private content was exported as dependency. But the customer ensured us that this does not happen.&lt;/P&gt;
&lt;P&gt;After some research we found the problem. And indeed the customer did not have any links from content in the public site to the private tree.&lt;/P&gt;
&lt;P&gt;What was causing the problem was that the customer has created some sharepoint group to administrate content as in the private site. In the "About me" field he entered a comment like "this rights group has authoring rights on &lt;A href="http://servername/private/subsite"&gt;http://servername/private/subsite&lt;/A&gt;".&lt;/P&gt;
&lt;P&gt;Unfortunatelly the "About Me"&amp;nbsp;field which resembles internally as Notes field is a RichText field which allows hyperlinks. That caused a forward link to be created for the list item related to this sharepoint group in the User Information List.&lt;/P&gt;
&lt;P&gt;This list resides in the root of the website and will be exported and deployed as well. That on the other hand causes all dependencies of the items in the user information list to be deployed - including the /private/subsite site.&lt;/P&gt;
&lt;P&gt;To resolve the problem it was necessary to edit all affected sharepoint groups and remove hyper links to the parts of the site which should not always be exported.&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3275000" width="1" height="1"&gt;</description><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3275000</guid><pubDate>Wed, 19 Aug 2009 14:24:00 GMT</pubDate><author>Stefan_Gossner</author><ng:modifiedDate>Wed, 19 Aug 2009 10:41:47 GMT</ng:modifiedDate><ng:postId>10359637140</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><category>MOSS 2007 / WSS 3.0</category><category>Content Deployment</category><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/stefan_gossner/commentrss.aspx?PostID=3275000</wfw:commentRss><comments>http://blogs.technet.com/stefan_gossner/comments/3275000.aspx</comments><source url="http://blogs.technet.com/stefan_gossner/default.aspx">Stefan Goßner</source></item><item><title>My Top Office 2010 Tech Preview Features</title><link>http://blogs.msdn.com/arpans/archive/2009/08/16/my-top-office-2010-features.aspx</link><description>&lt;p&gt;When Office 2007 came out, I was one of the earliest adopters. I had the privilege of being one of the few people to demo and talk about Office 2007 to customers, partners and reviewers in the Beta 1 timeframe. As an Information Worker myself, I was hooked at Beta 1. The new user experience made Office 2007 a pleasure to work with. My favorite feature in the 2007 client, outside the UX, was SmartArt. I still use SmartArt almost every day I open Office. It’s really a killer feature.&lt;/p&gt;  &lt;p&gt;And now I’m using Office 2010 Tech Preview. The new user experience is even more refined and now spans more client technologies and server technologies like SharePoint. And for SharePoint, the new ribbon is game changing. Not just for authoring, but just making people more productive in just about anything they do. It’s a paradigm shift for web applications, and I’m really looking forward to using it more.&lt;/p&gt;  &lt;p&gt;Now back to the client. I want to share my personal favorite 10 Office 2010 client features. To be clear, these are my &lt;u&gt;personal&lt;/u&gt; end user favorite features; there are more than 10, but these are top of mind for me right now. They are not in any particular order and all of them are focused on the core client applications. I’m also deliberately not including SharePoint 2010 features like the Ribbon, client integration, Business Connectivity Services, etc. I’ll save those for public beta when we are able to talk to about it more broadly. &lt;/p&gt;  &lt;p&gt;I’m also interested in hearing what your favorite Office 2010 features are. Leave me a comment or twitter me &lt;a href="http://www.twitter.com/arpanshah"&gt;@arpanshah&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1. Office Web Applications &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Office Web Applications really allow me to use Office anywhere. I’m a beta user internally and it’s great! I can now have a consistent &amp;amp; high-fidelity experience with the browser of my choice, mobile device and the Office client. Beyond the actual experience, the other advantage of Office Web Applications over a service like Google Docs/Spreadsheets is that not only will consumers be able to use this on Windows Live, but Enterprises can deploy Office Web Applications on their own SharePoint servers for more control &amp;amp; governance – and of course, gain all the benefits that come with SharePoint.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;2. Screen clippings &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I absolutely love this! Right from Office 2010, I can insert screenshots of applications I have open right from Office with one click like I’ve done here:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/arpans/WindowsLiveWriter/MyTopOffice2010Features_E9C7/image_4.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/arpans/WindowsLiveWriter/MyTopOffice2010Features_E9C7/image_thumb_1.png" width="480" height="474" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This new feature also allows you to take a screen clipping.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/arpans/WindowsLiveWriter/MyTopOffice2010Features_E9C7/image_6.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/arpans/WindowsLiveWriter/MyTopOffice2010Features_E9C7/image_thumb_2.png" width="217" height="160" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;For the rest of the blog post, I’m using this feature for all my screenshots.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;3. Image Background Removal &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;One of the other useful features is the ability to remove an image background right within Office. It’s especially helpful with images that come with a white background. When your PPTX background isn’t white, these pictures are unusable. In the past, I had to use other applications to make the background transparent – now I can do it right within an application like PowerPoint 2010. Below, you can see a magnifying glass with a white background that PowerPoint 2010 has identified (the purple region). This bit of functionality comes from work that Microsoft Research has done.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/arpans/WindowsLiveWriter/MyTopOffice2010Features_E9C7/image_18.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/arpans/WindowsLiveWriter/MyTopOffice2010Features_E9C7/image_thumb_8.png" width="524" height="379" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;4. Outlook User Experience&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The Fluent UI in Outlook 2010 is really convenient. There are intuitive tabs and the number of clicks to action has reduced across the board. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/arpans/WindowsLiveWriter/MyTopOffice2010Features_E9C7/clip_image006%5B1%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image006[1]" border="0" alt="clip_image006[1]" src="http://blogs.msdn.com/blogfiles/arpans/WindowsLiveWriter/MyTopOffice2010Features_E9C7/clip_image006%5B1%5D_thumb.png" width="518" height="58" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;There are many other UX enhancements throughout Outlook 2010. For example, when I receive meeting requests, I can see my other scheduled appointments inline. You also have tips throughout Outlook 2010 that tell you if you’re above your quota, you’re going to send an email outside your organization, etc.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/arpans/WindowsLiveWriter/MyTopOffice2010Features_E9C7/image_8.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/arpans/WindowsLiveWriter/MyTopOffice2010Features_E9C7/image_thumb_3.png" width="520" height="357" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;strong&gt;5. Video editing&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;In PowerPoint 2010, you can now easily insert and edit video. It’s a really useful feature at work when you’re creating and delivering presentations, but also at home if you want to quickly create albums with pictures and videos for birthdays, anniversaries, wedding receptions, etc.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/arpans/WindowsLiveWriter/MyTopOffice2010Features_E9C7/image_14.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/arpans/WindowsLiveWriter/MyTopOffice2010Features_E9C7/image_thumb_6.png" width="525" height="382" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Not only can videos be inserted, but they can easily be modified. I can trim the video, set the image cover for the video, add borders, add other effects like reflection as well as other special effects. Above, you can see that I added Richard Riley’s SharePoint 2010 IT Pro Sneak Peek video to a presentation I was delivering.&lt;/p&gt;  &lt;p&gt;Needless to say, PPTX files can really bloat when you add images and videos. After trimming the video right within PowerPoint 2010, I can compress the media size to improve performance and reduce the size of the file.&amp;#160; &lt;/p&gt;  &lt;p&gt;I almost forgot to mention – you can also easily create videos with PowerPoint 2010 as well!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;6. PowerPoint Broadcasting&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I just used this feature a few days ago during my team meeting. PowerPoint 2010 offers a really convenient broadcasting feature that allows you to quickly share your PPT presentation. You can either use a public “PowerPoint Broadcast Service” (all you need is a Live ID and it’s free) or an internal SharePoint server. With a couple clicks, you can email a URL to a group of people and they can watch you deliver your PPTX right from their browser.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/arpans/WindowsLiveWriter/MyTopOffice2010Features_E9C7/clip_image012%5B1%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image012[1]" border="0" alt="clip_image012[1]" src="http://blogs.msdn.com/blogfiles/arpans/WindowsLiveWriter/MyTopOffice2010Features_E9C7/clip_image012%5B1%5D_thumb.png" width="525" height="349" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;7. PowerPoint Transitions&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Some might consider this a small feature, but I think it’s absolutely killer. It’s a great way to get “ooohs” and “aaaaahs” from your audience. It really gives some punch when delivering a presentation. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/arpans/WindowsLiveWriter/MyTopOffice2010Features_E9C7/clip_image014%5B1%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image014[1]" border="0" alt="clip_image014[1]" src="http://blogs.msdn.com/blogfiles/arpans/WindowsLiveWriter/MyTopOffice2010Features_E9C7/clip_image014%5B1%5D_thumb.png" width="534" height="86" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I can’t convey the power of PowerPoint transitions without a video. Below is a video clip that I created using the new PowerPoint video creation feature. I’ve taken a few slides from the SharePoint 2007 Overview session I did at the last SharePoint Conference (March 2008). These are just a few of the transitions that will be available.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:e1d49078-68e7-40eb-b22e-d3f1737a81b2" class="wlWriterEditableSmartContent"&gt;&lt;div id="0569ddd4-2c4d-421b-8bef-af4b9de42ae3" style="margin: 0px; padding: 0px; display: inline;"&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=uszgJe0A2Qw" target="_new"&gt;&lt;img src="http://blogs.msdn.com/blogfiles/arpans/WindowsLiveWriter/MyTopOffice2010Features_E9C7/video768b4b8b23db.jpg" style="border-style: none" galleryimg="no" onload="var downlevelDiv = document.getElementById('0569ddd4-2c4d-421b-8bef-af4b9de42ae3'); downlevelDiv.innerHTML = &amp;quot;&amp;lt;div&amp;gt;&amp;lt;object width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;param name=\&amp;quot;movie\&amp;quot; value=\&amp;quot;http://www.youtube.com/v/uszgJe0A2Qw&amp;amp;hl=en\&amp;quot;&amp;gt;&amp;lt;\/param&amp;gt;&amp;lt;embed src=\&amp;quot;http://www.youtube.com/v/uszgJe0A2Qw&amp;amp;hl=en\&amp;quot; type=\&amp;quot;application/x-shockwave-flash\&amp;quot; width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;\/embed&amp;gt;&amp;lt;\/object&amp;gt;&amp;lt;\/div&amp;gt;&amp;quot;;" alt=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;8. Copy/Paste&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;In the past, when I’ve wanted to copy &amp;amp; paste something from a website into Office, it’s been challenging. I’ve had to paste, look, undo, paste special, etc. It’s not clear how the content will render, and while that’s understandable from a technology perspective, as a user who just wants to get work done, it can be frustrating. &lt;/p&gt;  &lt;p&gt;In Office 2010, there’s copy and paste live preview. It’s a really convenient feature that allows you to easily preview how different paste options will look without having to undo, paste, undo paste. For example, I’ve copied a region from the twitter website and I now want to include that content in a Word document.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/arpans/WindowsLiveWriter/MyTopOffice2010Features_E9C7/clip_image020_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image015" border="0" alt="clip_image015" src="http://blogs.msdn.com/blogfiles/arpans/WindowsLiveWriter/MyTopOffice2010Features_E9C7/clip_image015_48bff042-bdb1-40f6-a9a7-9dd7d8df1a05.png" width="525" height="313" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In Word 2010, I can paste and see how the different options will look.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/arpans/WindowsLiveWriter/MyTopOffice2010Features_E9C7/image_12.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/arpans/WindowsLiveWriter/MyTopOffice2010Features_E9C7/image_thumb_5.png" width="530" height="431" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;9. SharePoint Workspace &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;SharePoint Workspace (formerly called Groove) is a rich, seamless way to work with SharePoint content. It allows you to take SharePoint lists &amp;amp; libraries offline, provides a rich client UX and does background syncing with SharePoint which helps with performance especially in low latency situations. It has the Fluent UI making it really intuitive to use.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;10. Sparklines &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Excel 2010 introduces Sparklines. It gives you the ability to show data trends in a one data cell. It’s especially useful when you’re analyzing numbers over time across a number of time periods. There are many forms sparklines can take from lines to columns to more yes/no type options for win/loss data. You can, for example, see how MSFT stock is doing over the course of a year --- all within one Excel cell. J You have the ability to format sparklines to include high and low points as well as another of other options.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/arpans/WindowsLiveWriter/MyTopOffice2010Features_E9C7/clip_image018%5B1%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image018[1]" border="0" alt="clip_image018[1]" src="http://blogs.msdn.com/blogfiles/arpans/WindowsLiveWriter/MyTopOffice2010Features_E9C7/clip_image018%5B1%5D_thumb.png" width="540" height="174" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;There you have it! Hopefully, you’re discovering your own new favorite features while checking out the Technical Preview.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9872014" width="1" height="1"&gt;</description><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9872014</guid><pubDate>Mon, 17 Aug 2009 05:53:19 GMT</pubDate><author>arpans</author><ng:modifiedDate>Thu, 03 Sep 2009 16:22:00 GMT</ng:modifiedDate><ng:postId>10443167543</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/arpans/commentrss.aspx?PostID=9872014</wfw:commentRss><comments>http://blogs.msdn.com/arpans/comments/9872014.aspx</comments><source url="http://blogs.msdn.com/arpans/default.aspx">Arpan Shah's Blog</source></item><item><title>Experimenting with PowerShell Cmdlets, Snap-ins and Modules</title><link>http://blogs.technet.com/josebda/archive/2009/08/09/experimenting-with-powershell-cmdlets-snap-ins-and-modules.aspx</link><description>&lt;P&gt;As I continue to experiment with PowerShell v2&amp;nbsp;in Windows Server&amp;nbsp;2008 R2,&amp;nbsp;I will share some of what I learn&amp;nbsp;here on the blog. This time I am focusing on Cmdlets, Snap-ins and Modules.&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Cmdlets&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Windows PowerShell introduced the notion of a “cmdlet” (you pronounce it “commandlet”). These are like tools or commands that are typically very simple and to the point (although most have properties or parameters). For instance, there is one to restart a computer (Restart-Computer), one to list the hotfixes installed on a computer (Get-Hotfix) and one to invoke a WMI method (Invoke-WmiMethod). You can get a list of cmdlets using a cmdlet called Get-Command. You can also learn more about a cmdlet by using a cmd-let called Get-Help. &lt;/P&gt;
&lt;P&gt;Try these:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Get-Command&lt;/LI&gt;
&lt;LI&gt;Get-Command -CommandType cmdlet&lt;/LI&gt;
&lt;LI&gt;Get-Command | ?{$_.Commandtype -eq "Cmdlet"}&lt;/LI&gt;
&lt;LI&gt;Get-Help Get-Command&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Verbs and Nouns&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;You probably noticed that the name of the cmdlets are always divided into two parts, separated by a dash. The first part describes the type of action (called the “Verb”) and the second part describes the object where the action is performed (called the “Noun”). You will notice that the way verbs and nouns are used are quite consistent. You will see some verbs being frequently used, like “Get”, “Set”, “New” and “Remove”. Common nouns include “Item”, “Object”, “Service”, “EventLog”, “Computer” or “Job”. Not every combination of verb and noun is implemented though, you can use Get-Command and Get-Help to find more.&lt;/P&gt;
&lt;P&gt;Try these:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Get-Command -CommandType cmdlet | Select Name, Verb, Noun&lt;/LI&gt;
&lt;LI&gt;Get-Command | ?{$_.Noun -eq "Computer"}&lt;/LI&gt;
&lt;LI&gt;Get-Command | ?{$_.Verb -eq "New"}&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Parameters&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Cmdlets also commonly include parameters. As with the regular command prompt in Windows and with most command-line tools, these will inform the cmdlet details about what to do. They are many times optional. There is usually a default parameter that can be provided right after the cmdlet name. Others must be explicitly declared by the parameter name starting with a dash. The Get-Help cmdlet, for instance, can be provided with a default parameter to indicate what cmdlet you need help on. You can also specify optional parameters like -examples or -detailed. Parameters vary widely between cmdlets. You can use Get-Help to learn more about the parameters for a specific cmdlet.&lt;/P&gt;
&lt;P&gt;Try these:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Get-Help command&lt;/LI&gt;
&lt;LI&gt;Get-Help Get-Command -examples&lt;/LI&gt;
&lt;LI&gt;Get-Help about_parameters&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Snap-ins&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;PowerShell can be extended in a number of ways and one of them is to add more cmdlets. The built-in cmdlets, for example, come from some PowerShell Snap-ins. A number of those snap-ins are loaded by default. By default, in Windows Server 2008 R2, the following snap-ins are loaded. You can get a list with Get-PSSnapin:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Microsoft.PowerShell.Diagnostics&lt;/LI&gt;
&lt;LI&gt;Microsoft.WSMan.Management&lt;/LI&gt;
&lt;LI&gt;Microsoft.PowerShell.Core&lt;/LI&gt;
&lt;LI&gt;Microsoft.PowerShell.Utility&lt;/LI&gt;
&lt;LI&gt;Microsoft.PowerShell.Host&lt;/LI&gt;
&lt;LI&gt;Microsoft.PowerShell.Management&lt;/LI&gt;
&lt;LI&gt;Microsoft.PowerShell.Security&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;The Get-Command and Get-Help cmdlets, for instance, come from Microsoft.PowerShell.Core Snap-in. You can load addition snap-in (with Add-PSSnapin). Snap-ins are basically .NET program compiled into DLL files and they can also include (in addition to cmdlets), providers and functions. The snap-in definition includes &lt;/P&gt;
&lt;P&gt;Try these:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Get-Help snapin&lt;/LI&gt;
&lt;LI&gt;Get-PSSnapin&lt;/LI&gt;
&lt;LI&gt;Get-Command -CommandType cmdlet | Select ModuleName | Sort ModuleName –Unique&lt;/LI&gt;
&lt;LI&gt;Get-Command -Module Microsoft.PowerShell.Core&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Modules&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;With PowerShell v2, cmdlets can also be defined in another type of extension called Modules. By default, Windows Server 2008 R2 PowerShell will not import any modules, but there are a number of modules available for importing. These modules are described in files you can find under the c:\Windows\System32\WindowsPowerShell\v1.0\Modules\ folder, including files with a "psd1" extension that contain details about the module in plain text. Here is a list of the modules available in Windows Server 2008 R2:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;ActiveDirectory&lt;/LI&gt;
&lt;LI&gt;ADRMS&lt;/LI&gt;
&lt;LI&gt;AppLocker&lt;/LI&gt;
&lt;LI&gt;BestPractices&lt;/LI&gt;
&lt;LI&gt;BitsTransfer&lt;/LI&gt;
&lt;LI&gt;GroupPolicy&lt;/LI&gt;
&lt;LI&gt;PSDiagnostics&lt;/LI&gt;
&lt;LI&gt;ServerManager&lt;/LI&gt;
&lt;LI&gt;TroubleshootingPack&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;The ServerManager module, for instance, provides cmdlets that can be use to manage Roles, Role Services and Features in Windows (they replace the deprecated ServerManagerCmd.exe tool). &lt;/P&gt;
&lt;P&gt;Try these:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Get-Help Module&lt;/LI&gt;
&lt;LI&gt;Get-Module -ListAvailable&lt;/LI&gt;
&lt;LI&gt;Get-ChildItem C:\Windows\System32\WindowsPowerShell\v1.0\Modules -Recurse&lt;/LI&gt;
&lt;LI&gt;Get-ChildItem C:\Windows\System32\WindowsPowerShell\v1.0\Modules -Recurse -Filter *.psd1 | Select Name, Length&lt;/LI&gt;
&lt;LI&gt;Get-Content c:\Windows\System32\WindowsPowerShell\v1.0\Modules\ServerManager\ServerManager.psd1&lt;/LI&gt;
&lt;LI&gt;Import-Module ServerManager&lt;/LI&gt;
&lt;LI&gt;Get-Module&lt;/LI&gt;
&lt;LI&gt;Get-Command -Module ServerManager&lt;/LI&gt;
&lt;LI&gt;Get-WindowsFeature&lt;/LI&gt;
&lt;LI&gt;Remove-Module ServerManager&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;I hope this helped you understand a bit more about cmdlets in PowerShell. Try the sample commands (for Windows Server 2008 R2) and keep on learning...&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3271983" width="1" height="1"&gt;</description><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3271983</guid><pubDate>Mon, 10 Aug 2009 05:12:00 GMT</pubDate><author>josebda</author><ng:modifiedDate>Tue, 11 Aug 2009 15:08:30 GMT</ng:modifiedDate><ng:postId>10303141498</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><category>The Basics</category><category>Windows Server 2008 R2</category><category>PowerShell</category><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/josebda/rsscomments.aspx?PostID=3271983</wfw:comment><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/josebda/commentrss.aspx?PostID=3271983</wfw:commentRss><comments>http://blogs.technet.com/josebda/comments/3271983.aspx</comments><source url="http://blogs.technet.com/josebda/default.aspx">Jose Barreto's Blog</source></item><item><title>SNIA’s Storage Developers Conference 2009 in Santa Clara, CA is coming – Plan to be there on the week of September 14th</title><link>http://blogs.technet.com/josebda/archive/2009/08/08/snia-s-storage-developers-conference-2009-in-santa-clara-ca-is-coming-plan-to-be-there-on-september-14th.aspx</link><description>&lt;P&gt;The Storage Networking Industry Association (SNIA) is hosting the 6th Storage Developer Conference (SDC) in the Hyatt Regency in beautiful Santa Clara, CA (Silicon Valley) on the week of September 14th. This event is also co-located with the CIFS/SMB/SMB2 Plugfest. For those working with storage technologies, this event gathers a unique crowd and includes a rich agenda that you can find at &lt;A href="http://www.snia.org/events/storage-developer2009/agenda2009" mce_href="http://www.snia.org/events/storage-developer2009/agenda2009"&gt;http://www.snia.org/events/storage-developer2009/agenda2009&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Looking at the agenda, you can see it includes presentations and/or panels with key industry players like Amazon, Brocade, EMC, Emulex, Google, HP, IBM, Intel, Isilon, The Linux Foundation, LSI, Microsoft, NetApp, The Samba Team, Sun, Symantec, Tata, Ubiqx, Western Digital and Wipro, just to mention a few names you should readily recognize.&lt;/P&gt;
&lt;P&gt;Microsoft is the CIFS/SMB/SMB2 Plugfest Underwriter and the presentations from Microsoft include topics like BranchCache, Green Technologies, Data Classification on File Servers, Windows File System Transactions, SMB version 2.1, Storage in Virtual Machine Manager, SMB2 Model Based Testing, File Server Capacity Tool (FSCT), DFS-Namespaces Scalability, Storage Management and Delete Notifications in Windows 7. Microsoft is also participating in the panel on Cloud Storage. I am helping deliver the presentations on FSCT and DFS-N, along with a few colleagues, and I will also spend time at the PlugFest. &lt;/P&gt;
&lt;P&gt;On last thing about the SDC and probably one of the most important ones is that the presentations are usually delivered to developers by the actual product teams and&amp;nbsp;frequently the actual developer of the technology is either delivering the presentation or is in the room to take questions. That kind of deep insight is&amp;nbsp;not common in every conference out there. For instance, I remember last year when there was a discussion (during&amp;nbsp;Q&amp;amp;A) about something&amp;nbsp;related to both NTFS and SMB. It was great to see senior developers from both teams in the room (one was the presenter and one was in the audience), discussing with attendees a specific topic that spanned both the local file system and the remote file serving protocol. &lt;/P&gt;
&lt;P&gt;Registration is open at&amp;nbsp; &lt;A href="http://www.snia.org/events/storage-developer2009/" mce_href="http://www.snia.org/events/storage-developer2009/"&gt;http://www.snia.org/events/storage-developer2009/&lt;/A&gt; and you should definitely plan to be there. If you are attending, leave a comment and let’s plan to meet when we get there!&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://www.snia.org/events/storage-developer2009" mce_href="http://www.snia.org/events/storage-developer2009"&gt;&lt;IMG border=0 alt="SDC Banner 2009" src="http://www.snia.org/events/storage-developer2009/help_promote/SDC468Banner.gif" width=468 height=60 mce_src="http://www.snia.org/events/storage-developer2009/help_promote/SDC468Banner.gif"&gt; &lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3271731" width="1" height="1"&gt;</description><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3271731</guid><pubDate>Sat, 08 Aug 2009 17:04:00 GMT</pubDate><author>josebda</author><ng:modifiedDate>Sat, 08 Aug 2009 14:32:26 GMT</ng:modifiedDate><ng:postId>10297165725</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><category>Training</category><category>Storage</category><category>Events</category><category>Windows 7</category><category>Windows Server 2008 R2</category><category>SMB</category><category>Interoperability</category><category>DFS</category><category>NFS</category><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/josebda/rsscomments.aspx?PostID=3271731</wfw:comment><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/josebda/commentrss.aspx?PostID=3271731</wfw:commentRss><comments>http://blogs.technet.com/josebda/comments/3271731.aspx</comments><source url="http://blogs.technet.com/josebda/default.aspx">Jose Barreto's Blog</source></item><item><title>The good old days of CP/M 2.2 on a TRS-80 with an 8-bit Z80 CPU</title><link>http://blogs.technet.com/josebda/archive/2009/08/07/the-good-old-days-of-cp-m-2-2-on-a-trs-80-with-an-8-bit-z80-cpu.aspx</link><description>&lt;P&gt;I was reading the news on the release of Windows 7 and stopped to think of the early days of my IT career and what an OS looked like then. I thought way back to one of the first microcomputer disk operating systems I ever used: CP/M. I actually remembered the few resident commands we had back then in CP/M: DIR, ERA, REN, TYPE, SAVE and USER. I remember that clearly because, back in the 1980s,&amp;nbsp;I taught some classes on CP/M&amp;nbsp;(while still attending college) and even wrote a little booklet (in Portuguese) on it. &lt;/P&gt;
&lt;P&gt;That was back in Brazil and we used a clone of the TRS-80 Model III computer called CP 500 from Micrologica, running on an 8-bit Z80 CPU at 2MHz, 48KB of RAM and a 5 1/4" floppy drive (holding less than 400KB of data). I first used the CP 500 at the school where I taught those classes and ended up owning one later on. Back then, we used applications like&amp;nbsp; Wordstar, SuperCalc and DBase II, and it all used to fit in a single floppy (leaving some free space for some documents).&lt;/P&gt;
&lt;P&gt;It’s amazing how these days there are online references to pretty much anything you can remember. I found Wikipedia pages on:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;The TRS-80 computer from Tandy Corporation: &lt;A href="http://en.wikipedia.org/wiki/TRS-80" mce_href="http://en.wikipedia.org/wiki/TRS-80"&gt;http://en.wikipedia.org/wiki/TRS-80&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;The Z80 processor from Zilog: &lt;A href="http://en.wikipedia.org/wiki/Z80" mce_href="http://en.wikipedia.org/wiki/Z80"&gt;http://en.wikipedia.org/wiki/Z80&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;The CP/M operating system from Digital Research: &lt;A href="http://en.wikipedia.org/wiki/CP/M" mce_href="http://en.wikipedia.org/wiki/CP/M"&gt;http://en.wikipedia.org/wiki/CP/M&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;The Wordstar text editor from MicroPro: &lt;A href="http://en.wikipedia.org/wiki/Wordstar" mce_href="http://en.wikipedia.org/wiki/Wordstar"&gt;http://en.wikipedia.org/wiki/Wordstar&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;The SuperCalc spreadsheet from Computer Associates: &lt;A href="http://en.wikipedia.org/wiki/SuperCalc" mce_href="http://en.wikipedia.org/wiki/SuperCalc"&gt;http://en.wikipedia.org/wiki/SuperCalc&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;The dBASE II database management system from Ashton-Tate: &lt;A href="http://en.wikipedia.org/wiki/Dbase" mce_href="http://en.wikipedia.org/wiki/Dbase"&gt;http://en.wikipedia.org/wiki/Dbase&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;For those that can read&amp;nbsp;Portuguese, I also found:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;A wikipedia page on the Brazilian CP 500 from Prologica: &lt;A href="http://pt.wikipedia.org/wiki/CP500" mce_href="http://pt.wikipedia.org/wiki/CP500"&gt;http://pt.wikipedia.org/wiki/CP500&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Some detailed information on the CP 500&amp;nbsp;at the Museum of Computing and IT: &lt;A href="http://www.mci.org.br/micro/prologica/cp500.html"&gt;http://www.mci.org.br/micro/prologica/cp500.html&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;An ad from the days of the CP 500 launch in 1982: &lt;A href="http://www.mci.org.br/micro/prologica/cp500_ne_1g.jpg"&gt;http://www.mci.org.br/micro/prologica/cp500_ne_1g.jpg&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;To my amazement, I also found copies of old CP/M manuals dating back to 1976, including the CP/M 2.2 manual from 1983 at &lt;A href="http://www.cpm.z80.de/manuals/cpm22-m.pdf" mce_href="http://www.cpm.z80.de/manuals/cpm22-m.pdf"&gt;http://www.cpm.z80.de/manuals/cpm22-m.pdf&lt;/A&gt;. That trip down memory lane reminded me of the BASIC interpreters we used on those machines (both the resident basic for the TRS-80 and the MBASIC interpreter for CP/M). I also looked at some of my old archives on DVD and found some old MBASIC code I wrote for that computer.&lt;/P&gt;
&lt;P&gt;I also stumbled upon a series of recent videos on the history of Microsoft at&amp;nbsp; &lt;A href="http://channel9.msdn.com/shows/History/" mce_href="http://channel9.msdn.com/shows/History/"&gt;http://channel9.msdn.com/shows/History/&lt;/A&gt;. This includes an episode about the year 1977 when Microsoft released their the first Z80 BASIC interpreter and has Bill Gates talking about the launch of the TRS-80 computer: &lt;A href="http://channel9.msdn.com/shows/History/The-History-of-Microsoft-1977/" mce_href="http://channel9.msdn.com/shows/History/The-History-of-Microsoft-1977/"&gt;http://channel9.msdn.com/shows/History/The-History-of-Microsoft-1977/&lt;/A&gt;.&amp;nbsp; That was also the year Elvis died and the first Star Wars movie was released. &lt;/P&gt;
&lt;P&gt;Yeah… I guess I am getting old :-)&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3271679" width="1" height="1"&gt;</description><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3271679</guid><pubDate>Sat, 08 Aug 2009 05:00:00 GMT</pubDate><author>josebda</author><ng:modifiedDate>Sat, 08 Aug 2009 10:41:39 GMT</ng:modifiedDate><ng:postId>10294277579</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><category>Training</category><category>Brazil</category><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/josebda/rsscomments.aspx?PostID=3271679</wfw:comment><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/josebda/commentrss.aspx?PostID=3271679</wfw:commentRss><comments>http://blogs.technet.com/josebda/comments/3271679.aspx</comments></item><item><title>Real World Branding with SharePoint Server 2007 Publishing Sites</title><link>http://blogs.msdn.com/cjohnson/archive/2009/08/05/real-world-branding-with-sharepoint-server-2007-publishing-sites.aspx</link><description>&lt;P&gt;We just went live with a brand new HUGE! two part whitepaper on branding SharePoint 2007&amp;nbsp;Publishing Sites.&lt;/P&gt;
&lt;P&gt;This is an awesome resource for getting up to speed on how to build cutting edge internet facing websites on SharePoint 2007.&amp;nbsp; We take you step by step through the process all the way from the things to think about ... to wireframes, on to photoshop mockups &amp;amp; then on to implementation.&amp;nbsp; It really is a facinating look to how to do this from the begining to the end.&lt;/P&gt;
&lt;P&gt;In the sample we take you through building a site and provide the download links to all the accompanying assets.&lt;/P&gt;
&lt;P&gt;This is a resource that was begging to be written about and Andrew Connell (MVP) &amp;amp; Randy Drisgill (MVP) have done an excellent job.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee354191.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee354191.aspx"&gt;&lt;STRONG&gt;Real World Branding with SharePoint Server 2007 Publishing Sites&lt;/STRONG&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There are loads of SharePoint sites on internet today, many of which can be found &lt;A href="http://www.wssdemo.com/Pages/websites.aspx" target=_blank mce_href="http://www.wssdemo.com/Pages/websites.aspx"&gt;here&lt;/A&gt;.&amp;nbsp; Take a look, there are loads of amazing looking sites out there.&lt;/P&gt;
&lt;P&gt;-Chris.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee354191.aspx"&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9857553" width="1" height="1"&gt;</description><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9857553</guid><pubDate>Wed, 05 Aug 2009 00:34:00 GMT</pubDate><author>chjohn</author><ng:modifiedDate>Tue, 04 Aug 2009 21:32:15 GMT</ng:modifiedDate><ng:postId>10272460041</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><category>Application Development</category><category>SharePoint</category><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/cjohnson/rsscomments.aspx?PostID=9857553</wfw:comment><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/cjohnson/commentrss.aspx?PostID=9857553</wfw:commentRss><comments>http://blogs.msdn.com/cjohnson/comments/9857553.aspx</comments><source url="http://blogs.msdn.com/cjohnson/default.aspx">Chris Johnson</source></item><item><title>Strings, Arrays and Functions in PowerShell v2 (and some sample code that speaks for itself :-)</title><link>http://blogs.technet.com/josebda/archive/2009/08/02/strings-arrays-and-functions-in-powershell.aspx</link><description>&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;I spent some more time experimenting with PowerShell v2 and here goes my second post about it. &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;This time around I am focusing on how to define variables, use expressions and create functions.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;The "problem" we're solving :-)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;To make it fun, I decided to create a little script that creates some random syllables, words and sentences using a set of rules. This will come out as some nonsense sentences, but they should be pronounceable. I wrote this little program in several languages before and it generally exercises a number of concepts around manipulating arrays and strings. It uses random numbers and sets of consonants and vowels, plus some logic around the number of syllables per word, words per sentence, etc.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Here are a few sample sentences created by the program:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Inepirula beicmicso phosa.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Ci muesit sacoipae naepdave opeefane.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Kikipor sofestrysu crasha browohocyn.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;De dyczershaco kurensataer mexi trerememee.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Cie he cho cyuba lio goabryntune.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Quiaphe breiepco henureme sopoche.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Pychurmabie osipi leberoi.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Ne trirorce auencuep je sucootoi yeelneer.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Uchekepian rinsi reypbar.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Oeciurgo vacra go.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;It’s gibberish, I know, but you should be able to pronounce it. &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;In fact, I went one step further and used the Speech API in Windows to actually have the computer say them out loud. &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;P.S.: Due to its random nature, it is possible (although somewhat unlikely) that the program might spit out some bad words in some real language. I apologize in advance :-)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&lt;/FONT&gt;&lt;/o:p&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;What I learned&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;PowerShell proved quite capable of creating this program. In fact, due to its interesting abilities to turn strings into arrays, rich expressions and loop constructs, it was no problem at all. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;I did learn a few details that always vary from language to language:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;PowerShell uses a $ sign before the name of variables&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;When creating variables, you can specify the type in [], but that is optional&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Common types include int32, array, string and object &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Get-Random(n) will give you a random integer between 0 and (n-1).&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Strings are arrays of characters starting at item number 0&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;The -split operator can turn a string into an array, splitting the string using a specified delimiter&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Substring is the function to get a piece of a string&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Length is the function to get the number of characters in a string (or items in an array)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Some operators are a bit tricky and it doesn’t use the regular "&amp;lt;", "&amp;gt;", "&amp;lt;=", "&amp;gt;=", "!="&amp;nbsp;and "==" operators. You&amp;nbsp;need to use "-lt", "-gt", "-le", "-ge", "-ne"&amp;nbsp;and "-eq" instead (there are many more). You get used to it.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;You can use the “+=”, “-=”, “*=” assignment syntax as you have in C++, C#&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;You will sometimes need to enclose an expression in ( ) so that it is not confused with a statement&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;You can use the multiply operator to repeat a string. For instance (“-“ * 5) yields “-----“. This is one of those cases where you must use the ().&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;You can create COM objects with the ‘New-Object -ComObject “name”’ syntax&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;In loops and conditional statements, you use () to specify the conditions and { } to group the statements&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo2" class=MsoListParagraph&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;The default execution policy will not let you run an unsigned script. You can bypass this using “Set-ExecutionPolicy Unrestricted -scope process”. Note that this will only apply for the running process, due to the –scope parameter. You can set this at a wider scope, but you probably shouldn’t, for security reasons.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Closing comments&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Last but not least, find the code below. I tested this on Windows Server 2008 R2. &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Try it only on a test machine. &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;You should probably save it in a file called sentences.ps1 (for instance) and run it from there using “.\sentences.ps1”.&amp;nbsp;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;/SPAN&gt;Consider using the Powershell ISE, which includes a debugger. &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;Use CTRL-C to stop it before&amp;nbsp;it says all 10 sentences.&amp;nbsp;You might have to wait&amp;nbsp;for it to end saying a sentence&amp;nbsp;before it actually stops.&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;&lt;o:p&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;The code&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;[array] $Vowels = "a;a;a;a;e;e;e;e;i;i;i;o;o;o;u;u;y" -split ";"&lt;BR&gt;[array] $Consonants = "b;b;br;c;c;c;ch;cr;d;f;g;h;j;k;l;m;m;m;n;n;p;p;ph;qu;r;r;r;s;s;s;sh;t;tr;v;w;x;z" -split ";"&lt;BR&gt;[array] $Endings = "r;r;s;r;l;n;n;n;c;c;t;p" -split ";"&lt;BR&gt;[object] $Voice = New-Object -ComObject "SAPI.SPVoice"&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;function Get-RandomVowel &lt;BR&gt;{ return $Vowels[(Get-Random($Vowels.Length))] }&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;function Get-RandomConsonant&lt;BR&gt;{ return $Consonants[(Get-Random($Consonants.Length))] }&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;function Get-RandomEnding&lt;BR&gt;{ return $Endings[(Get-Random($Endings.Length))] }&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;function Get-RandomSyllable ([int32] $PercentConsonants, [int32] $PercentEndings)&lt;BR&gt;{&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp; [string] $Syllable = ""&lt;BR&gt;&amp;nbsp;&amp;nbsp; if ((Get-Random(100)) -le $PercentConsonants) &lt;BR&gt;&amp;nbsp;&amp;nbsp; { $Syllable+= Get-RandomConsonant }&lt;BR&gt;&amp;nbsp;&amp;nbsp; $Syllable+= Get-RandomVowel&lt;BR&gt;&amp;nbsp;&amp;nbsp; if ((Get-Random(100)) -le $PercentEndings) &lt;BR&gt;&amp;nbsp;&amp;nbsp; { $Syllable+= Get-RandomEnding }&lt;BR&gt;&amp;nbsp;&amp;nbsp; return $Syllable&lt;BR&gt;}&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;function Get-RandomWord ([int32] $MinSyllables, [int32] $MaxSyllables)&lt;BR&gt;{&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp; [string] $Word = ""&lt;BR&gt;&amp;nbsp;&amp;nbsp; [int32] $Syllables = ($MinSyllables) + (Get-Random(($MaxSyllables - $MinSyllables + 1)))&lt;BR&gt;&amp;nbsp;&amp;nbsp; for ([int32] $Count=1; $Count -le $Syllables; $Count++) &lt;BR&gt;&amp;nbsp;&amp;nbsp; { $Word += Get-RandomSyllable 70 20 } &amp;lt;# Consonant 70% of the time, Ending 20% #&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp; return $Word&lt;BR&gt;}&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;function Get-RandomSentence ([int32] $MinWords, [int32] $MaxWords) &lt;BR&gt;{&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp; [string] $Sentence = ""&lt;BR&gt;&amp;nbsp;&amp;nbsp; [int32] $Words = ($MinWords) + (Get-Random($MaxWords - $MinWords + 1))&lt;BR&gt;&amp;nbsp;&amp;nbsp; for ([int32] $Count=1; $Count -le $Words; $Count++) &lt;BR&gt;&amp;nbsp;&amp;nbsp; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $Sentence += Get-RandomWord 1 5 &amp;lt;# Word with 1 to 5 syllables #&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $Sentence += " "&lt;BR&gt;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp; $Sentence = $Sentence.substring(0,1).ToUpper() + $Sentence.substring(1,$Sentence.Length-2) + "."&lt;BR&gt;&amp;nbsp;&amp;nbsp; return $Sentence&lt;BR&gt;}&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;BR&gt;for ([int32] $Count=1; $Count -le 10; $Count++) &lt;BR&gt;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [string] $Sentence = Get-RandomSentence 2 6 &amp;lt;# Sentence with 2 to 6 words #&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write-Host $Sentence&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write-Host ("-" * $Sentence.Length)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [int32] $VResult = $Voice.Speak($Sentence)&lt;BR&gt;}&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Improve it&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Now that you got this code, you might want to work on it and make it better. Maybe changing the frequency of the consonants, vowels and endings. Maybe tweak the number of syllables per word or words per sentence. You might even think of ways to make it generate some poetry with the right number of syllables per sentence and some rhyming. Have fun…&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3270194" width="1" height="1"&gt;</description><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3270194</guid><pubDate>Mon, 03 Aug 2009 03:30:00 GMT</pubDate><author>josebda</author><ng:modifiedDate>Tue, 04 Aug 2009 00:58:26 GMT</ng:modifiedDate><ng:postId>10259569618</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><category>Windows 7</category><category>Windows Server 2008 R2</category><category>PowerShell</category><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/josebda/rsscomments.aspx?PostID=3270194</wfw:comment><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/josebda/commentrss.aspx?PostID=3270194</wfw:commentRss><comments>http://blogs.technet.com/josebda/comments/3270194.aspx</comments></item><item><title>Updated Version of SharePoint SP2 is now available which contains a fix for the Trial issue</title><link>http://blogs.technet.com/stefan_gossner/archive/2009/08/01/updated-version-of-sharepoint-sp2-is-now-available-which-contains-a-fix-for-the-trial-issue.aspx</link><description>&lt;P&gt;As discussed &lt;A href="http://blogs.technet.com/stefan_gossner/archive/2009/05/22/attention-important-information-on-service-pack-2.aspx" mce_href="http://blogs.technet.com/stefan_gossner/archive/2009/05/22/attention-important-information-on-service-pack-2.aspx"&gt;earlier&lt;/A&gt; the original SP2 release reverted the MOSS license to trial during installation. Microsoft now released an updated version of SP2 which does not have this problem.&lt;/P&gt;
&lt;P&gt;More details can be found on the &lt;A href="http://blogs.msdn.com/sharepoint/archive/2009/06/25/service-pack-2-update.aspx" mce_href="http://blogs.msdn.com/sharepoint/archive/2009/06/25/service-pack-2-update.aspx"&gt;SharePoint Team blog&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;For those of you who already installed SP2 and would like to get the separate fix for this issue can download it from here: &lt;A href="http://support.microsoft.com/kb/971620"&gt;http://support.microsoft.com/kb/971620&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3269960" width="1" height="1"&gt;</description><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3269960</guid><pubDate>Sat, 01 Aug 2009 14:00:00 GMT</pubDate><author>Stefan_Gossner</author><ng:modifiedDate>Sat, 01 Aug 2009 10:16:19 GMT</ng:modifiedDate><ng:postId>10252664761</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><category>MOSS 2007 / WSS 3.0</category><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/stefan_gossner/commentrss.aspx?PostID=3269960</wfw:commentRss><comments>http://blogs.technet.com/stefan_gossner/comments/3269960.aspx</comments><source url="http://blogs.technet.com/stefan_gossner/default.aspx">Stefan Goßner</source></item><item><title>Experimenting with PowerShell v2</title><link>http://blogs.technet.com/josebda/archive/2009/07/25/experimenting-with-powershell.aspx</link><description>&lt;P&gt;Powershell is a&amp;nbsp;command line interface for Windows that offers a&amp;nbsp;very powerful and flexible model.&lt;BR&gt;It is now a feature included with Windows 7 and Windows Server 2008 R2, not an optional download as before.&lt;BR&gt;In this post, I show some sample commands that&amp;nbsp;can help you understand some of the basic features and a few more complex ones.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you never played with it before, try running &lt;STRONG&gt;Get-Help &lt;/STRONG&gt;and &lt;STRONG&gt;Get-Command &lt;/STRONG&gt;in a PowerShell prompt. &lt;/P&gt;
&lt;TABLE border=1 width="100%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Shows a list of commands: &lt;/TD&gt;
&lt;TD width="50%"&gt;Get-Command&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Shows the help overview: &lt;/TD&gt;
&lt;TD width="50%"&gt;Get-Help&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Show the help for “Dir”:&lt;/TD&gt;
&lt;TD width="50%"&gt;Get-Help Dir&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;Let's use the &lt;STRONG&gt;Dir &lt;/STRONG&gt;command now&amp;nbsp;(actually an alias for &lt;STRONG&gt;Get-ChildItem&lt;/STRONG&gt;) and a number of ways to transform the output using &lt;STRONG&gt;pipeline functions&lt;/STRONG&gt;:&lt;/P&gt;
&lt;TABLE border=1 width="100%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Shows Directory:&lt;/TD&gt;
&lt;TD width="50%"&gt;Dir&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Shows Directory in list format (two ways):&lt;/TD&gt;
&lt;TD width="50%"&gt;Dir | Format-List &lt;BR&gt;Dir | FL&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Shows Directory sorted by file length:&lt;/TD&gt;
&lt;TD width="50%"&gt;Dir | Sort Length&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Shows Directory sorted by file length in descending order:&lt;/TD&gt;
&lt;TD width="50%"&gt;Dir | Sort Length –Descending&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Shows all the methods and properties for the objects resulting from Dir (files and folders):&lt;/TD&gt;
&lt;TD width="50%"&gt;Dir | Get-Member&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Shows a selected list of properties instead of the default list:&lt;/TD&gt;
&lt;TD width="50%"&gt;Dir | Select&amp;nbsp; Directory, Name, Extension, Length&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Shows directory in HTML format (not much use going to the console like this, though):&lt;/TD&gt;
&lt;TD width="50%"&gt;Dir | ConvertTo-Html &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Output the Directory listing to a file:&lt;/TD&gt;
&lt;TD width="50%"&gt;Dir | Out-File psfilelist.txt&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Output the Directory listing to a grid in window:&lt;/TD&gt;
&lt;TD width="50%"&gt;Dir | Out-GridView&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;All together now: Shows selected list of properties, sorted, in HTML, going to a file. You need to open the file yourself:&lt;/TD&gt;
&lt;TD width="50%"&gt;Dir | Select Directory, Name, Extension, Length | Sort Length -Descending | ConvertTo-Html | Out-File psfilelist.htm&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;Now exploring other “drives” in PowerShell with &lt;STRONG&gt;Get-PSDrive&lt;/STRONG&gt;, including the certificate store and the registry.&lt;/P&gt;
&lt;TABLE border=1 width="100%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Get list of PowerShell “drives”:&lt;/TD&gt;
&lt;TD width="50%"&gt;Get-PSDrive&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Shows environment variables:&lt;/TD&gt;
&lt;TD width="50%"&gt;Dir ENV:\&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Shows the certiticate store:&lt;/TD&gt;
&lt;TD width="50%"&gt;Dir CERT:\&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Shows root certificates for the machine:&lt;/TD&gt;
&lt;TD width="50%"&gt;Dir CERT:\LocalMachine\Root | Select FriendlyName, NotAfter&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Shows “HK Local Machine” portion of the registry&lt;/TD&gt;
&lt;TD width="50%"&gt;Dir HKLM:&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Shows specified part of the registry:&lt;/TD&gt;
&lt;TD width="50%"&gt;Dir HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;Another easy way to get interesting data is with &lt;STRONG&gt;Get-Process&lt;/STRONG&gt;.&lt;/P&gt;
&lt;TABLE border=1 width="100%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;List running processes:&lt;/TD&gt;
&lt;TD width="50%"&gt;Get-Process&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Shows all the methods and properties for the process objects:&lt;/TD&gt;
&lt;TD width="50%"&gt;Get-Process | Get-Member&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Shows selected list of properties of running processes, formatted as table:&lt;/TD&gt;
&lt;TD width="50%"&gt;Get-Process | Select Id, Name, Product, CPU, WorkingSet | Format-Table –autosize&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;Combining PowerShell with WMI is also very interesting. You can leverage any WMI provider on the box using &lt;STRONG&gt;Get-WmiObject&lt;/STRONG&gt;.&lt;BR&gt;You can get a list of WMI Classes from &lt;A href="http://msdn.microsoft.com/en-us/library/aa394554(VS.85).aspx" mce_href="http://msdn.microsoft.com/en-us/library/aa394554(VS.85).aspx"&gt;http://msdn.microsoft.com/en-us/library/aa394554(VS.85).aspx&lt;/A&gt; &lt;/P&gt;
&lt;TABLE border=1 width="100%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Shows all WMI objects with "disk" on the name:&lt;/TD&gt;
&lt;TD width="50%"&gt;Get-WmiObject -List *disk* | Select Name&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Shows disk partitions:&lt;/TD&gt;
&lt;TD width="50%"&gt;Get-WmiObject Win32_DiskPartition | Select Name, Size, BootPartition&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Shows logical disks:&lt;/TD&gt;
&lt;TD width="50%"&gt;Get-WmiObject Win32_LogicalDisk | Select DeviceID, DriveType, Size, FreeSpace&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Shows mapped drives (with NET USE command):&lt;/TD&gt;
&lt;TD width="50%"&gt;Get-WmiObject Win32_MappedLogicalDisk | Select Name, ProviderName, FileSystem, Size, FreeSpace | Format-Table&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;PowerShell also lets you call the &lt;STRONG&gt;.NET Framework&lt;/STRONG&gt;, which is a huge library.&lt;BR&gt;You need to use a syntax where the full class name (library.class) is mentioned in [], followed by a :: and the method name.&lt;/P&gt;
&lt;P&gt;You can find a reference for it at &lt;A href="http://msdn.microsoft.com/en-us/library/ms229335.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms229335.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms229335.aspx&lt;/A&gt;&lt;/P&gt;
&lt;TABLE border=1 width="100%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Shows network interfaces:&lt;/TD&gt;
&lt;TD width="50%"&gt;[System.Net.NetworkInformation.NetworkInterface]::GetAllNetworkInterfaces() | Select Name, Speed, OperationalStatus&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Shows identity of the current logged user:&lt;/TD&gt;
&lt;TD width="50%"&gt;[System.Security.Principal.WindowsIdentity]::GetCurrent() | Select Name, AuthenticationType, IsAuthenticated, IsSystem&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Shows drive information:&lt;/TD&gt;
&lt;TD width="50%"&gt;[System.IO.DriveInfo]::GetDrives() | Select Name, DriveType, IsReady, TotalSize, TotalFreeSpace, RootDirectory | Format-Table -autosize&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;It’s also interesting to iterate through the list of resulting objects, to perform additional actions.&lt;BR&gt;You use the &lt;STRONG&gt;ForEach &lt;/STRONG&gt;keyword (actually an alias for &lt;STRONG&gt;ForEach-Object&lt;/STRONG&gt;), which allows you to run something for each item. The item is referred to as $_.&lt;BR&gt;You can also use the symbol % instead of ForEach-Object.&lt;/P&gt;
&lt;TABLE border=1 width="100%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Change to the application data folder, which is obtained from the environment variables:&lt;/TD&gt;
&lt;TD width="50%"&gt;Dir Env:\AppData | ForEach { CD $_.Value }&lt;BR&gt;Dir Env:\AppData |&amp;nbsp;% { CD $_.Value } &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Show all text files enumerated by the Dir command:&lt;/TD&gt;
&lt;TD width="50%"&gt;Dir *.TXT | ForEach { Type $_ }&lt;BR&gt;Dir *.TXT |&amp;nbsp;% { Type $_ }&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Show root directory for all drives enumerated by GetDrives:&lt;/TD&gt;
&lt;TD width="50%"&gt;[System.IO.DriveInfo]::GetDrives() | foreach { Dir $_ }&lt;BR&gt;[System.IO.DriveInfo]::GetDrives() |&amp;nbsp;% { Dir $_ }&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;A similar syntax is used for &lt;STRONG&gt;Where &lt;/STRONG&gt;(actually an alias for &lt;STRONG&gt;Where-Object&lt;/STRONG&gt;), which can be used to filter objects in the pipeline.&lt;BR&gt;You can also use the symbol&amp;nbsp;? instead of Where-Object.&lt;/P&gt;
&lt;TABLE border=1 width="100%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Show selected properties of processes using more than 10MB of memory, in descending order, formatted as table:&lt;/TD&gt;
&lt;TD width="50%"&gt;Get-Process | Select Id, Name, Product, CPU, WorkingSet | Where { $_.WorkingSet -gt 10*1024*1024} | Sort WorkingSet -Descending | Format-Table –autosize&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Shows all services that are stopped:&lt;/TD&gt;
&lt;TD width="50%"&gt;Get-Service | Where { $_.Status -eq "Stopped" }&lt;BR&gt;Get-Service |&amp;nbsp;? { $_.Status -eq "Stopped" }&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;Now let's focus on the &lt;STRONG&gt;DFS Namespaces &lt;/STRONG&gt;service, which is something I’m working on (these will only work if the box is a Windows Server file server with the &lt;STRONG&gt;DFS-N&lt;/STRONG&gt; role service installed):&lt;/P&gt;
&lt;TABLE border=1 width="100%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Shows all 2000 mode domain namespaces on the current computer, using the registry:&lt;/TD&gt;
&lt;TD width="50%"&gt;Dir HKLM:\Software\Microsoft\DFS\Roots\Domain&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Shows all 2008 mode&amp;nbsp; domain namespaces on the current computer, using the registry:&lt;/TD&gt;
&lt;TD width="50%"&gt;Dir HKLM:\Software\Microsoft\DFS\Roots\DomainV2&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Shows all standalone namespaces on the current computer, using the registry:&lt;/TD&gt;
&lt;TD width="50%"&gt;Dir HKLM:\Software\Microsoft\DFS\Roots\Standalone&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Shows all namespaces of all types on the current computer, using the registry:&lt;/TD&gt;
&lt;TD width="50%"&gt;Dir HKLM:\Software\Microsoft\DFS\Roots –Recurse | Select PSChildName, ValueCount, Property&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Shows properties of the DFS-N service in the registry:&lt;/TD&gt;
&lt;TD width="50%"&gt;Dir HKLM:\System\CurrentControlSet\Services\Dfs&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Get status of DFS Service (formatted as list)&lt;/TD&gt;
&lt;TD width="50%"&gt;Get-Service DFS | fl&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Starts the DFS-N service (two ways):&lt;/TD&gt;
&lt;TD width="50%"&gt;Get-Service DFS |&amp;nbsp;Start-Service &lt;BR&gt;Get-Service DFS | % { $_.Start }&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Shows all WMI objects with DFS on the name (will include some DFS-R ones as well):&lt;/TD&gt;
&lt;TD width="50%"&gt;Get-WmiObject -List *DFS*&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Shows DFS Targets on the current computer, using WMI:&lt;/TD&gt;
&lt;TD width="50%"&gt;Get-WmiObject Win32_DFSTarget&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="50%"&gt;Shows selected properties of DFS nodes on the current computer, including it's a root and its state, using WMI:&lt;/TD&gt;
&lt;TD width="50%"&gt;Get-WmiObject Win32_DFSNode | Select Name, Root, State | Format-Table –autosize&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;I hope that has helped you see how interesting PowerShell can be. Here are a few &lt;STRONG&gt;links &lt;/STRONG&gt;for additional information and tutorials:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Windows Powershell Owner's Manual: &lt;A href="http://www.microsoft.com/technet/scriptcenter/topics/winpsh/manual/default.mspx"&gt;http://www.microsoft.com/technet/scriptcenter/topics/winpsh/manual/default.mspx&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;List of cmdlets (help topics): &lt;A href="http://technet.microsoft.com/en-us/library/dd347701.aspx"&gt;http://technet.microsoft.com/en-us/library/dd347701.aspx&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Powershell ScriptCenter: &lt;A href="http://technet.microsoft.com/en-us/scriptcenter/dd742419.aspx"&gt;http://technet.microsoft.com/en-us/scriptcenter/dd742419.aspx&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;Powershell on Wikipedia: &lt;A href="http://en.wikipedia.org/wiki/Windows_PowerShell"&gt;http://en.wikipedia.org/wiki/Windows_PowerShell&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Some free video tutorials: &lt;A href="http://www.idera.com/Promo/Practical-PowerShell"&gt;http://www.idera.com/Promo/Practical-PowerShell&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;Official Powershell team blog: &lt;A href="http://blogs.msdn.com/powershell"&gt;http://blogs.msdn.com/powershell&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;Powershell Guy blog: &lt;A href="http://thepowershellguy.com/blogs/posh"&gt;http://thepowershellguy.com/blogs/posh&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3261142" width="1" height="1"&gt;</description><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3261142</guid><pubDate>Sat, 25 Jul 2009 19:30:00 GMT</pubDate><author>josebda</author><ng:modifiedDate>Sun, 02 Aug 2009 23:07:27 GMT</ng:modifiedDate><ng:postId>10036550534</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><category>Windows Server 2008</category><category>The Basics</category><category>Windows Server 2008 R2</category><category>DFS</category><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/josebda/rsscomments.aspx?PostID=3261142</wfw:comment><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/josebda/commentrss.aspx?PostID=3261142</wfw:commentRss><comments>http://blogs.technet.com/josebda/comments/3261142.aspx</comments><source url="http://blogs.technet.com/josebda/default.aspx">Jose Barreto's Blog</source></item><item><title>Changes in Roles, Role Services and Features from Windows Server 2008 to Windows Server 2008 R2</title><link>http://blogs.technet.com/josebda/archive/2009/07/18/changes-in-roles-role-services-and-features-from-windows-server-2008-to-windows-server-2008-r2.aspx</link><description>&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Introduction&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;This blog post covers the changes&amp;nbsp;in the list of Roles, Role&amp;nbsp;Services and Features from Windows Server 2008 (with Service Pack 2) to Windows Server 2008 R2 (used the latest RC build available to me). To create the&amp;nbsp;tables and lists below, I installed both operating systems, used the "ServerManagerCmd -query" command and did some editing of the resulting text to provide a side-by-side comparison. Please note that I based the "New", "Renamed" or "Removed" marks based on the output of the commands, nothing else. The&amp;nbsp;"&amp;gt;"&amp;nbsp;in the beginning of the items' names indicates the indentation level.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Obviously, there's much more to Roles, Role Services and Features&amp;nbsp;than their names. Many of the items that&amp;nbsp;exist in both versions were deeply improved in Windows Server 2008 R2, but you will not find that type of change here. If you look at Hyper-V, for instance, the changes are truly impressive, but the lists below do not capture that. For those details, you should look at &lt;A href="http://www.microsoft.com/windowsserver2008/en/us/R2.aspx"&gt;http://www.microsoft.com/windowsserver2008/en/us/R2.aspx&lt;/A&gt;&amp;nbsp;and the Reviewers Guide at &lt;A href="http://download.microsoft.com/download/F/2/1/F2146213-4AC0-4C50-B69A-12428FF0B077/Windows_Server_2008_R2_Reviewers_Guide_(RC).doc"&gt;http://download.microsoft.com/download/F/2/1/F2146213-4AC0-4C50-B69A-12428FF0B077/Windows_Server_2008_R2_Reviewers_Guide_(RC).doc&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Table Comparing Roles and Role Services&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE border=1 width="100%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&lt;B&gt;&amp;nbsp;&lt;/B&gt;&lt;B&gt;Windows Server 2008 Roles and Role Services&lt;/B&gt;&lt;/TD&gt;
&lt;TD align=middle&gt;&lt;B&gt;Changes&lt;/B&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;B&gt;Windows Server 2008 R2 Roles and Role Services&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Active Directory Certificate Services&amp;nbsp; [AD-Certificate]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Active Directory Certificate Services&amp;nbsp; [AD-Certificate]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Certification Authority&amp;nbsp; [ADCS-Cert-Authority]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Certification Authority&amp;nbsp; [ADCS-Cert-Authority]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Certification Authority Web Enrollment&amp;nbsp; [ADCS-Web-Enrollment]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Certification Authority Web Enrollment&amp;nbsp; [ADCS-Web-Enrollment]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Online Responder&amp;nbsp; [ADCS-Online-Cert]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Online Responder&amp;nbsp; [ADCS-Online-Cert]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Network Device Enrollment Service&amp;nbsp; [ADCS-Device-Enrollment]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Network Device Enrollment Service&amp;nbsp; [ADCS-Device-Enrollment]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD align=middle&gt;New&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Certificate Enrollment Web Service&amp;nbsp; [ADCS-Enroll-Web-Svc]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD align=middle&gt;New&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Certificate Enrollment Policy Web Service&amp;nbsp; [ADCS-Enroll-Web-Pol]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Active Directory Domain Services&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Active Directory Domain Services&amp;nbsp; [AD-Domain-Services]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Active Directory Domain Controller&amp;nbsp; [ADDS-Domain-Controller]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Active Directory Domain Controller&amp;nbsp; [ADDS-Domain-Controller]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Identity Management for UNIX&amp;nbsp; [ADDS-Identity-Mgmt]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Identity Management for UNIX&amp;nbsp; [ADDS-Identity-Mgmt]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Server for Network Information Services&amp;nbsp; [ADDS-NIS]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;Server for Network Information Services&amp;nbsp; [ADDS-NIS]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Password Synchronization&amp;nbsp; [ADDS-Password-Sync]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;Password Synchronization&amp;nbsp; [ADDS-Password-Sync]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Administration Tools&amp;nbsp; [ADDS-IDMU-Tools]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;Administration Tools&amp;nbsp; [ADDS-IDMU-Tools]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Active Directory Federation Services&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Active Directory Federation Services&amp;nbsp; [AD-Federation-Services]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Federation Service&amp;nbsp; [ADFS-Federation]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Federation Service&amp;nbsp; [ADFS-Federation]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Federation Service Proxy&amp;nbsp; [ADFS-Proxy]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Federation Service Proxy&amp;nbsp; [ADFS-Proxy]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;AD FS Web Agents&amp;nbsp; [ADFS-Web-Agents]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;AD FS Web Agents&amp;nbsp; [ADFS-Web-Agents]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Claims-aware Agent&amp;nbsp; [ADFS-Claims]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;Claims-aware Agent&amp;nbsp; [ADFS-Claims]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Windows Token-based Agent&amp;nbsp; [ADFS-Windows-Token]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;Windows Token-based Agent&amp;nbsp; [ADFS-Windows-Token]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Active Directory Lightweight Directory Services&amp;nbsp; [ADLDS]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Active Directory Lightweight Directory Services&amp;nbsp; [ADLDS]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Active Directory Rights Management Services&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Active Directory Rights Management Services&amp;nbsp; [ADRMS]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Active Directory Rights Management Server&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Active Directory Rights Management Server&amp;nbsp; [ADRMS-Server]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Identity Federation Support&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Identity Federation Support&amp;nbsp; [ADRMS-Identity]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Application Server&amp;nbsp; [Application-Server]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Application Server&amp;nbsp; [Application-Server]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Application Server Foundation&amp;nbsp; [AS-AppServer-Foundation]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;.NET Framework 3.5.1&amp;nbsp; [AS-NET-Framework]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Web Server (IIS) Support&amp;nbsp; [AS-Web-Support]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Web Server (IIS) Support&amp;nbsp; [AS-Web-Support]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;COM&amp;gt;Network Access&amp;nbsp; [AS-Ent-Services]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;COM&amp;gt;Network Access&amp;nbsp; [AS-Ent-Services]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;TCP Port Sharing&amp;nbsp; [AS-TCP-Port-Sharing]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;TCP Port Sharing&amp;nbsp; [AS-TCP-Port-Sharing]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Windows Process Activation Service Support&amp;nbsp; [AS-WAS-Support]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Windows Process Activation Service Support&amp;nbsp; [AS-WAS-Support]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;HTTP Activation&amp;nbsp; [AS-HTTP-Activation]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;HTTP Activation&amp;nbsp; [AS-HTTP-Activation]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Message Queuing Activation&amp;nbsp; [AS-MSMQ-Activation]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;Message Queuing Activation&amp;nbsp; [AS-MSMQ-Activation]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;TCP Activation&amp;nbsp; [AS-TCP-Activation]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;TCP Activation&amp;nbsp; [AS-TCP-Activation]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Named Pipes Activation&amp;nbsp; [AS-Named-Pipes]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;Named Pipes Activation&amp;nbsp; [AS-Named-Pipes]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Distributed Transactions&amp;nbsp; [AS-Dist-Transaction]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Distributed Transactions&amp;nbsp; [AS-Dist-Transaction]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Incoming Remote Transactions&amp;nbsp; [AS-Incoming-Trans]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;Incoming Remote Transactions&amp;nbsp; [AS-Incoming-Trans]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Outgoing Remote Transactions&amp;nbsp; [AS-Outgoing-Trans]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;Outgoing Remote Transactions&amp;nbsp; [AS-Outgoing-Trans]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;WS-Atomic Transactions&amp;nbsp; [AS-WS-Atomic]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;WS-Atomic Transactions&amp;nbsp; [AS-WS-Atomic]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;DHCP Server&amp;nbsp; [DHCP]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;DHCP Server&amp;nbsp; [DHCP]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;DNS Server&amp;nbsp; [DNS]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;DNS Server&amp;nbsp; [DNS]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Fax Server&amp;nbsp; [Fax]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Fax Server&amp;nbsp; [Fax]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;File Services&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;File Services&amp;nbsp; [File-Services]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;File Server&amp;nbsp; [FS-FileServer]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;File Server&amp;nbsp; [FS-FileServer]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Distributed File System&amp;nbsp; [FS-DFS]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Distributed File System&amp;nbsp; [FS-DFS]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;DFS Namespaces&amp;nbsp; [FS-DFS-Namespace]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;DFS Namespaces&amp;nbsp; [FS-DFS-Namespace]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;DFS Replication&amp;nbsp; [FS-DFS-Replication]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;DFS Replication&amp;nbsp; [FS-DFS-Replication]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;File Server Resource Manager&amp;nbsp; [FS-Resource-Manager]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;File Server Resource Manager&amp;nbsp; [FS-Resource-Manager]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Services for Network File System&amp;nbsp; [FS-NFS-Services]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Services for Network File System&amp;nbsp; [FS-NFS-Services]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Windows Search Service&amp;nbsp; [FS-Search-Service]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Windows Search Service&amp;nbsp; [FS-Search-Service]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Windows Server 2003 File Services&amp;nbsp; [FS-Win2003-Services]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Windows Server 2003 File Services&amp;nbsp; [FS-Win2003-Services]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;File Replication Service&amp;nbsp; [FS-Replication]&lt;/TD&gt;
&lt;TD align=middle&gt;Removed&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Indexing Service&amp;nbsp; [FS-Indexing-Service]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;Indexing Service&amp;nbsp; [FS-Indexing-Service]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD align=middle&gt;New&lt;/TD&gt;
&lt;TD&gt;&amp;gt;BranchCache for network files&amp;nbsp; [FS-BranchCache]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Hyper-V&amp;nbsp; [Hyper-V]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Hyper-V&amp;nbsp; [Hyper-V]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Network Policy and Access Services&amp;nbsp; [NPAS]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Network Policy and Access Services&amp;nbsp; [NPAS]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Network Policy Server&amp;nbsp; [NPAS-Policy-Server]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Network Policy Server&amp;nbsp; [NPAS-Policy-Server]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Routing and Remote Access Services&amp;nbsp; [NPAS-RRAS-Services]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Routing and Remote Access Services&amp;nbsp; [NPAS-RRAS-Services]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Remote Access Service&amp;nbsp; [NPAS-RRAS]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;Remote Access Service&amp;nbsp; [NPAS-RRAS]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Routing&amp;nbsp; [NPAS-Routing]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;Routing&amp;nbsp; [NPAS-Routing]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Health Registration Authority&amp;nbsp; [NPAS-Health]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Health Registration Authority&amp;nbsp; [NPAS-Health]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Host Credential Authorization Protocol&amp;nbsp; [NPAS-Host-Cred]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Host Credential Authorization Protocol&amp;nbsp; [NPAS-Host-Cred]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Print Services&amp;nbsp; [Print-Services]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Print and Document Services&amp;nbsp; [Print-Services]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Print Server&amp;nbsp; [Print-Server]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Print Server&amp;nbsp; [Print-Server]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;LPD Service&amp;nbsp; [Print-LPD-Service]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;LPD Service&amp;nbsp; [Print-LPD-Service]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Internet Printing&amp;nbsp; [Print-Internet]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Internet Printing&amp;nbsp; [Print-Internet]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD align=middle&gt;New&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Distributed Scan Server&amp;nbsp; [Print-Scan-Server]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Terminal Services&amp;nbsp; [Terminal-Services]&lt;/TD&gt;
&lt;TD align=middle&gt;Renamed&lt;/TD&gt;
&lt;TD&gt;Remote Desktop Services&amp;nbsp; [Remote-Desktop-Services]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Terminal Server&amp;nbsp; [TS-Terminal-Server]&lt;/TD&gt;
&lt;TD align=middle&gt;Renamed&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Remote Desktop Session Host&amp;nbsp; [RDS-RD-Server]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD align=middle&gt;New&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Remote Desktop Virtualization Host&amp;nbsp; [RDS-Virtualization]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;TS Licensing&amp;nbsp; [TS-Licensing]&lt;/TD&gt;
&lt;TD align=middle&gt;Renamed&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Remote Desktop Licensing&amp;nbsp; [RDS-Licensing]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;TS Session Broker&amp;nbsp; [TS-Session-Broker]&lt;/TD&gt;
&lt;TD align=middle&gt;Renamed&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Remote Desktop Connection Broker&amp;nbsp; [RDS-Connection-Broker]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;TS Gateway&amp;nbsp; [TS-Gateway]&lt;/TD&gt;
&lt;TD align=middle&gt;Renamed&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Remote Desktop Gateway&amp;nbsp; [RDS-Gateway]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;TS Web Access&amp;nbsp; [TS-Web-Access]&lt;/TD&gt;
&lt;TD align=middle&gt;Renamed&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Remote Desktop Web Access&amp;nbsp; [RDS-Web-Access]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;UDDI Services&lt;/TD&gt;
&lt;TD align=middle&gt;Removed&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;UDDI Services Database&lt;/TD&gt;
&lt;TD align=middle&gt;Removed&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;UDDI Services Web Application&lt;/TD&gt;
&lt;TD align=middle&gt;Removed&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Web Server (IIS)&amp;nbsp; [Web-Server]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Web Server (IIS)&amp;nbsp; [Web-Server]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Web Server&amp;nbsp; [Web-WebServer]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Web Server&amp;nbsp; [Web-WebServer]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Common HTTP Features&amp;nbsp; [Web-Common-Http]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;Common HTTP Features&amp;nbsp; [Web-Common-Http]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;Static Content&amp;nbsp; [Web-Static-Content]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;Static Content&amp;nbsp; [Web-Static-Content]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;Default Document&amp;nbsp; [Web-Default-Doc]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;Default Document&amp;nbsp; [Web-Default-Doc]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;Directory Browsing&amp;nbsp; [Web-Dir-Browsing]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;Directory Browsing&amp;nbsp; [Web-Dir-Browsing]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;HTTP Errors&amp;nbsp; [Web-Http-Errors]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;HTTP Errors&amp;nbsp; [Web-Http-Errors]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;HTTP Redirection&amp;nbsp; [Web-Http-Redirect]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;HTTP Redirection&amp;nbsp; [Web-Http-Redirect]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD align=middle&gt;New&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;WebDAV Publishing&amp;nbsp; [Web-DAV-Publishing]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Application Development&amp;nbsp; [Web-App-Dev]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;Application Development&amp;nbsp; [Web-App-Dev]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;ASP.NET&amp;nbsp; [Web-Asp-Net]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;ASP.NET&amp;nbsp; [Web-Asp-Net]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;.NET Extensibility&amp;nbsp; [Web-Net-Ext]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;.NET Extensibility&amp;nbsp; [Web-Net-Ext]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;ASP&amp;nbsp; [Web-ASP]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;ASP&amp;nbsp; [Web-ASP]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;CGI&amp;nbsp; [Web-CGI]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;CGI&amp;nbsp; [Web-CGI]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;ISAPI Extensions&amp;nbsp; [Web-ISAPI-Ext]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;ISAPI Extensions&amp;nbsp; [Web-ISAPI-Ext]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;ISAPI Filters&amp;nbsp; [Web-ISAPI-Filter]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;ISAPI Filters&amp;nbsp; [Web-ISAPI-Filter]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;Server Side Includes&amp;nbsp; [Web-Includes]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;Server Side Includes&amp;nbsp; [Web-Includes]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Health and Diagnostics&amp;nbsp; [Web-Health]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;Health and Diagnostics&amp;nbsp; [Web-Health]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;HTTP Logging&amp;nbsp; [Web-Http-Logging]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;HTTP Logging&amp;nbsp; [Web-Http-Logging]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;Logging Tools&amp;nbsp; [Web-Log-Libraries]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;Logging Tools&amp;nbsp; [Web-Log-Libraries]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;Request Monitor&amp;nbsp; [Web-Request-Monitor]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;Request Monitor&amp;nbsp; [Web-Request-Monitor]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;Tracing&amp;nbsp; [Web-Http-Tracing]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;Tracing&amp;nbsp; [Web-Http-Tracing]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;Custom Logging&amp;nbsp; [Web-Custom-Logging]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;Custom Logging&amp;nbsp; [Web-Custom-Logging]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;ODBC Logging&amp;nbsp; [Web-ODBC-Logging]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;ODBC Logging&amp;nbsp; [Web-ODBC-Logging]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Security&amp;nbsp; [Web-Security]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;Security&amp;nbsp; [Web-Security]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;Basic Authentication&amp;nbsp; [Web-Basic-Auth]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;Basic Authentication&amp;nbsp; [Web-Basic-Auth]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;Windows Authentication&amp;nbsp; [Web-Windows-Auth]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;Windows Authentication&amp;nbsp; [Web-Windows-Auth]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;Digest Authentication&amp;nbsp; [Web-Digest-Auth]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;Digest Authentication&amp;nbsp; [Web-Digest-Auth]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;Client Certificate Mapping Authentication&amp;nbsp; [Web-Client-Auth]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;Client Certificate Mapping Authentication&amp;nbsp; [Web-Client-Auth]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;IIS Client Certificate Mapping Authentication&amp;nbsp; [Web-Cert-Auth]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;IIS Client Certificate Mapping Authentication&amp;nbsp; [Web-Cert-Auth]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;URL Authorization&amp;nbsp; [Web-Url-Auth]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;URL Authorization&amp;nbsp; [Web-Url-Auth]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;Request Filtering&amp;nbsp; [Web-Filtering]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;Request Filtering&amp;nbsp; [Web-Filtering]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;IP and Domain Restrictions&amp;nbsp; [Web-IP-Security]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;IP and Domain Restrictions&amp;nbsp; [Web-IP-Security]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Performance&amp;nbsp; [Web-Performance]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;Performance&amp;nbsp; [Web-Performance]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;Static Content Compression&amp;nbsp; [Web-Stat-Compression]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;Static Content Compression&amp;nbsp; [Web-Stat-Compression]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;Dynamic Content Compression&amp;nbsp; [Web-Dyn-Compression]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;Dynamic Content Compression&amp;nbsp; [Web-Dyn-Compression]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Management Tools&amp;nbsp; [Web-Mgmt-Tools]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Management Tools&amp;nbsp; [Web-Mgmt-Tools]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;IIS Management Console&amp;nbsp; [Web-Mgmt-Console]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;IIS Management Console&amp;nbsp; [Web-Mgmt-Console]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;IIS Management Scripts and Tools&amp;nbsp; [Web-Scripting-Tools]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;IIS Management Scripts and Tools&amp;nbsp; [Web-Scripting-Tools]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Management Service&amp;nbsp; [Web-Mgmt-Service]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;Management Service&amp;nbsp; [Web-Mgmt-Service]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;IIS 6 Management Compatibility&amp;nbsp; [Web-Mgmt-Compat]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;IIS 6 Management Compatibility&amp;nbsp; [Web-Mgmt-Compat]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;IIS 6 Metabase Compatibility&amp;nbsp; [Web-Metabase]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;IIS 6 Metabase Compatibility&amp;nbsp; [Web-Metabase]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;IIS 6 WMI Compatibility&amp;nbsp; [Web-WMI]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;IIS 6 WMI Compatibility&amp;nbsp; [Web-WMI]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;IIS 6 Scripting Tools&amp;nbsp; [Web-Lgcy-Scripting]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;IIS 6 Scripting Tools&amp;nbsp; [Web-Lgcy-Scripting]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;IIS 6 Management Console&amp;nbsp; [Web-Lgcy-Mgmt-Console]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;IIS 6 Management Console&amp;nbsp; [Web-Lgcy-Mgmt-Console]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;FTP Publishing Service&amp;nbsp; [Web-Ftp-Publishing]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;FTP Server&amp;nbsp; [Web-Ftp-Server]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;FTP Server&amp;nbsp; [Web-Ftp-Server]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;FTP Service&amp;nbsp; [Web-Ftp-Service]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;FTP Management Console&amp;nbsp; [Web-Ftp-Mgmt-Console]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;FTP Extensibility&amp;nbsp; [Web-Ftp-Ext]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD align=middle&gt;New&lt;/TD&gt;
&lt;TD&gt;&amp;gt;IIS Hostable Web Core&amp;nbsp; [Web-WHC]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Windows Deployment Services&amp;nbsp; [WDS]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Windows Deployment Services&amp;nbsp; [WDS]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Deployment Server&amp;nbsp; [WDS-Deployment]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Deployment Server&amp;nbsp; [WDS-Deployment]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Transport Server&amp;nbsp; [WDS-Transport]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Transport Server&amp;nbsp; [WDS-Transport]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Windows Server Update Services&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Windows Server Update Services&amp;nbsp; [OOB-WSUS]&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Table Comparing Features&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE border=1 width="100%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&lt;B&gt;Windows Server 2008 Features&lt;/B&gt;&lt;/TD&gt;
&lt;TD align=middle&gt;&lt;B&gt;Changes&lt;/B&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;B&gt;Windows Server 2008 R2 Features&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;.NET Framework 3.0 Features&amp;nbsp; [NET-Framework]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;.NET Framework 3.5.1 Features&amp;nbsp; [NET-Framework]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;.NET Framework 3.0&amp;nbsp; [NET-Framework-Core]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;.NET Framework 3.5.1&amp;nbsp; [NET-Framework-Core]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;XPS Viewer&amp;nbsp; [NET-XPS-Viewer]&lt;/TD&gt;
&lt;TD align=middle&gt;Renamed&lt;/TD&gt;
&lt;TD&gt;XPS Viewer&amp;nbsp; [XPS-Viewer]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;WCF Activation&amp;nbsp; [NET-Win-CFAC]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;WCF Activation&amp;nbsp; [NET-Win-CFAC]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;HTTP Activation&amp;nbsp; [NET-HTTP-Activation]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;HTTP Activation&amp;nbsp; [NET-HTTP-Activation]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Non-HTTP Activation&amp;nbsp; [NET-Non-HTTP-Activ]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;Non-HTTP Activation&amp;nbsp; [NET-Non-HTTP-Activ]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;BITS Server Extensions&amp;nbsp; [BITS]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Background Intelligent Transfer Service (BITS)&amp;nbsp; [BITS]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD align=middle&gt;New&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Compact Server&amp;nbsp; [BITS-Compact-Server]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD align=middle&gt;New&lt;/TD&gt;
&lt;TD&gt;&amp;gt;IIS Server Extension&amp;nbsp; [BITS-IIS-Ext]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;BitLocker Drive Encryption&amp;nbsp; [BitLocker]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;BitLocker Drive Encryption&amp;nbsp; [BitLocker]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD align=middle&gt;New&lt;/TD&gt;
&lt;TD&gt;BranchCache&amp;nbsp; [BranchCache]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Connection Manager Administration Kit&amp;nbsp; [CMAK]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Connection Manager Administration Kit&amp;nbsp; [CMAK]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Desktop Experience&amp;nbsp; [Desktop-Experience]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Desktop Experience&amp;nbsp; [Desktop-Experience]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD align=middle&gt;New&lt;/TD&gt;
&lt;TD&gt;DirectAccess Management Console&amp;nbsp; [DAMC]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Failover Clustering&amp;nbsp; [Failover-Clustering]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Failover Clustering&amp;nbsp; [Failover-Clustering]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Group Policy Management&amp;nbsp; [GPMC]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Group Policy Management&amp;nbsp; [GPMC]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD align=middle&gt;New&lt;/TD&gt;
&lt;TD&gt;Ink and Handwriting Services&amp;nbsp; [Ink-Handwriting]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD align=middle&gt;New&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Ink Support&amp;nbsp; [IH-Ink-Support]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD align=middle&gt;New&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Handwriting Recognition&amp;nbsp; [IH-Handwriting]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Internet Printing Client&amp;nbsp; [Internet-Print-Client]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Internet Printing Client&amp;nbsp; [Internet-Print-Client]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Internet Storage Name Server&amp;nbsp; [ISNS]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Internet Storage Name Server&amp;nbsp; [ISNS]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;LPR Port Monitor&amp;nbsp; [LPR-Port-Monitor]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;LPR Port Monitor&amp;nbsp; [LPR-Port-Monitor]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Message Queuing&amp;nbsp; [MSMQ]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Message Queuing&amp;nbsp; [MSMQ]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Message Queuing Services&amp;nbsp; [MSMQ-Services]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Message Queuing Services&amp;nbsp; [MSMQ-Services]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Message Queuing Server&amp;nbsp; [MSMQ-Server]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;Message Queuing Server&amp;nbsp; [MSMQ-Server]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Directory Service Integration&amp;nbsp; [MSMQ-Directory]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;Directory Service Integration&amp;nbsp; [MSMQ-Directory]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Message Queuing Triggers&amp;nbsp; [MSMQ-Triggers]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;Message Queuing Triggers&amp;nbsp; [MSMQ-Triggers]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;HTTP Support&amp;nbsp; [MSMQ-HTTP-Support]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;HTTP Support&amp;nbsp; [MSMQ-HTTP-Support]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Multicasting Support&amp;nbsp; [MSMQ-Multicasting]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;Multicasting Support&amp;nbsp; [MSMQ-Multicasting]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Routing Service&amp;nbsp; [MSMQ-Routing]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;Routing Service&amp;nbsp; [MSMQ-Routing]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Windows 2000 Client Support&amp;nbsp; [MSMQ-Win2000]&lt;/TD&gt;
&lt;TD align=middle&gt;Removed&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Message Queuing DCOM Proxy&amp;nbsp; [MSMQ-DCOM]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Message Queuing DCOM Proxy&amp;nbsp; [MSMQ-DCOM]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Multipath I/O&amp;nbsp; [Multipath-IO]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Multipath I/O&amp;nbsp; [Multipath-IO]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Network Load Balancing&amp;nbsp; [NLB]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Network Load Balancing&amp;nbsp; [NLB]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Peer Name Resolution Protocol&amp;nbsp; [PNRP]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Peer Name Resolution Protocol&amp;nbsp; [PNRP]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Quality Windows Audio Video Experience&amp;nbsp; [qWave]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Quality Windows Audio Video Experience&amp;nbsp; [qWave]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Remote Assistance&amp;nbsp; [Remote-Assistance]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Remote Assistance&amp;nbsp; [Remote-Assistance]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Remote Differential Compression&amp;nbsp; [RDC]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Remote Differential Compression&amp;nbsp; [RDC]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Remote Server Administration Tools&amp;nbsp; [RSAT]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Remote Server Administration Tools&amp;nbsp; [RSAT]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Role Administration Tools&amp;nbsp; [RSAT-Role-Tools]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Role Administration Tools&amp;nbsp; [RSAT-Role-Tools]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Active Directory Certificate Services Tools&amp;nbsp; [RSAT-ADCS]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;Active Directory Certificate Services Tools&amp;nbsp; [RSAT-ADCS]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;Certification Authority Tools&amp;nbsp; [RSAT-ADCS-Mgmt]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;Certification Authority Tools&amp;nbsp; [RSAT-ADCS-Mgmt]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;Online Responder Tools&amp;nbsp; [RSAT-Online-Responder]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;Online Responder Tools&amp;nbsp; [RSAT-Online-Responder]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Active Directory Domain Services Tools&amp;nbsp; [RSAT-ADDS]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;AD DS and AD LDS Tools&amp;nbsp; [RSAT-AD-Tools]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;Active Directory Domain Controller Tools&amp;nbsp; [RSAT-ADDC]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;AD DS Tools&amp;nbsp; [RSAT-ADDS]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD align=middle&gt;New&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;AD DS Snap-Ins and Command-Line Tools&amp;nbsp; [RSAT-ADDS-Tools]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD align=middle&gt;New&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;Active Directory Administrative Center&amp;nbsp; [RSAT-AD-AdminCenter]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;Server for NIS Tools&amp;nbsp; [RSAT-SNIS]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;Server for NIS Tools&amp;nbsp; [RSAT-SNIS]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Active Directory Lightweight Directory Services Tools&amp;nbsp; [RSAT-ADLDS]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;AD LDS Snap-Ins and Command-Line Tools&amp;nbsp; [RSAT-ADLDS]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD align=middle&gt;New&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;Active Directory module for Windows PowerShell&amp;nbsp; [RSAT-AD-PowerShell]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Active Directory Rights Management Services Tools&amp;nbsp; [RSAT-RMS]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;Active Directory Rights Management Services Tools&amp;nbsp; [RSAT-RMS]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;DHCP Server Tools&amp;nbsp; [RSAT-DHCP]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;DHCP Server Tools&amp;nbsp; [RSAT-DHCP]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;DNS Server Tools&amp;nbsp; [RSAT-DNS-Server]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;DNS Server Tools&amp;nbsp; [RSAT-DNS-Server]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Fax Server Tools&amp;nbsp; [RSAT-Fax]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;Fax Server Tools&amp;nbsp; [RSAT-Fax]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;File Services Tools&amp;nbsp; [RSAT-File-Services]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;File Services Tools&amp;nbsp; [RSAT-File-Services]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;Distributed File System Tools&amp;nbsp; [RSAT-DFS-Mgmt-Con]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;Distributed File System Tools&amp;nbsp; [RSAT-DFS-Mgmt-Con]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;File Server Resource Manager Tools&amp;nbsp; [RSAT-FSRM-Mgmt]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;File Server Resource Manager Tools&amp;nbsp; [RSAT-FSRM-Mgmt]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;Services for Network File System Tools&amp;nbsp; [RSAT-NFS-Admin]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;Services for Network File System Tools&amp;nbsp; [RSAT-NFS-Admin]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Hyper-V Tools&amp;nbsp; [RSAT-Hyper-V]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;Hyper-V Tools&amp;nbsp; [RSAT-Hyper-V]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Network Policy and Access Services Tools&amp;nbsp; [RSAT-NPAS]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;Network Policy and Access Services Tools&amp;nbsp; [RSAT-NPAS]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Print Services Tools&amp;nbsp; [RSAT-Print-Services]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;Print and Document Services Tools&amp;nbsp; [RSAT-Print-Services]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Terminal Services Tools&amp;nbsp; [RSAT-TS]&lt;/TD&gt;
&lt;TD align=middle&gt;Renamed&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;Remote Desktop Services Tools&amp;nbsp; [RSAT-RDS]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;Terminal Server Tools&amp;nbsp; [RSAT-TS-RemoteApp]&lt;/TD&gt;
&lt;TD align=middle&gt;Renamed&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;Remote Desktop Session Host Tools&amp;nbsp; [RSAT-RDS-RemoteApp]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;TS Gateway Tools&amp;nbsp; [RSAT-TS-Gateway]&lt;/TD&gt;
&lt;TD align=middle&gt;Renamed&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;Remote Desktop Gateway Tools&amp;nbsp; [RSAT-RDS-Gateway]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;&amp;gt;TS Licensing Tools&amp;nbsp; [RSAT-TS-Licensing]&lt;/TD&gt;
&lt;TD align=middle&gt;Renamed&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;Remote Desktop Licensing Tools&amp;nbsp; [RSAT-RDS-Licensing]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD align=middle&gt;New&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;Remote Desktop Connection Broker Tools&amp;nbsp; [RSAT-RDS-Conn-Broker]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;UDDI Services Tools&amp;nbsp; [RSAT-UDDI]&lt;/TD&gt;
&lt;TD align=middle&gt;Removed&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Web Server (IIS) Tools&amp;nbsp; [RSAT-Web-Server]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;Web Server (IIS) Tools&amp;nbsp; [RSAT-Web-Server]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Windows Deployment Services Tools&amp;nbsp; [RSAT-WDS]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;Windows Deployment Services Tools&amp;nbsp; [RSAT-WDS]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Feature Administration Tools&amp;nbsp; [RSAT-Feature-Tools]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Feature Administration Tools&amp;nbsp; [RSAT-Feature-Tools]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;BitLocker Drive Encryption Tools&amp;nbsp; [RSAT-BitLocker]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;BitLocker Drive Encryption Administration Utilities&amp;nbsp; [RSAT-BitLocker]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD align=middle&gt;New&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;BitLocker Drive Encryption Tools&amp;nbsp; [RSAT-Bitlocker-DriveEnc]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD align=middle&gt;New&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;&amp;gt;BitLocker Recovery Password Viewer&amp;nbsp; [RSAT-Bitlocker-RecPwd]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;BITS Server Extensions Tools&amp;nbsp; [RSAT-Bits-Server]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;BITS Server Extensions Tools&amp;nbsp; [RSAT-Bits-Server]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Failover Clustering Tools&amp;nbsp; [RSAT-Clustering]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;Failover Clustering Tools&amp;nbsp; [RSAT-Clustering]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;Network Load Balancing Tools&amp;nbsp; [RSAT-NLB]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;Network Load Balancing Tools&amp;nbsp; [RSAT-NLB]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;SMTP Server Tools&amp;nbsp; [RSAT-SMTP]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;SMTP Server Tools&amp;nbsp; [RSAT-SMTP]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;&amp;gt;WINS Server Tools&amp;nbsp; [RSAT-WINS]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;&amp;gt;WINS Server Tools&amp;nbsp; [RSAT-WINS]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Removable Storage Manager&amp;nbsp; [Removable-Storage]&lt;/TD&gt;
&lt;TD align=middle&gt;Removed&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;RPC over HTTP Proxy&amp;nbsp; [RPC-over-HTTP-Proxy]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;RPC over HTTP Proxy&amp;nbsp; [RPC-over-HTTP-Proxy]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Simple TCP/IP Services&amp;nbsp; [Simple-TCPIP]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Simple TCP/IP Services&amp;nbsp; [Simple-TCPIP]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;SMTP Server&amp;nbsp; [SMTP-Server]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;SMTP Server&amp;nbsp; [SMTP-Server]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;SNMP Services&amp;nbsp; [SNMP-Services]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;SNMP Services&amp;nbsp; [SNMP-Services]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;SNMP Service&amp;nbsp; [SNMP-Service]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;SNMP Service&amp;nbsp; [SNMP-Service]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;SNMP WMI Provider&amp;nbsp; [SNMP-WMI-Provider]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;SNMP WMI Provider&amp;nbsp; [SNMP-WMI-Provider]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Storage Manager for SANs&amp;nbsp; [Storage-Mgr-SANS]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Storage Manager for SANs&amp;nbsp; [Storage-Mgr-SANS]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Subsystem for UNIX-based Applications&amp;nbsp; [Subsystem-UNIX-Apps]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Subsystem for UNIX-based Applications&amp;nbsp; [Subsystem-UNIX-Apps]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Telnet Client&amp;nbsp; [Telnet-Client]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Telnet Client&amp;nbsp; [Telnet-Client]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Telnet Server&amp;nbsp; [Telnet-Server]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Telnet Server&amp;nbsp; [Telnet-Server]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;TFTP Client &amp;nbsp;[TFTP-Client]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;TFTP Client&amp;nbsp; [TFTP-Client]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD align=middle&gt;New&lt;/TD&gt;
&lt;TD&gt;Windows Biometric Framework&amp;nbsp; [Biometric-Framework]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Windows Internal Database&amp;nbsp; [Windows-Internal-DB]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Windows Internal Database&amp;nbsp; [Windows-Internal-DB]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Windows PowerShell&amp;nbsp; [PowerShell]&lt;/TD&gt;
&lt;TD align=middle&gt;Integrated&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD align=middle&gt;New&lt;/TD&gt;
&lt;TD&gt;Windows PowerShell Integrated Scripting Environment (ISE)&amp;nbsp; [PowerShell-ISE]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Windows Process Activation Service&amp;nbsp; [WAS]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Windows Process Activation Service&amp;nbsp; [WAS]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Process Model&amp;nbsp; [WAS-Process-Model]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Process Model&amp;nbsp; [WAS-Process-Model]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;.NET Environment&amp;nbsp; [WAS-NET-Environment]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;.NET Environment&amp;nbsp; [WAS-NET-Environment]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Configuration APIs&amp;nbsp; [WAS-Config-APIs]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Configuration APIs&amp;nbsp; [WAS-Config-APIs]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Windows Server Backup Features&amp;nbsp; [Backup-Features]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Windows Server Backup Features&amp;nbsp; [Backup-Features]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Windows Server Backup&amp;nbsp; [Backup]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Windows Server Backup&amp;nbsp; [Backup]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;gt;Command-line Tools&amp;nbsp; [Backup-Tools]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;gt;Command-line Tools&amp;nbsp; [Backup-Tools]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD align=middle&gt;New&lt;/TD&gt;
&lt;TD&gt;Windows Server Migration Tools&amp;nbsp; [Migration]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Windows System Resource Manager&amp;nbsp; [WSRM]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Windows System Resource Manager&amp;nbsp; [WSRM]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD align=middle&gt;New&lt;/TD&gt;
&lt;TD&gt;Windows TIFF IFilter&amp;nbsp; [TIFF-IFilter]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD align=middle&gt;New&lt;/TD&gt;
&lt;TD&gt;WinRM IIS Extension&amp;nbsp; [WinRM-IIS-Ext]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;WINS Server&amp;nbsp; [WINS-Server]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;WINS Server&amp;nbsp; [WINS-Server]&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD align=right&gt;Wireless LAN Service&amp;nbsp; [Wireless-Networking]&lt;/TD&gt;
&lt;TD align=middle&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;Wireless LAN Service&amp;nbsp; [Wireless-Networking]&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Lists&amp;nbsp;Comparing Roles and Role Services&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;New Roles, Role Services&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&amp;gt;Certificate Enrollment Web Service&amp;nbsp; [ADCS-Enroll-Web-Svc]&lt;/LI&gt;
&lt;LI&gt;&amp;gt;Certificate Enrollment Policy Web Service&amp;nbsp; [ADCS-Enroll-Web-Pol]&lt;/LI&gt;
&lt;LI&gt;&amp;gt;BranchCache for network files&amp;nbsp; [FS-BranchCache]&lt;/LI&gt;
&lt;LI&gt;&amp;gt;Distributed Scan Server&amp;nbsp; [Print-Scan-Server]&lt;/LI&gt;
&lt;LI&gt;&amp;gt;Remote Desktop Virtualization Host&amp;nbsp; [RDS-Virtualization]&lt;/LI&gt;
&lt;LI&gt;&amp;gt;&amp;gt;&amp;gt;WebDAV Publishing&amp;nbsp; [Web-DAV-Publishing]&lt;/LI&gt;
&lt;LI&gt;&amp;gt;IIS Hostable Web Core&amp;nbsp; [Web-WHC]&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Renamed Roles and Role Services&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Remote Desktop Services&amp;nbsp; [Remote-Desktop-Services] &lt;EM&gt;(Jose: RDS used to be called Terminal Services)&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;gt;Remote Desktop Session Host&amp;nbsp; [RDS-RD-Server]&lt;/LI&gt;
&lt;LI&gt;&amp;gt;Remote Desktop Licensing&amp;nbsp; [RDS-Licensing]&lt;/LI&gt;
&lt;LI&gt;&amp;gt;Remote Desktop Connection Broker&amp;nbsp; [RDS-Connection-Broker]&lt;/LI&gt;
&lt;LI&gt;&amp;gt;Remote Desktop Gateway&amp;nbsp; [RDS-Gateway]&lt;/LI&gt;
&lt;LI&gt;&amp;gt;Remote Desktop Web Access&amp;nbsp; [RDS-Web-Access]&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Removed Roles and Role Services&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&amp;gt;&amp;gt;File Replication Service&amp;nbsp; [FS-Replication]&amp;nbsp; &lt;EM&gt;(Jose: Use DFS-Replication instead. FRS can only be used for specific SYSVOL replication scenarios, see details at &lt;A href="http://technet.microsoft.com/en-us/library/cc754297.aspx"&gt;http://technet.microsoft.com/en-us/library/cc754297.aspx&lt;/A&gt;)&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;UDDI Services&lt;/LI&gt;
&lt;LI&gt;&amp;gt;UDDI Services Database&lt;/LI&gt;
&lt;LI&gt;&amp;gt;UDDI Services Web Application&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Lists&amp;nbsp;Comparing Features&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;New Features&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&amp;gt;Compact Server&amp;nbsp; [BITS-Compact-Server] &lt;/LI&gt;
&lt;LI&gt;&amp;gt;IIS Server Extension&amp;nbsp; [BITS-IIS-Ext]&lt;/LI&gt;
&lt;LI&gt;BranchCache&amp;nbsp; [BranchCache]&lt;/LI&gt;
&lt;LI&gt;DirectAccess Management Console&amp;nbsp; [DAMC]&lt;/LI&gt;
&lt;LI&gt;Ink and Handwriting Services&amp;nbsp; [Ink-Handwriting]&lt;/LI&gt;
&lt;LI&gt;&amp;gt;Ink Support&amp;nbsp; [IH-Ink-Support]&lt;/LI&gt;
&lt;LI&gt;&amp;gt;Handwriting Recognition&amp;nbsp; [IH-Handwriting]&lt;/LI&gt;
&lt;LI&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;AD DS Snap-Ins and Command-Line Tools&amp;nbsp; [RSAT-ADDS-Tools]&lt;/LI&gt;
&lt;LI&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;Active Directory Administrative Center&amp;nbsp; [RSAT-AD-AdminCenter]&lt;/LI&gt;
&lt;LI&gt;&amp;gt;&amp;gt;&amp;gt;Active Directory module for Windows PowerShell&amp;nbsp; [RSAT-AD-PowerShell]&lt;/LI&gt;
&lt;LI&gt;&amp;gt;&amp;gt;&amp;gt;Remote Desktop Connection Broker Tools&amp;nbsp; [RSAT-RDS-Conn-Broker]&lt;/LI&gt;
&lt;LI&gt;&amp;gt;&amp;gt;&amp;gt;BitLocker Drive Encryption Tools&amp;nbsp; [RSAT-Bitlocker-DriveEnc]&lt;/LI&gt;
&lt;LI&gt;&amp;gt;&amp;gt;&amp;gt;BitLocker Recovery Password Viewer&amp;nbsp; [RSAT-Bitlocker-RecPwd]&lt;/LI&gt;
&lt;LI&gt;Windows Biometric Framework&amp;nbsp; [Biometric-Framework]&lt;/LI&gt;
&lt;LI&gt;Windows PowerShell Integrated Scripting Environment (ISE)&amp;nbsp; [PowerShell-ISE]&lt;EM&gt; (Jose: PowerShell itself is now integrated, this new feature is just the ISE)&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;Windows Server Migration Tools&amp;nbsp; [Migration]&lt;/LI&gt;
&lt;LI&gt;Windows TIFF IFilter&amp;nbsp; [TIFF-IFilter]&lt;/LI&gt;
&lt;LI&gt;WinRM IIS Extension&amp;nbsp; [WinRM-IIS-Ext]&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Renamed Features&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;XPS Viewer&amp;nbsp; [XPS-Viewer] &lt;EM&gt;(Jose: Used to be under the .NET group, now is a separate feature)&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;gt;&amp;gt;Remote Desktop Services Tools&amp;nbsp; [RSAT-RDS] &lt;EM&gt;(Jose: RDS used to be called Terminal Services)&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;gt;&amp;gt;&amp;gt;Remote Desktop Session Host Tools&amp;nbsp; [RSAT-RDS-RemoteApp]&lt;/LI&gt;
&lt;LI&gt;&amp;gt;&amp;gt;&amp;gt;Remote Desktop Gateway Tools&amp;nbsp; [RSAT-RDS-Gateway]&lt;/LI&gt;
&lt;LI&gt;&amp;gt;&amp;gt;&amp;gt;Remote Desktop Licensing Tools&amp;nbsp; [RSAT-RDS-Licensing]&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Removed Features&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&amp;gt;Windows 2000 Client Support&amp;nbsp; [MSMQ-Win2000]&lt;/LI&gt;
&lt;LI&gt;&amp;gt;&amp;gt;UDDI Services Tools&amp;nbsp; [RSAT-UDDI]&lt;/LI&gt;
&lt;LI&gt;Removable Storage Manager&amp;nbsp; [Removable-Storage]&lt;/LI&gt;&lt;/UL&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Conclusion&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I hope this blog post has helped you better understand the changes in the list of Roles, Role Services and Features between Windows Server 2008 and Windows Server 2008 R2. I encourage your to visit &lt;A href="http://www.microsoft.com/windowsserver2008/en/us/R2.aspx"&gt;http://www.microsoft.com/windowsserver2008/en/us/R2.aspx&lt;/A&gt;&amp;nbsp;to see more details on the changes in Windows Server 2008 R2, which go way beyond the names of the Roles, Role Services and Features.&lt;/P&gt;
&lt;P&gt;Starting with Windows Server 2008 R2, the ServerManagerCmd command is deprecated. It&amp;nbsp;still&amp;nbsp;works,&amp;nbsp;but you should use the new PowerShell cmdlets for feature management (Add-WindowsFeature, Remove-WindowsFeature and&amp;nbsp;Get-WindowsFeature). You will need to use "Import-Module ServerManager" before using the Server Manager PowerShell cmdlets. Details at &lt;A href="http://technet.microsoft.com/en-us/library/cc732757.aspx" mce_href="http://technet.microsoft.com/en-us/library/cc732757.aspx"&gt;http://technet.microsoft.com/en-us/library/cc732757.aspx&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3266053" width="1" height="1"&gt;</description><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3266053</guid><pubDate>Sun, 19 Jul 2009 02:55:00 GMT</pubDate><author>josebda</author><ng:modifiedDate>Tue, 11 Aug 2009 20:05:28 GMT</ng:modifiedDate><ng:postId>10164370861</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><category>Windows Server 2008</category><category>Windows Server 2008 R2</category><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/josebda/rsscomments.aspx?PostID=3266053</wfw:comment><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/josebda/commentrss.aspx?PostID=3266053</wfw:commentRss><comments>http://blogs.technet.com/josebda/comments/3266053.aspx</comments><source url="http://blogs.technet.com/josebda/default.aspx">Jose Barreto's Blog</source></item><item><title>Office Web Applications Hits Major Milestone</title><link>http://blogs.msdn.com/sherder/archive/2009/07/17/office-web-applications-hits-major-milestone.aspx</link><description>&lt;P&gt;This is the reason why I haven't been updating my blog lately.&amp;nbsp;We have been heads-down making sure we delivery an incredible user experience in our next release:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://www.microsoft.com/presspass/press/2009/jul09/07-13Office2010WPCPR.mspx" mce_href="http://www.microsoft.com/presspass/press/2009/jul09/07-13Office2010WPCPR.mspx"&gt;http://www.microsoft.com/presspass/press/2009/jul09/07-13Office2010WPCPR.mspx&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/excel/archive/2009/07/14/microsoft-office-2010-technical-preview-released.aspx" mce_href="http://blogs.msdn.com/excel/archive/2009/07/14/microsoft-office-2010-technical-preview-released.aspx"&gt;http://blogs.msdn.com/excel/archive/2009/07/14/microsoft-office-2010-technical-preview-released.aspx&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Once this product is released, I will be typing up a set of useful blog posts to show-off some really cool features in our new product. &lt;/P&gt;
&lt;P&gt;Please continue to send me questions about Excel Services 2007. &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9837582" width="1" height="1"&gt;</description><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9837582</guid><pubDate>Fri, 17 Jul 2009 15:56:00 GMT</pubDate><author>Sherman Der</author><ng:modifiedDate>Fri, 17 Jul 2009 16:23:03 GMT</ng:modifiedDate><ng:postId>10154995097</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/sherder/rsscomments.aspx?PostID=9837582</wfw:comment><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/sherder/commentrss.aspx?PostID=9837582</wfw:commentRss><comments>http://blogs.msdn.com/sherder/comments/9837582.aspx</comments><source url="http://blogs.msdn.com/sherder/default.aspx">Sherman On Excel and BI Technology</source></item><item><title>Worldwide Partner Conference (WPC 09) provides a snapshot of what Microsoft is up to (keynotes available for review)</title><link>http://blogs.technet.com/josebda/archive/2009/07/17/worldwide-partner-conference-wpc-09-provides-a-snapshot-of-what-microsoft-is-up-to-keynotes-available-for-review.aspx</link><description>&lt;P&gt;Earlier this week Microsoft hosted the 2009 edition of the Worldwide Partner Conference (WPC 2009) in New Orleans.&lt;BR&gt;Thousands of partners joined to understand where Microsoft is going and how they can work together with Microsoft.&lt;BR&gt;The keynotes were streamed live (a bit too early on the Pacific side, but it certainly was very interesting).&lt;BR&gt;The entire keynotes were recorded and are now available at &lt;A href="http://digitalwpc.com/" mce_href="http://digitalwpc.com/"&gt;http://digitalwpc.com&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Highlights&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Windows 7 and Windows Server 2008 R2 were obviously a main topic of the keynotes and the conference, including new demos.&lt;BR&gt;Also big were Office 2010 and Windows Azure, with new details unveiled and pre-release availability announced during the keynotes.&lt;BR&gt;Microsoft announced changes to the partner program (now the Microsoft Partner Network) and presented this year's Partner Awards.&amp;nbsp;&lt;BR&gt;For me, it was&amp;nbsp;interesting to see the big picture, how it all comes together, what the company execs think of where we are and&amp;nbsp; where we’re going.&lt;BR&gt;"Playing for Change" provided the musical introductions and if you don't know the story of the foundation behind them, check &lt;A href="http://www.playingforchange.com/" mce_href="http://www.playingforchange.com/"&gt;http://www.playingforchange.com&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;#WPC09 on Twitter&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;New in this event was a live twitter feed side-by-side with the webcast, with people’s comments&amp;nbsp;providing an interactive twist&lt;BR&gt;All you had to do was to include the #wpc09 hashtag on your tweet to see it flowing alongside the video stream, uncensored.&lt;BR&gt;The tweets provided interesting insight, an instant sense of how things were received and the occasional funny remark.&lt;BR&gt;Twitter even played a role in the live demo of Microsoft’s CRM application, with the app itself posting tweets and analyzing feedback.&lt;BR&gt;I was in Redmond, but participated online on all three days (6:30 AM to 8:30), watching and contributing to the twitter feed. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;My day 1 tweets&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;#wpc09 keynote with Stephen Elop, Bill Veghte, Allison Watson. In 5 mins, live, at &lt;A href="http://www.digitalwpc.com/" mce_href="http://www.digitalwpc.com/"&gt;http://www.digitalwpc.com&lt;/A&gt;. Live twitter feed too! &lt;BR&gt;#wpc09 Alison Watson announces Microsoft Partner Network, replacing Partner Program. Details at &lt;A href="https://partner.microsoft.com/" mce_href="https://partner.microsoft.com/"&gt;https://partner.microsoft.com/&lt;/A&gt; &lt;BR&gt;#wpc09 Bill Veghte sharing Windows 7 details, market opportunities with Microsoft partners. Live stream at &lt;A href="http://digitalwpc.com/" mce_href="http://digitalwpc.com/"&gt;http://digitalwpc.com&lt;/A&gt;&lt;BR&gt;#wpc09 Stephen Elop is on now. Office 2010 is the main topic now. Live stream at &lt;A href="http://digitalwpc.com/" mce_href="http://digitalwpc.com/"&gt;http://digitalwpc.com&lt;/A&gt; &lt;BR&gt;#wpc09 Live CRM/twitter integration shown live as part of the event. Do you like Creole food? Live at &lt;A href="http://digitalwpc.com/" mce_href="http://digitalwpc.com/"&gt;http://digitalwpc.com&lt;/A&gt; &lt;BR&gt;Office 2010 Technical Preview announced at #wpc09. By invitation only, attendees will get it. Demos coming at live &lt;A href="http://digitalwpc.com/" mce_href="http://digitalwpc.com/"&gt;http://digitalwpc.com&lt;/A&gt; &lt;BR&gt;#wpc09 Stephen Elop demos new Office 2010 features in Outlook, Exchange, Excel, PowerPoint, SharePoint, ... 140 chars not enough &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;My day&amp;nbsp;2 tweets&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;#WPC09 Day two of Partner Conference. Steve Ballmer and Bob Muglia coming to you live in a few minutes at &lt;A href="http://digitalwpc.com/" mce_href="http://digitalwpc.com/"&gt;http://digitalwpc.com&lt;/A&gt; &lt;BR&gt;New Orleans weather report: Cloudy with a chance of partner opportunity. Azure keynote live from &lt;A href="http://digitalwpc.com/" mce_href="http://digitalwpc.com/"&gt;http://digitalwpc.com&lt;/A&gt; #wpc09 &lt;BR&gt;#wpc09 BobMu on stage right now. SteveB coming later. Partner Conference keynote streaming live at &lt;A href="http://digitalwpc.com/" mce_href="http://digitalwpc.com/"&gt;http://digitalwpc.com&lt;/A&gt; &lt;BR&gt;BobMu at #WPC09: VMM, private clouds, Azure, moving btw them. New Dynamic Datacenter Alliance. &lt;A href="http://bit.ly/yVF0J" mce_href="http://bit.ly/yVF0J"&gt;http://bit.ly/yVF0J&lt;/A&gt; &lt;BR&gt;BobMu at #WPC09: Move btw data center, private cloud, hosted, Windows Azure (which is free until PDC). &lt;A href="http://bit.ly/126R6B" mce_href="http://bit.ly/126R6B"&gt;http://bit.ly/126R6B&lt;/A&gt;&lt;BR&gt;Ballmer at #WPC09: 20 years from now, will all world's data be in Azure/Google/Amazon? No, it will be a mix with on-premises. &lt;BR&gt;Azure pricing, partner discount, SLA, SQL Azure DB versions: Questions answered at day 2 of #WPC09 &lt;A href="http://bit.ly/11a1vo" mce_href="http://bit.ly/11a1vo"&gt;http://bit.ly/11a1vo&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;My day&amp;nbsp;3 tweets&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;#wpc09 Day 3 keynote with Kevin Turner about to start. Live video streaming with side-by-side twitter feed at &lt;A href="http://digitalwpc.com/" mce_href="http://digitalwpc.com/"&gt;http://digitalwpc.com&lt;/A&gt;. &lt;BR&gt;&lt;A href="http://www.playingforchange.com/" mce_href="http://www.playingforchange.com/"&gt;http://www.playingforchange.com&lt;/A&gt; live on stage at the #wpc09 streaming at &lt;A href="http://digitalwpc.com/" mce_href="http://digitalwpc.com/"&gt;http://digitalwpc.com&lt;/A&gt;. And I say: what's going on? &lt;BR&gt;&lt;A href="http://www.playingforchange.com/" mce_href="http://www.playingforchange.com/"&gt;http://www.playingforchange.com&lt;/A&gt; live on stage at the #wpc09 streaming at &lt;A href="http://digitalwpc.com/" mce_href="http://digitalwpc.com/"&gt;http://digitalwpc.com&lt;/A&gt;. Don't worry, be happy!&lt;BR&gt;#wpc09 Amalga on Surface demo. Healthcare, cloud, multimedia, multi-touch, multi-user, smart objects. &lt;A href="http://digitalwpc.com/" mce_href="http://digitalwpc.com/"&gt;http://digitalwpc.com&lt;/A&gt; &lt;BR&gt;#WPC09 "Future" video wows the crowd. I've seen it a couple of times, but I see new things every time. &lt;A href="http://bit.ly/26YuPu" mce_href="http://bit.ly/26YuPu"&gt;http://bit.ly/26YuPu&lt;/A&gt;&lt;BR&gt;#wpc09 A great experience in one device is not enough. You need an ecosystem of interacting devices. &lt;A href="http://digitalwpc.com/" mce_href="http://digitalwpc.com/"&gt;http://digitalwpc.com&lt;/A&gt;&lt;BR&gt;#wpc09 Kevin Turner's Game Plan: Be realistic; Prepare for unknown; Deepen relationships; Grow market share; Sense of urgency &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Conclusion&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;I would strongly encourage you to review the recorded videos at &lt;A href="http://digitalwpc.com/" mce_href="http://digitalwpc.com/"&gt;http://digitalwpc.com&lt;/A&gt;. Truly insightful.&lt;BR&gt;And better yet, next time, watch it live and participate in the online conversation...&lt;BR&gt;Hats off to the team working on this event! If it felt this good from a distance, I can only imagine what it must have been in person.&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3265699" width="1" height="1"&gt;</description><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3265699</guid><pubDate>Fri, 17 Jul 2009 13:53:00 GMT</pubDate><author>josebda</author><ng:modifiedDate>Fri, 17 Jul 2009 09:52:58 GMT</ng:modifiedDate><ng:postId>10152860814</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><category>Events</category><category>Windows 7</category><category>Windows Server 2008 R2</category><category>Social Networks</category><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/josebda/rsscomments.aspx?PostID=3265699</wfw:comment><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/josebda/commentrss.aspx?PostID=3265699</wfw:commentRss><comments>http://blogs.technet.com/josebda/comments/3265699.aspx</comments></item><item><title>Bing and Google</title><link>http://blogs.msdn.com/arpans/archive/2009/07/16/bing-and-google.aspx</link><description>&lt;p&gt;If you google Bing or bing Google, you’ll find some really interesting reviews &amp;amp; comparisons between Bing &amp;amp; Google. Almost all of them arrive at a similar conclusion; that 1) Bing is better than Live Search, 2) Bing has differentiation vs. Google in some scenarios and 3) Google still doesn’t have to worry. Bing has more to do, but it’s good to see competition in the search space. I’m a big fan of competition as it leads to innovation and ultimately better products and services for consumers.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;Bing &amp;gt; Live; Bing &amp;gt; Google (in some ways)&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;- For starters, it’s just a better name. Live was too confusing for most people &amp;amp; couldn’t be used as a verb. As silly as that sounds, it makes a difference. Also, the Live brand was overloaded and most people just didn’t get it.&lt;/p&gt;  &lt;p&gt;- It’s refreshing. It looks good, cleaner and fresh. I always perceived Google as the king of simplicity and user experience, but Bing just feels better and has a better user experience IMO. I can’t personally put my finger on it, but it’s likely a combination of many things: the picture, navigation, color scheme, page preview functionality. The Bing team even got the little things right – for example, the font seems just right. Google feels ‘oh so 2000.’ :-)&lt;/p&gt;  &lt;p&gt;- Relevancy is as good as Google at least for everything I tried searching for.&amp;#160; &lt;a title="http://bingle.pwnij.com/" href="http://bingle.pwnij.com/"&gt;http://bingle.pwnij.com/&lt;/a&gt; is a neat service you can try for yourself.&lt;/p&gt;  &lt;p&gt;- Some services are just better integrated. Bing Travel (Farecast) is nicely integrated as is much of the MSN content; I also think that the image &amp;amp; video search is better.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;Why Google doesn’t have to worry (in the short term)&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;- Google is a habit. It’s part of our vocabulary, it’s the de facto search engine for most people and has been for years. Google doesn’t even have to pay for product placement in movies, television shows &amp;amp; on the news. It’s synonymous with Internet search. &lt;/p&gt;  &lt;p&gt;- Some Google services are better. Google has some specific services that give it some differentiation albeit in very targeted scenarios. &lt;/p&gt;  &lt;p&gt;- User entry points. There are more entry points for Google than Bing and this trend won’t change in the near term. Google has some very popular user services like YouTube &amp;amp; Gmail. And while they haven’t necessary figured out how to best monetize them, it’s a function of time before they strike the right balance of service vs. advertisement. Beyond services, as the iPhone becomes more &amp;amp; more popular (and boy, is it popular) &amp;amp; browsers like Firefox &amp;amp; Chrome gain more market share, the number of Google search queries will continue to rise. This isn’t even taking into account any penetration with Android &amp;amp; Chrome OS. Google’s push for open source software is motivated by making Google’s search service more ubiquitous. That’s the world of business.&lt;/p&gt;  &lt;p&gt;- AdSense. Google enjoys a large ecosystem of customers &amp;amp; partners that isn’t going anywhere. I’m not sure what the revenue percentage is, but I’m sure that revenue stream is significant.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;Why Google should be worried (in the longer term)&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;Google faces some challenges in the intermediate to longer term if they don’t innovate quickly &amp;amp; Bing continues to out innovate them. Today, Bing may not offer significant differentiation for a user to change his/her habit,&amp;#160; but things could change as they continue to innovate. &lt;/p&gt;  &lt;p&gt;- User Experience conundrum. I mentioned earlier that Bing has a refreshing user experience. It looks new and gives me different ways to explore content with suggestions and navigation on the left hand side. There’s just enough information on the screen so it’s useful without being over-crowded. I suspect this took a lot of qualitative research to get right by the Bing team. So why doesn’t Google copy and bring a similar experience to its users? I don’t see Google doing that because 1) Google is known for simplicity and adding more content, more information, more graphics can counter that simplicity and can affect their brand; 2) A less obvious reason is the more choices Google presents to users for navigating content, for example, it could distract from the advertizing links on the right; I may be less likely to click on an advertizing link if I have other options elsewhere on a page; user experience research may prove or disprove my theory, but my intuition says that’s a possible outcome.&lt;/p&gt;  &lt;p&gt;- Facebook. More &amp;amp; more people are starting their days in Facebook vs. Google. And if Facebook becomes the entry point for users, then the search engine that is powered by Facebook will win. Not only will that search engine serve Facebook search requests, but they will have an opportunity to switch users to their service by becoming more and more familiar. &lt;/p&gt;  &lt;p&gt;- Startups. Google’s not the underdog anymore. There are plenty of startups that are funded, even more agile and attracting talent. They can deliver services &amp;amp; technology faster. Google will have to continue attracting great talent and even more importantly retaining great talent. Google has made smart acquisitions in the past, and they should continue keeping their eyes open for new ones.&lt;/p&gt;  &lt;p&gt;- Live Services. Watch out! With Office 2010 Office Web Applications, more people will use Live Services and end up interacting with Bing!&lt;/p&gt;  &lt;p&gt;&lt;u&gt;My Conclusion&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;Bing is refreshing and a step in the right direction for Microsoft. There’s still more innovation that needs to be done with search and the various supporting services to drive traffic/switch users, but I for one am a Bing convert! Ultimately, whatever happens, we’ll all benefit and continue to get better search experiences and choice.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9836364" width="1" height="1"&gt;</description><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9836364</guid><pubDate>Fri, 17 Jul 2009 01:33:08 GMT</pubDate><author>arpans</author><ng:modifiedDate>Thu, 03 Sep 2009 16:22:00 GMT</ng:modifiedDate><ng:postId>10443167525</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/arpans/commentrss.aspx?PostID=9836364</wfw:commentRss><comments>http://blogs.msdn.com/arpans/comments/9836364.aspx</comments><source url="http://blogs.msdn.com/arpans/default.aspx">Arpan Shah's Blog</source></item><item><title>Complete Guide To Microsoft Office 2010</title><link>http://markharrison.co.uk/blog/2009/07/complete-guide-to-microsofts-office.aspx</link><description>From TechCrunch ... &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.techcrunch.com/2009/07/13/the-complete-guide-to-microsofts-office-2010/"&gt;The Complete Guide To Microsoft Office 2010&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;br /&gt;&lt;a href=http://markharrison.co.uk/blog&gt;Mark Harrison&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8710727437182293862-6970147153934487510?l=markharrison.co.uk%2Fblog%2Fdefault.aspx'/&gt;&lt;/div&gt;</description><guid isPermaLink="false">tag:blogger.com,1999:blog-8710727437182293862.post-6970147153934487510</guid><pubDate>Thu, 16 Jul 2009 08:17:00 GMT</pubDate><author>noreply@blogger.com (Mark)</author><ng:modifiedDate>Thu, 16 Jul 2009 02:24:06 GMT</ng:modifiedDate><ng:postId>10142532940</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><source url="http://markharrison.co.uk/blog/default.aspx">Mark Harrison 2009</source></item><item><title>Announcing SharePoint 2010</title><link>http://markharrison.co.uk/blog/2009/07/announcing-sharepoint-2010.aspx</link><description>&lt;img src="http://blogs.msdn.com/blogfiles/sharepoint/WindowsLiveWriter/AnnouncingSharePoint2010TechnicalPreview_14373/image_thumb.png" /&gt;&lt;br /&gt;&lt;br /&gt;Microsoft have announced that SharePoint 2010 has reached the technical preview engineering milestone.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/default.aspx"&gt;Sneak preview&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;br /&gt;&lt;a href=http://markharrison.co.uk/blog&gt;Mark Harrison&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8710727437182293862-8610187987852331567?l=markharrison.co.uk%2Fblog%2Fdefault.aspx'/&gt;&lt;/div&gt;</description><guid isPermaLink="false">tag:blogger.com,1999:blog-8710727437182293862.post-8610187987852331567</guid><pubDate>Thu, 16 Jul 2009 08:09:00 GMT</pubDate><author>noreply@blogger.com (Mark)</author><ng:modifiedDate>Thu, 16 Jul 2009 02:24:06 GMT</ng:modifiedDate><ng:postId>10142532883</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><source url="http://markharrison.co.uk/blog/default.aspx">Mark Harrison 2009</source></item><item><title>Five ways to check your DFS-Namespaces (DFS-N) configuration with the DFSDIAG.EXE tool</title><link>http://blogs.technet.com/josebda/archive/2009/07/15/five-ways-to-check-your-dfs-namespaces-dfs-n-configuration-with-the-dfsdiag-exe-tool.aspx</link><description>&lt;P&gt;&lt;STRONG&gt;Introduction&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;The Distributed File System Namespaces (DFS-N) service is a role service of the File Service role for Windows Server.&lt;BR&gt;For a basic description of DFS-N, start with&amp;nbsp; &lt;A href="http://blogs.technet.com/josebda/archive/2009/03/10/the-basics-of-the-windows-server-2008-distributed-file-system-dfs.aspx" mce_href="http://blogs.technet.com/josebda/archive/2009/03/10/the-basics-of-the-windows-server-2008-distributed-file-system-dfs.aspx"&gt;http://blogs.technet.com/josebda/archive/2009/03/10/the-basics-of-the-windows-server-2008-distributed-file-system-dfs.aspx&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;DFS-N, as the name implies, is a distributed system and it involves a number of components running on a set of computers (Active Directory domain controllers, DFS-N namespace servers, SMB file servers, DFS-N clients).&lt;BR&gt;You can get an idea of the interactions by looking at&amp;nbsp; &lt;A href="http://blogs.technet.com/josebda/archive/2009/04/15/understanding-windows-server-2008-dfs-n-by-analyzing-network-traces.aspx" mce_href="http://blogs.technet.com/josebda/archive/2009/04/15/understanding-windows-server-2008-dfs-n-by-analyzing-network-traces.aspx"&gt;http://blogs.technet.com/josebda/archive/2009/04/15/understanding-windows-server-2008-dfs-n-by-analyzing-network-traces.aspx&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Because of that, as you can imagine, diagnosing problems with DFS-N can be challenging. To assist with that, Windows Server provides an in-box tool specifically to help with that. It’s called DFSDIAG.EXE.&lt;/P&gt;
&lt;P&gt;DFSDIAG was introduced in Windows Server 2008 and it was improved in Windows Server 2008 R2 to provide better messages and help text. DFSDIAG is not available as an in-box tool for Windows Server 2003, but the tests can run on Windows Server 2008 or Windows Server 2008 R2 while targeting namespace servers running Windows Server 2003. The tool will exercise the many components related to DFS-N, so it is recommended to experiment with it in a test lab first to assess its impact, before running it in production.&lt;/P&gt;
&lt;P&gt;DFSDIAG can check your configuration in five different ways:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Checking domain controller configuration&lt;/LI&gt;
&lt;LI&gt;Checking site associations&lt;/LI&gt;
&lt;LI&gt;Checking namespace server configuration &lt;/LI&gt;
&lt;LI&gt;Checking individual namespace configuration and integrity &lt;/LI&gt;
&lt;LI&gt;Checking referral responses &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;We’ll examine each one of these checks individually, below.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;Checking domain controller configuration - DFSDIAG /TestDCs&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;Checks the configuration of domain controllers by performing the following tests on each domain controller in the specified domain:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Verifies that the Distributed File System (DFS) Namespace service is&amp;nbsp; running and that its Startup Type is set to Automatic.&lt;/LI&gt;
&lt;LI&gt;Checks for the support of site-costed referrals for NETLOGON and SYSVOL.&lt;/LI&gt;
&lt;LI&gt;Verifies the consistency of the site association by hostname and IP address. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Usage:&lt;BR&gt;DFSDiag /TestDCs [/Domain:&amp;lt;Domain name&amp;gt;]&lt;/P&gt;
&lt;P&gt;Parameters:&lt;BR&gt;/Domain:&amp;lt;Domain name&amp;gt;: Domain that you want to check.&lt;/P&gt;
&lt;P&gt;Notes: &lt;BR&gt;/Domain is an optional parameter. The default value is the local domain that the local host is joined to.&lt;/P&gt;
&lt;P&gt;Example:&lt;BR&gt;DFSDiag /TestDCs /Domain:Contoso.com &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;Checking site associations - DFSDIAG /TestSites&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;Checks the configuration of Active Directory Domain Services (AD DS) sites by verifying that servers that act as namespace servers or folder (link) targets have the same site associations on all domain controllers.&lt;/P&gt;
&lt;P&gt;Usage:&lt;BR&gt;DFSDiag /TestSites &amp;lt;/Machine:&amp;lt;server name&amp;gt;| /DFSPath:&amp;lt;namespace root or DFS folder&amp;gt; [/Recurse]&amp;gt; [/Full]&lt;/P&gt;
&lt;P&gt;Parameters:&lt;BR&gt;/Machine:&amp;lt;server name&amp;gt;: The name of the server on which to verify the site association.&lt;BR&gt;/DFSPath:&amp;lt;namespace root or DFS folder&amp;gt;: The namespace root or Distributed File System (DFS) folder (link) with targets for which to verify the site association.&lt;BR&gt;/Recurse: Enumerates and verifies the site associations for all folder targets under the specified namespace root.&lt;BR&gt;/Full:&amp;nbsp; Verifies that AD DS and the registry of the server contain the same site association information.&lt;/P&gt;
&lt;P&gt;Example:&lt;BR&gt;DFSDiag /TestSites /Machine:MyServer&lt;BR&gt;DFSDiag /TestSites /DFSPath:\\Contoso.com\Namespace1\Folder1 /Full&lt;BR&gt;DFSDiag /TestSites /DFSPath:\\Contoso.com\Namespace2 /Recurse /Full&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;Checking namespace server configuration - DFSDIAG /TestDFSConfig&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;Checks the configuration of a Distributed File System (DFS) namespace by performing the following actions:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Verifies that the DFS Namespace service is running and that its Startup Type is set to Automatic on all namespace servers.&lt;/LI&gt;
&lt;LI&gt;Verifies that the DFS registry configuration is consistent among namespace servers.&lt;/LI&gt;
&lt;LI&gt;Validates the following dependencies on clustered namespace servers that are running Windows Server 2008 or later: &lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;Namespace root resource dependency on network name resource.&lt;/LI&gt;
&lt;LI&gt;Network name resource dependency on IP address resource.&lt;/LI&gt;
&lt;LI&gt;Namespace root resource dependency on physical disk resource.&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;
&lt;P&gt;Usage:&lt;BR&gt;DFSDiag /TestDFSConfig /DFSRoot:&amp;lt;namespace&amp;gt;&lt;/P&gt;
&lt;P&gt;Parameters:&lt;BR&gt;/DFSRoot:&amp;lt;namespace&amp;gt;: The namespace (DFS root) to diagnose.&lt;/P&gt;
&lt;P&gt;Example:&lt;BR&gt;DFSDiag /TestDFSConfig /DFSRoot:\\Contoso.com\MyNamespace&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;Checking individual namespace configuration and integrity - DFSDIAG /TestDFSIntegrity&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;Checks the integrity of the Distributed File System (DFS) namespace by performing the following tests:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Checks for DFS metadata corruption or inconsistencies between&amp;nbsp; domain controllers.&lt;/LI&gt;
&lt;LI&gt;Validates the configuration of access-based enumeration to ensure that it&amp;nbsp; is consistent between DFS metadata and the namespace server share.&lt;/LI&gt;
&lt;LI&gt;Detects overlapping DFS folders (links), duplicate folders, and folders&amp;nbsp; with overlapping folder targets.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Usage:&lt;BR&gt;DFSDiag /TestDFSIntegrity /DFSRoot:&amp;lt;DFS root path&amp;gt; [/Recurse] [/Full]&lt;/P&gt;
&lt;P&gt;Parameters:&lt;BR&gt;/DFSRoot:&amp;lt;DFS root path&amp;gt;: The DFS namespace to diagnose.&lt;BR&gt;/Recurse:&amp;nbsp; Performs the testing including&amp;nbsp; the namespace interlinks. &lt;BR&gt;/Full: Verifies the consistency of share and NTFS ACLs and client side configuration on all folder targets. It also verifies that the Online property is set.&lt;/P&gt;
&lt;P&gt;Example:&lt;BR&gt;DFSDiag /TestDFSIntegrity /DFSRoot:\\Contoso.com\MyNamespace /Recurse /Full&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;Checking referral responses - DFSDIAG /TestReferral&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;Checks Distributed File System (DFS) referrals by performing the following tests:&lt;/P&gt;
&lt;P&gt;When you use the DFSPath parameter without arguments, this command validates that the referral list includes all trusted domains.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;When you specify a domain, the command performs a health check of domain controllers (Dfsdiag /testdcs) and tests the site associations and domain cache of the local host.&lt;/LI&gt;
&lt;LI&gt;When you specify a domain and \SYSVOL or \NETLOGON, in addition to performing the same health checks as when you specify a domain, the command checks that the Time To Live (TTL) of SYSVOL or NETLOGON referrals match the default value of 900 seconds.&lt;/LI&gt;
&lt;LI&gt;When you specify a namespace root, in addition to performing the same health checks as when you specify a domain, the command performs a DFS configuration check (Dfsdiag /TestDFSConfig) and a namespace integrity check (Dfsdiag /TestDFSIntegrity).&lt;/LI&gt;
&lt;LI&gt;When you specify a DFS folder (link), in addition to performing the same health checks as when you specify a namespace root, the command validates the site configuration for folder targets (Dfsdiag /testsites) and validates the site association of the local host.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Usage:&lt;BR&gt;DFSDiag /TestReferral /DFSPath:&amp;lt;DFS path for getting referrals&amp;gt; [/Full]&lt;/P&gt;
&lt;P&gt;Parameters:&lt;BR&gt;/DFSPath:&amp;lt;Path for getting referrals&amp;gt;: This DFS path can be one of the following:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;(blank): Tests trusted domains.&lt;/LI&gt;
&lt;LI&gt;&lt;A href="file://domain/" mce_href="file://domain/"&gt;\\Domain&lt;/A&gt;: Domain controller referrals.&lt;/LI&gt;
&lt;LI&gt;&lt;A href="file://domain/SYSVOL" mce_href="file://domain/SYSVOL"&gt;\\Domain\SYSVOL&lt;/A&gt;: SYSVOL referrals.&lt;/LI&gt;
&lt;LI&gt;&lt;A href="file://domain/NETLOGON" mce_href="file://domain/NETLOGON"&gt;\\Domain\NETLOGON&lt;/A&gt;: NETLOGON referrals.&lt;/LI&gt;
&lt;LI&gt;&lt;a href="http://blogs.technet.com/josebda/archive/2009/07/15/five-ways-to-check-your-dfs-namespaces-dfs-n-configuration-with-the-dfsdiag-exe-tool.aspxfile://%3cdomain/" mce_href="file://%3cdomain/"&gt;\\&amp;lt;Domain&lt;/A&gt; or server&amp;gt;\&amp;lt;Namespace Root&amp;gt;:Namespace root referrals.&lt;/LI&gt;
&lt;LI&gt;&lt;a href="http://blogs.technet.com/josebda/archive/2009/07/15/five-ways-to-check-your-dfs-namespaces-dfs-n-configuration-with-the-dfsdiag-exe-tool.aspxfile://%3cdomain/" mce_href="file://%3cdomain/"&gt;\\&amp;lt;Domain&lt;/A&gt; or server&amp;gt;\&amp;lt;Namespace Root&amp;gt;\&amp;lt;DFS folder&amp;gt;: DFS folder (link) referrals.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;/Full:&amp;nbsp; Applied only to Domain and Root referrals. Verifies the consistency of site association information between the registry and Active Directory Domain Services (AD DS).&lt;/P&gt;
&lt;P&gt;Examples:&lt;BR&gt;DFSDiag /TestReferral /DFSPath:\\Contoso.com\MyNamespace&lt;BR&gt;DFSDiag /TestReferral /DFSPath:&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;Conclusion&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;I hope this blog post has helped you understand how to use the DFSDIAG.EXE tool to check your DFS-N configuration.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3265119" width="1" height="1"&gt;</description><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3265119</guid><pubDate>Thu, 16 Jul 2009 03:59:00 GMT</pubDate><author>josebda</author><ng:modifiedDate>Wed, 15 Jul 2009 22:40:13 GMT</ng:modifiedDate><ng:postId>10141586435</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><category>Windows Server 2008</category><category>Windows Storage Server</category><category>Windows Server 2008 R2</category><category>DFS</category><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/josebda/rsscomments.aspx?PostID=3265119</wfw:comment><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/josebda/commentrss.aspx?PostID=3265119</wfw:commentRss><comments>http://blogs.technet.com/josebda/comments/3265119.aspx</comments><source url="http://blogs.technet.com/josebda/default.aspx">Jose Barreto's Blog</source></item><item><title>How to use OrderBy using GetListItems method of SiteData.asmx (SPS 2003)</title><link>http://blogs.msdn.com/pavankumar/archive/2009/07/14/how-to-use-orderby-using-getlistitems-method-of-sitedata-asmx-sps-2003.aspx</link><description>&lt;p&gt;Sample code &lt;/p&gt;  &lt;p&gt;--------------&lt;/p&gt;  &lt;p&gt;SiteData.SiteData srvSiteData = new SiteData.SiteData();   &lt;br /&gt;srvSiteData.Credentials = System.Net.CredentialCache.DefaultCredentials;    &lt;br /&gt;string items = srvSiteData.GetListItems(&amp;quot;{48414507-4436-4D47-BE59-9834D33F2B52}&amp;quot;,&amp;quot;&amp;lt;Query&amp;gt;&amp;lt;OrderBy&amp;gt;&amp;lt;FieldRef Name=\&amp;quot;Modified\&amp;quot; Ascending=\&amp;quot;True\&amp;quot;&amp;gt;&amp;lt;/FieldRef&amp;gt;&amp;lt;/OrderBy&amp;gt;&amp;lt;/Query&amp;gt;&amp;quot;,    &lt;br /&gt;&amp;quot;&amp;lt;FieldRef Name=\&amp;quot;Title\&amp;quot;/&amp;gt;&amp;lt;FieldRef Name=\&amp;quot;Modified\&amp;quot;/&amp;gt;&amp;quot;, 100);&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;If the Query looks like &lt;/p&gt;  &lt;p&gt;&amp;lt;Query&amp;gt;&amp;lt;OrderBy&amp;gt;&amp;lt;FieldRef Name=\&amp;quot;Modified\&amp;quot; Ascending=\&amp;quot;True\&amp;quot;&amp;gt;&amp;lt;/FieldRef&amp;gt;&amp;lt;/OrderBy&amp;gt;&amp;lt;/Query&amp;gt; the orderby would not work.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Change the XML Query to    &lt;br /&gt;&amp;lt;OrderBy&amp;gt;&amp;lt;FieldRef Name=\&amp;quot;Modified\&amp;quot; Ascending=\&amp;quot;True\&amp;quot;&amp;gt;&amp;lt;/FieldRef&amp;gt;&amp;lt;/OrderBy&amp;gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9832887" width="1" height="1"&gt;</description><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9832887</guid><pubDate>Tue, 14 Jul 2009 08:01:04 GMT</pubDate><author>Pavan</author><ng:modifiedDate>Tue, 14 Jul 2009 05:40:58 GMT</ng:modifiedDate><ng:postId>10123732898</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/pavankumar/commentrss.aspx?PostID=9832887</wfw:commentRss><comments>http://blogs.msdn.com/pavankumar/comments/9832887.aspx</comments><source url="http://blogs.msdn.com/pavankumar/default.aspx">My Blogs on Sharepoint</source></item><item><title>SharePoint 2010 Technical Preview</title><link>http://feedproxy.google.com/~r/CodeJediNET/~3/eDKdZ9i54_M/sharepoint-2010-technical-preview.aspx</link><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/williamcornwill/WindowsLiveWriter/SharePoint2010TechnicalPreview_AC73/image_11.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 5px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" align="left" src="http://blogs.msdn.com/blogfiles/williamcornwill/WindowsLiveWriter/SharePoint2010TechnicalPreview_AC73/image_thumb_3.png" width="234" height="68" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Today the SharePoint team &lt;a href="http://blogs.msdn.com/sharepoint/archive/2009/07/13/announcing-sharepoint-2010-technical-preview.aspx" target="_blank"&gt;announced&lt;/a&gt; that SharePoint 2010 has reached the Technical Preview engineering milestone. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;b&gt;What is SharePoint 2010?       &lt;br /&gt;&lt;/b&gt;SharePoint 2010 is the business collaboration platform for the Enterprise &amp;amp; the Web that enables you to connect &amp;amp; empower people through an integrated set of rich features. Whether deployed on-premises or as hosted services, SharePoint 2010 helps you cut costs with a unified infrastructure while allowing you to rapidly respond to your business needs.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Below is the updated pie slide showing the investment areas and messaging for SharePoint 2010.&lt;a href="http://sharepoint.microsoft.com"&gt;&lt;img title="Check out the SharePoint 2010 mini-site" border="0" alt="Check out the SharePoint 2010 mini-site" src="http://blogs.msdn.com/blogfiles/sharepoint/WindowsLiveWriter/AnnouncingSharePoint2010TechnicalPreview_14373/image_thumb.png" width="540" height="216" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You can get a sneak peek of SharePoint 2010 &lt;a href="http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/default.aspx" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/default.aspx" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="SharePoint 2010 Sneek Preview site" border="0" alt="SharePoint 2010 Sneek Preview site" src="http://blogs.msdn.com/blogfiles/williamcornwill/WindowsLiveWriter/SharePoint2010TechnicalPreview_AC73/image_9.png" width="544" height="478" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9832679" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/CodeJediNET?a=eDKdZ9i54_M:U_Zv25sr6Gw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CodeJediNET?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CodeJediNET?a=eDKdZ9i54_M:U_Zv25sr6Gw:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CodeJediNET?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CodeJediNET?a=eDKdZ9i54_M:U_Zv25sr6Gw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CodeJediNET?i=eDKdZ9i54_M:U_Zv25sr6Gw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CodeJediNET?a=eDKdZ9i54_M:U_Zv25sr6Gw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CodeJediNET?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9832679</guid><pubDate>Tue, 14 Jul 2009 02:15:59 GMT</pubDate><author>Code Jedi</author><ng:modifiedDate>Tue, 14 Jul 2009 00:55:00 GMT</ng:modifiedDate><ng:postId>10122086698</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><category>SharePoint 14</category><category>SharePoint 2010</category><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://blogs.msdn.com/williamcornwill/archive/2009/07/14/sharepoint-2010-technical-preview.aspx</feedburner:origLink><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/williamcornwill/commentrss.aspx?PostID=9832679</wfw:commentRss><comments>http://blogs.msdn.com/williamcornwill/comments/9832679.aspx</comments><source url="http://blogs.msdn.com/williamcornwill/default.aspx">CodeJedi.NET</source></item><item><title>SharePoint 2010 Sneak Peak Now Available!</title><link>http://blogs.msdn.com/randalli/archive/2009/07/13/sharepoint-2010-sneak-peak-now-available.aspx</link><description>&lt;P&gt;Cross-posting from Paul Andrew's blog: &lt;A href="http://blogs.msdn.com/pandrew/archive/2009/07/13/sharepoint-2010-sneak-peek.aspx"&gt;http://blogs.msdn.com/pandrew/archive/2009/07/13/sharepoint-2010-sneak-peek.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;There are sneak peak videos on this site for Developers and&amp;nbsp;IT Professionals, as well as a general overview of SharePoint 2010:&amp;nbsp; &lt;A href="http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/default.aspx"&gt;http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/default.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Here's a direct link to the Developer sneak peak video: &lt;A href="http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/Developer-Video.aspx"&gt;http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/Developer-Video.aspx&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9832005" width="1" height="1"&gt;</description><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9832005</guid><pubDate>Mon, 13 Jul 2009 17:19:00 GMT</pubDate><author>randalli</author><ng:modifiedDate>Mon, 13 Jul 2009 14:44:19 GMT</ng:modifiedDate><ng:postId>10117151030</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><category>BDC</category><category>Visual Studio 2010</category><category>SharePoint 2010</category><category>Silverlight</category><category>BCS</category><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/randalli/commentrss.aspx?PostID=9832005</wfw:commentRss><comments>http://blogs.msdn.com/randalli/comments/9832005.aspx</comments><source url="http://blogs.msdn.com/randalli/default.aspx">SharePoint Content and Resources</source></item><item><title>Sneak Peek of SharePoint 2010 is now available</title><link>http://blogs.technet.com/stefan_gossner/archive/2009/07/13/sneak-peek-of-sharepoint-2010-is-now-available.aspx</link><description>&lt;P&gt;Microsoft has just made a Sneak Peek of SharePoint 2010 available on &lt;A href="http://sharepoint.microsoft.com/"&gt;http://sharepoint.microsoft.com&lt;/A&gt;:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;2010 Sneak Peek Home: &lt;A href="http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/default.aspx"&gt;http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/default.aspx&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;2010 Sneak Peek Overview Video: &lt;A href="http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/Overview-Video.aspx"&gt;http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/Overview-Video.aspx&lt;/A&gt;&amp;nbsp; &lt;/LI&gt;
&lt;LI&gt;2010 Sneak Peek IT Pro Video: &lt;A href="http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/IT-Pro-video.aspx"&gt;http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/IT-Pro-video.aspx&lt;/A&gt;&amp;nbsp; &lt;/LI&gt;
&lt;LI&gt;2010 Sneak Peek Developer Video: &lt;A href="http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/Developer-video.aspx"&gt;http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/Developer-video.aspx&lt;/A&gt;&amp;nbsp; &lt;/LI&gt;
&lt;LI&gt;2010 Sneak Peek Get Ready: &lt;A href="http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/Get_Ready.aspx"&gt;http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/Get_Ready.aspx&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;2010 Sneak Peek FAQ: &lt;A href="http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/FAQ.aspx"&gt;http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/FAQ.aspx&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;More details are available on the SharePoint Team blog:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/sharepoint/archive/2009/07/13/announcing-sharepoint-2010-technical-preview.aspx"&gt;http://blogs.msdn.com/sharepoint/archive/2009/07/13/announcing-sharepoint-2010-technical-preview.aspx&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3263469" width="1" height="1"&gt;</description><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3263469</guid><pubDate>Mon, 13 Jul 2009 16:03:00 GMT</pubDate><author>Stefan_Gossner</author><ng:modifiedDate>Mon, 13 Jul 2009 13:36:07 GMT</ng:modifiedDate><ng:postId>10116664654</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><category>SharePoint 2010</category><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/stefan_gossner/commentrss.aspx?PostID=3263469</wfw:commentRss><comments>http://blogs.technet.com/stefan_gossner/comments/3263469.aspx</comments><source url="http://blogs.technet.com/stefan_gossner/default.aspx">Stefan Goßner</source></item><item><title>SharePoint 2010 Sneak Peek!</title><link>http://blogs.msdn.com/arpans/archive/2009/07/13/sharepoint-2010-sneak-peek.aspx</link><description>&lt;p&gt;Today is an exciting day because we are announcing that SharePoint 2010 has reached the technical preview engineering milestone. We are sharing a sneak peek of SharePoint 2010 that you can check out @ &lt;a title="http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/default.aspx" href="http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/default.aspx"&gt;http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/default.aspx&lt;/a&gt;&amp;#160; (also announced it on the &lt;a href="http://blogs.msdn.com/sharepoint/archive/2009/07/13/announcing-sharepoint-2010-technical-preview.aspx"&gt;team blog&lt;/a&gt;). Check out the amazing videos we’ve posted, read the “Getting Ready” guidance &amp;amp; take a glance at the frequently asked questions we’ve posted. Tom, Richard &amp;amp; Paul have done a super job walking you through a glimpse of what’s in SharePoint 2010! We will go much deeper &amp;amp; broader at the &lt;a href="http://www.mssharepointconference.com"&gt;SharePoint Conference&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;I’ll write more later this week.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/arpans/WindowsLiveWriter/SharePoint2010SneakPeek_5FA1/sp2010_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="sp2010" border="0" alt="sp2010" src="http://blogs.msdn.com/blogfiles/arpans/WindowsLiveWriter/SharePoint2010SneakPeek_5FA1/sp2010_thumb.jpg" width="261" height="196" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt; For those of you at WPC, I’m presenting a sneak peek session at WPC as well – so if you’re there, definitely come and check it out!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9831644" width="1" height="1"&gt;</description><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9831644</guid><pubDate>Mon, 13 Jul 2009 13:48:08 GMT</pubDate><author>arpans</author><ng:modifiedDate>Thu, 03 Sep 2009 16:21:59 GMT</ng:modifiedDate><ng:postId>10443167475</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/arpans/commentrss.aspx?PostID=9831644</wfw:commentRss><comments>http://blogs.msdn.com/arpans/comments/9831644.aspx</comments><source url="http://blogs.msdn.com/arpans/default.aspx">Arpan Shah's Blog</source></item><item><title>Micro-blogging on Twitter: a few thoughts and tips</title><link>http://blogs.technet.com/josebda/archive/2009/07/12/micro-blogging-on-twitter-a-few-thoughts-and-tips.aspx</link><description>&lt;P&gt;As I &lt;A href="http://blogs.technet.com/josebda/archive/2009/06/30/i-am-now-on-twitter-and-more-active-on-facebook.aspx" mce_href="http://blogs.technet.com/josebda/archive/2009/06/30/i-am-now-on-twitter-and-more-active-on-facebook.aspx"&gt;posted a few days ago&lt;/A&gt;, I’m now micro-blogging on twitter as well as regular-blogging here. One week or so into the experience, I can tell you that it looks a lot different from inside :-) &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Angles&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;First of all, there are many angles on micro-blogging. Some use twitter just as new kind of IM, sharing messages that are meaningless without a specific context and probably too personal to be posted publicly. Others will be able to provide interesting, self-contained insights in their 140-character-long posts, often with a link that provides additional information. There are a number of celebrities that basically cater to their fans. Many companies have formal ambassadors that just tweet PR blurbs in a very automated way. I’m pretty sure at least a few are actual bots, although the good ones are not. &lt;/P&gt;
&lt;P&gt;News organizations are usually great at twittering, since they have great sources and headlines resemble tweets so much. My initial assumption that twitter could replace my traditional news sources proved correct so far. Most of the web sites I used to visit (CNET News, a few select blogs, Slashdot, etc.) are on twitter now. I still visit them for their stores, but now prompted by a tweet. They are no longer on set of home page tabs. I feel very well informed and I usually can break the news to my co-workers around the coffee machine.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Start by following&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I believe one should start on twitter by being a follower and try to understand what look interesting to you. Listen for a while before you say anything is usually good advice. I have started following a few friends that also twitter, some news sources, other twitters from Microsoft, some Microsoft partners, a few competitors. Over time I also stumbled upon a handful of individuals (who wouldn’t necessarily fall into any of my original categories) that really can put a good spin on things. Since the lists of who is following who are public, you can find a few people you know and check who they follow, maybe follow them as well. Needless to say, this is a time consuming process. However, it has been an interesting (dare I say entertaining) exercise. &lt;/P&gt;
&lt;P&gt;I am currently following around 60 other twitters, a truly strange mix of characters that probably tells a lot about me. I had more but dropped a few, since it was becoming hard to follow too many. I don’t understand how others manage follow hundreds of people. There sites to analyze your profile, look at who you follow and check if they follow you back, like twitual.com. I wonder if these will evolve to suggest new people to follow based on others similar to you. Probably not trivial to do, but certainly useful.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Posts&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have posted over 70 updates in the last 10 days, which is probably on the high side. For me, it’s been mostly about my blog post announcements, things I am working and a few technologies I have been looking at. I also do quite a few retweets, which are directly related to select to following the right set of twitters, keeping the list short enough that you can keep up and being easily impressed :-). I did end up deleting some of my tweets that seemed irrelevant after the fact and it’s a good thing you can do that. I also find myself sharing a few personal things, which I generally try to avoid on my full-size blog. I guess there’s really no way to keep things like twitter entirely impersonal, so I’m not trying too hard. When I first started I posted every tweet on Facebook and vice-versa. Recently I’ve been posting some on both and some only on one side. They are different things with some overlap.&lt;/P&gt;
&lt;P&gt;Trending (what’s been twittered the most, recently) is something people watch a lot. However, beyond trending, there is something else I have found myself doing with twitter. I will sometimes search on twitter for other people doing the same thing I’m doing, possibly even before tweeting about it. Say you’re watching Sunday Morning on CBS. Is anyone else doing it? Should you even admit to it? Well, it turns out there were a quite few people watching it, some even defining it as a guilty pleasure. Some with a particular interest on Charles Osgood’s bow ties. Some more concerned about a specific topic being covered, like the importance of learning how to use the dishwasher properly. I have done that multiple times and it does give a an interesting new angle on things. That’s a type of search that cannot be satisfied by your traditional search engine, although Bing is indexing Twitter now, at least partially. I wonder if there’s some site or tool out there doing something like this kind of twitter self-trending…&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Clients&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Speaking or that, Twitter clients will define a big part of your experience. You could live entirely off the twitter.com web page, it would be a very limited life. I have tried a few different clients for my Windows PC and settled on TweetDeck (which also shows Facebook status updates and TwitScoop trends). For my Windows phone I also switched a couple of times and I am now using PockeTwit. &lt;/P&gt;
&lt;P&gt;They both offer unique, somewhat unconventional user interfaces, but they have been doing the job well for me. They are 0.x releases offered as free downloads. Again, you can learn from others in this area, since tweets tell what tools are used to post them. I might try some of new ones, but once you find a good enough one, a certain inertia settles in. Free as they are, it does take your valuable time to install/uninstall these things.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Issues&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Twitter is not without its issues, though. One of the main ones I see is spam. You get a few followers that are clearly spammers trying to get attention to their sites. You can block them, but that’s definitely a waste of your time. I looked up the Twitter developer pages and they seem to be doing all the right things. Twitter does use a CAPTCHA during the signup process, but spammers are apparently taking the time. Once they’re in, there are limits on how many API calls you can make within a certain time limit. I guess the “bad guys” will always try to outsmart the system. Not sure how they do it, but they are trying hard. At some point I just gave up on blocking followers that did not seem legit. I am certainly not following everyone that follows me (some people seem to do that). A tool to point out who are the likely spammers would be useful.&lt;/P&gt;
&lt;P&gt;The other main issue it that the constant flow of small bits of information can be overwhelming (similar to a large sets of RSS feeds). I tried keeping TweetDeck open all the time, but that simply didn’t work for me. You get randomized and you can never concentrate on anything you’re doing. I learned to open the tool only when I have some free time, like early in the day for “reading the news”,&amp;nbsp;when waiting for an event to begin&amp;nbsp;or&amp;nbsp;while waiting in line. My TweetDeck is also configured to “hide previously loaded tweets after restart”, so I can see just what’s new since the last time I checked. You can also "clear your timeline" manually pressing a button.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Tweet-vs-Blog&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;I am trying to keep my Twittering and blogging in sync with each other. I added some code on my blog page here to show my recent tweets (see the column on the left, below the “News” section and above the “Archives” section. This way my Twitter profile links to my blog and my blog links back to my tweets. I also made a point of always posting on Twitter when I have a new blog post. In a related topic, while trying to distinguish tweets and regular blogs, I tried to outline the main differences. Here’s what I got so far:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Writing 140 characters is way easier than writing a few paragraphs or pages&lt;/LI&gt;
&lt;LI&gt;Sometimes 140 characters just aren’t enough, even with acronyms and abbreviations&lt;/LI&gt;
&lt;LI&gt;Blog readers do not need to learn tweetspeak. Stuff like # @ ^ RT via&lt;/LI&gt;
&lt;LI&gt;I don’t need an approval process for my work-related tweets (yet?)&lt;/LI&gt;
&lt;LI&gt;Blogs are spread all over the internet, tweets are just at one place &lt;/LI&gt;
&lt;LI&gt;Retweets are fine. Re-blogs, not so much&lt;/LI&gt;
&lt;LI&gt;You can tell who is following you on Twitter&lt;/LI&gt;
&lt;LI&gt;It’s not so easy to find recent trends in the blogosphere, like TwitScoop does...&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Overall, I think twitter has proved to be a useful tool for me so far and there’s a lot behind the hype. However, most of it will only become more apparent as you start using it.&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3263133" width="1" height="1"&gt;</description><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3263133</guid><pubDate>Sun, 12 Jul 2009 19:56:00 GMT</pubDate><author>josebda</author><ng:modifiedDate>Mon, 13 Jul 2009 20:00:14 GMT</ng:modifiedDate><ng:postId>10109213696</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><category>Social Networks</category><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/josebda/rsscomments.aspx?PostID=3263133</wfw:comment><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/josebda/commentrss.aspx?PostID=3263133</wfw:commentRss><comments>http://blogs.technet.com/josebda/comments/3263133.aspx</comments><source url="http://blogs.technet.com/josebda/default.aspx">Jose Barreto's Blog</source></item><item><title>Proud to be a Microsoft Certified Master: Microsoft SQL Server 2008</title><link>http://blogs.technet.com/josebda/archive/2009/07/11/proud-to-be-a-microsoft-certified-master-microsoft-sql-server-2008.aspx</link><description>&lt;P&gt;Earlier this year (or last fiscal year :-), I participated in a grueling three-week training and passed four exams (one of them a lab exam) to become one of just a dozen Microsoft Certified Masters on SQL Server 2008 worldwide. &lt;/P&gt;
&lt;P&gt;This was certainly the most demanding IT certification I ever attempted and a great learning experience. Even more important, I met a few remarkable people in the process, both instructors and fellow padawans.&lt;/P&gt;
&lt;P&gt;Read the blog post announcing the new batch of SQL MCMs at &lt;A href="http://blogs.technet.com/themasterblog/archive/2009/07/11/meet-the-new-batch-of-sql-server-microsoft-certified-masters.aspx" mce_href="http://blogs.technet.com/themasterblog/archive/2009/07/11/meet-the-new-batch-of-sql-server-microsoft-certified-masters.aspx"&gt;http://blogs.technet.com/themasterblog/archive/2009/07/11/meet-the-new-batch-of-sql-server-microsoft-certified-masters.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;While at it, you can check my updated transcript at&amp;nbsp; &lt;A href="http://www.microsoft.com/learning/mcp/transcripts" mce_href="http://www.microsoft.com/learning/mcp/transcripts"&gt;http://www.microsoft.com/learning/mcp/transcripts&lt;/A&gt;, using 655468 as the Transcript ID and josebarreto as the Access Code.&lt;/P&gt;
&lt;P&gt;To learn more about the program, check&amp;nbsp; &lt;A href="http://www.microsoft.com/learning/en/us/certification/master.aspx#tab2" mce_href="http://www.microsoft.com/learning/en/us/certification/master.aspx#tab2"&gt;http://www.microsoft.com/learning/en/us/certification/master.aspx#tab2&lt;/A&gt;&amp;nbsp;or &lt;A href="http://download.microsoft.com/download/4/D/6/4D655C6F-76A6-4173-B5AA-5D199555758F/Certified_Master_SQL_datasheet.pdf"&gt;http://download.microsoft.com/download/4/D/6/4D655C6F-76A6-4173-B5AA-5D199555758F/Certified_Master_SQL_datasheet.pdf&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3262968" width="1" height="1"&gt;</description><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3262968</guid><pubDate>Sat, 11 Jul 2009 14:07:00 GMT</pubDate><author>josebda</author><ng:modifiedDate>Sat, 11 Jul 2009 11:28:12 GMT</ng:modifiedDate><ng:postId>10101136235</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><category>Training</category><category>SQL Server</category><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/josebda/rsscomments.aspx?PostID=3262968</wfw:comment><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/josebda/commentrss.aspx?PostID=3262968</wfw:commentRss><comments>http://blogs.technet.com/josebda/comments/3262968.aspx</comments></item><item><title>File Server Capacity Tool (FSCT) Release Candidate available for download</title><link>http://blogs.technet.com/josebda/archive/2009/07/08/file-server-capacity-tool-fsct-release-candidate-available-for-download.aspx</link><description>&lt;P&gt;The File Server Capacity Tool (FSCT) is a capacity planning software for CIFS/SMB/SMB2 file servers.&amp;nbsp; It’s also useful for identifying performance bottlenecks. FSCT results include the maximum number of users for a file server configuration, throughput for that configuration and performance counters for the server and clients used.&lt;/P&gt;
&lt;P&gt;This is a command line tool and the target audience is IT Professionals and Storage Solution Providers. It is not a GUI tool for end users. You will also need a few computers in a lab environment to try it. You can see a sample configuration in the diagram below:&lt;/P&gt;
&lt;P&gt;&lt;IMG style="WIDTH: 480px; HEIGHT: 310px" title=FSCT alt=FSCT src="http://blogs.technet.com/photos/josebda2/images/3262206/original.aspx" width=480 height=310 mce_src="http://blogs.technet.com/photos/josebda2/images/3262206/original.aspx"&gt;&lt;/P&gt;
&lt;P&gt;We have been running a private beta for FSCT since last year and now a Release Candidate is available for public download for the first time. To get it, go to &lt;A href="http://connect.microsoft.com/"&gt;http://connect.microsoft.com&lt;/A&gt;, sign in (you will need to register if you’re new to Connect), then click on “Connection Directory” and look for “FSCT RC”. Please read the License Agreement carefully, since there are restrictions on the disclosure of the results you get from the tool. &lt;/P&gt;
&lt;P&gt;The download includes an overview presentation and a white paper that provide detailed instructions on how to use the tool. There is a new public forum for discussions about FSCT has just been configured and the product team is keeping an eye on it. That forum can be found at &lt;A href="http://social.technet.microsoft.com/Forums/en-US/fsct"&gt;http://social.technet.microsoft.com/Forums/en-US/fsct&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;If you want more details before downloading, you can check my previous posts on FSCT at &lt;A href="http://blogs.technet.com/josebda/archive/tags/FSCT/default.aspx"&gt;http://blogs.technet.com/josebda/archive/tags/FSCT/default.aspx&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;For an in-person conversation with the FSCT team, plan to attend SNIA’s Storage Developers Conference (SDC 2009) in September.&lt;BR&gt;You can find the FSCT talk in the agenda at &lt;A href="http://www.snia.org/events/storage-developer2009/agenda2009"&gt;http://www.snia.org/events/storage-developer2009/agenda2009&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;I encourage you to download the Release Candidate software, try it on your lab, ask questions on the online forum and join us at SDC for some live Q&amp;amp;A.&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3262207" width="1" height="1"&gt;</description><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3262207</guid><pubDate>Wed, 08 Jul 2009 14:11:00 GMT</pubDate><author>josebda</author><ng:modifiedDate>Wed, 08 Jul 2009 10:35:16 GMT</ng:modifiedDate><ng:postId>10073380384</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><category>Windows Server 2008</category><category>Storage</category><category>Windows Storage Server</category><category>FSCT</category><category>Windows Server 2008 R2</category><category>SMB</category><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/josebda/rsscomments.aspx?PostID=3262207</wfw:comment><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/josebda/commentrss.aspx?PostID=3262207</wfw:commentRss><comments>http://blogs.technet.com/josebda/comments/3262207.aspx</comments><source url="http://blogs.technet.com/josebda/default.aspx">Jose Barreto's Blog</source></item><item><title>The June cumulative update for WSS V3 and MOSS 2007 has been released yesterday</title><link>http://blogs.technet.com/stefan_gossner/archive/2009/07/01/the-june-cumulative-update-for-wss-v3-and-moss-2007-has-been-released-yesterday.aspx</link><description>&lt;P&gt;As discussed by the &lt;A href="http://blogs.technet.com/office_sustained_engineering/archive/2008/07/01/office-hotfixes-to-be-delivered-on-a-defined-schedule-in-the-form-of-cumulative-updates.aspx" mce_href="http://blogs.technet.com/office_sustained_engineering/archive/2008/07/01/office-hotfixes-to-be-delivered-on-a-defined-schedule-in-the-form-of-cumulative-updates.aspx"&gt;Office Sustained Engineering group&lt;/A&gt; cumulative updates for all Office Products including WSS 3.0 and SharePoint 2007 will be released every second month.&lt;/P&gt;
&lt;P&gt;Yesterday we released the so called June Cumulative Update. The so called "Uber" packages for MOSS will be released in a couple of days. Currently you can download the individual global and localized fixes for your specific language packs.&lt;/P&gt;
&lt;P&gt;This is the second &lt;STRONG&gt;Post-SP2 hotfix&lt;/STRONG&gt;! That means it is highly recommended to install &lt;A href="http://blogs.technet.com/stefan_gossner/archive/2009/04/28/moss-2007-and-wss-3-0-service-pack-2-has-been-released.aspx" mce_href="http://blogs.technet.com/stefan_gossner/archive/2009/04/28/moss-2007-and-wss-3-0-service-pack-2-has-been-released.aspx"&gt;Service Pack 2&lt;/A&gt; before installing the&amp;nbsp;June CU.&lt;/P&gt;
&lt;P&gt;As usual you can find the details about the fixes and the download locations on the blog my colleague Joerg Sinemus published:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/joerg_sinemus/archive/2009/07/01/moss-and-wss-june-cu.aspx"&gt;http://blogs.msdn.com/joerg_sinemus/archive/2009/07/01/moss-and-wss-june-cu.aspx&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3260267" width="1" height="1"&gt;</description><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3260267</guid><pubDate>Wed, 01 Jul 2009 07:39:00 GMT</pubDate><author>Stefan_Gossner</author><ng:modifiedDate>Wed, 01 Jul 2009 10:08:00 GMT</ng:modifiedDate><ng:postId>10009549740</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><category>MOSS 2007 / WSS 3.0</category><category>Hotfix Info</category><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/stefan_gossner/commentrss.aspx?PostID=3260267</wfw:commentRss><comments>http://blogs.technet.com/stefan_gossner/comments/3260267.aspx</comments><source url="http://blogs.technet.com/stefan_gossner/default.aspx">Stefan Goßner</source></item><item><title>SharePoint Best Practices Conference</title><link>http://blogs.msdn.com/arpans/archive/2009/06/25/sharepoint-best-practices-conference.aspx</link><description>&lt;p&gt;I’m going to be keynoting at the upcoming &lt;a href="http://www.bestpracticesconference.com/"&gt;SharePoint Best Practices Conference&lt;/a&gt; in DC on August 24th. It’s a great conference with high quality content where you can learn real best practices from experts in the field. It has a very strong speaker line-up and this year it also includes a SQL track! I’m really looking forward to this conference &amp;amp; hope to see many of you there!&lt;/p&gt;  &lt;p&gt;For those of you at the Worldwide Partner Conference, I’ll be speaking there as well on July 14th.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9804786" width="1" height="1"&gt;</description><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9804786</guid><pubDate>Fri, 26 Jun 2009 04:59:53 GMT</pubDate><author>arpans</author><ng:modifiedDate>Thu, 03 Sep 2009 16:21:58 GMT</ng:modifiedDate><ng:postId>10443167455</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/arpans/commentrss.aspx?PostID=9804786</wfw:commentRss><comments>http://blogs.msdn.com/arpans/comments/9804786.aspx</comments><source url="http://blogs.msdn.com/arpans/default.aspx">Arpan Shah's Blog</source></item><item><title>Hotfix for SP2 issue that reverts SharePoint products to Trial Version has been released</title><link>http://blogs.technet.com/stefan_gossner/archive/2009/06/25/hotfix-for-sp2-issue-that-reverts-sharepoint-products-to-trial-version-has-been-released.aspx</link><description>&lt;P&gt;Microsoft has released a fix for the &lt;A href="http://blogs.msdn.com/sharepoint/archive/2009/05/21/attention-important-information-on-service-pack-2.aspx" mce_href="http://blogs.msdn.com/sharepoint/archive/2009/05/21/attention-important-information-on-service-pack-2.aspx"&gt;SP2 problem that reverts the license into a Trial version&lt;/A&gt; after installing Service Pack 2.&lt;/P&gt;
&lt;P&gt;More details can be found in the following KB article:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;A href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;971620" mce_href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;971620"&gt;&lt;EM&gt;971620&lt;/EM&gt;&lt;/A&gt;&lt;/STRONG&gt;&lt;EM&gt; - When you install the 2007 Microsoft Office servers Service Pack 2, the product expiration date is activated incorrectly&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;For your convenience here are the download links for the fix:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;32-bit version: &lt;A href="http://download.microsoft.com/download/2/F/5/2F51AB71-1325-49D2-9CB9-18DEC4780E99/office2007-kb971620-fullfile-x86-glb.exe"&gt;http://download.microsoft.com/download/2/F/5/2F51AB71-1325-49D2-9CB9-18DEC4780E99/office2007-kb971620-fullfile-x86-glb.exe&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;64-bit version: &lt;A href="http://download.microsoft.com/download/5/B/B/5BBD34A9-C528-42B0-8A5F-9A8997B25C32/office2007-kb971620-fullfile-x64-glb.exe"&gt;http://download.microsoft.com/download/5/B/B/5BBD34A9-C528-42B0-8A5F-9A8997B25C32/office2007-kb971620-fullfile-x64-glb.exe&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P mce_keep="true"&gt;&lt;EM&gt;[Update June 26th] Additional info from &lt;A href="http://blogs.msdn.com/sharepoint/archive/2009/06/25/service-pack-2-update.aspx" mce_href="http://blogs.msdn.com/sharepoint/archive/2009/06/25/service-pack-2-update.aspx"&gt;SharePoint Team blog&lt;/A&gt;: We will be updating the existing &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=B7816D90-5FC6-4347-89B0-A80DEB27A082&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyId=B7816D90-5FC6-4347-89B0-A80DEB27A082&amp;amp;displaylang=en"&gt;Service Pack 2 download package&lt;/A&gt; with a new package that includes this fix within the next 4-6 weeks.&lt;/EM&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3258541" width="1" height="1"&gt;</description><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3258541</guid><pubDate>Thu, 25 Jun 2009 09:30:00 GMT</pubDate><author>Stefan_Gossner</author><ng:modifiedDate>Fri, 26 Jun 2009 15:20:57 GMT</ng:modifiedDate><ng:postId>9941825400</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><category>MOSS 2007 / WSS 3.0</category><category>Hotfix Info</category><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/stefan_gossner/commentrss.aspx?PostID=3258541</wfw:commentRss><comments>http://blogs.technet.com/stefan_gossner/comments/3258541.aspx</comments><source url="http://blogs.technet.com/stefan_gossner/default.aspx">Stefan Goßner</source></item><item><title>Joel Oleson (SharePoint Guru) coming to Australia</title><link>http://feedproxy.google.com/~r/CodeJediNET/~3/Fkpex21FB4E/joel-oleson-sharepoint-guru-coming-to-australia.aspx</link><description>&lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Spend a morning with the Experts and master your SharePoint Strategy" border="0" alt="Spend a morning with the Experts and master your SharePoint Strategy" src="http://blogs.msdn.com/blogfiles/williamcornwill/WindowsLiveWriter/JoelOlesonSharePointGurucomingtoAustrali_100C0/clip_image002_a62e5205-32d2-47d6-b92e-58b15c29f63b.jpg" width="554" height="137" /&gt;&lt;/p&gt;  &lt;p&gt;Joel Oleson (ex SharePoint product team) is coming to Australia in July.&amp;#160; He has organised two morning sessions with local SharePoint experts, one in Sydney and one in Melbourne.&amp;#160;&amp;#160; I will be sitting in on Joel’s session in Melbourne and will also be hanging around as a panel expert.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="Joel Oleson" border="0" alt="Joel Oleson" src="http://blogs.msdn.com/blogfiles/williamcornwill/WindowsLiveWriter/JoelOlesonSharePointGurucomingtoAustrali_100C0/clip_image001%5B7%5D_1.jpg" width="104" height="144" /&gt;&lt;/p&gt;    &lt;p&gt;“Joel is a senior product manager and SharePoint evangelist at Quest where he is responsible for product direction and strategy. He is well known in the SharePoint community as an enthusiastic trainer, evangelist and architect and he maintains a popular blog. Prior to Quest, Joel worked at Microsoft and was a part of the first Microsoft global deployment of SharePoint. During his Microsoft tenure Joel helped various customers achieve the critical governance they needed to upgrade and achieve scale with SharePoint 2007. He would later design the extranet and hosted SharePoint deployments. &lt;a href="http://www.sharepointjoel.com"&gt;http://www.sharepointjoel.com&lt;/a&gt;”&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;Keynote:&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;10 Steps to successful SharePoint Deployments, Joel Oleson&lt;/li&gt;    &lt;li&gt;Preparing to upgrade to SharePoint 2010 today, Joel Oleson&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Sydney Guest Speakers:&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Email integration , storage and management in SharePoint, Kathy Hughes&lt;/li&gt;    &lt;li&gt;TBC, Adam Cogan&lt;/li&gt;    &lt;li&gt;Demo – SharePoint customisation and application development, John Ackery&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Melbourne Guest Speakers:&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Configure, Customise, Code, Elaine van Bergen&lt;/li&gt;    &lt;li&gt;Demo – SharePoint customisation and application development, John Ackery&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Plus, you can learn tips and best practices to help you overcome your most difficult SharePoint challenges during a panel discussion with &lt;strong&gt;SharePoint experts and bloggers. &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;a href="http://australia.quest.com/ecard-27083-5031-13"&gt;Space is limited so reserve your seat now!&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9797247" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/CodeJediNET?a=Fkpex21FB4E:ijM5k46VrWU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CodeJediNET?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CodeJediNET?a=Fkpex21FB4E:ijM5k46VrWU:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CodeJediNET?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CodeJediNET?a=Fkpex21FB4E:ijM5k46VrWU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CodeJediNET?i=Fkpex21FB4E:ijM5k46VrWU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CodeJediNET?a=Fkpex21FB4E:ijM5k46VrWU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CodeJediNET?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9797247</guid><pubDate>Mon, 22 Jun 2009 08:15:34 GMT</pubDate><author>Code Jedi</author><ng:modifiedDate>Mon, 22 Jun 2009 15:54:57 GMT</ng:modifiedDate><ng:postId>9909401545</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><category>MOSS</category><category>User Groups</category><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://blogs.msdn.com/williamcornwill/archive/2009/06/22/joel-oleson-sharepoint-guru-coming-to-australia.aspx</feedburner:origLink><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/williamcornwill/commentrss.aspx?PostID=9797247</wfw:commentRss><comments>http://blogs.msdn.com/williamcornwill/comments/9797247.aspx</comments><source url="http://blogs.msdn.com/williamcornwill/default.aspx">CodeJedi.NET</source></item><item><title>TechEd Australia 2009 - SharePoint on-premises or in the cloud?</title><link>http://feedproxy.google.com/~r/CodeJediNET/~3/GGmP8LOqpYA/teched-australia-2009-sharepoint-on-premises-or-in-the-cloud.aspx</link><description>&lt;p&gt;&lt;a href="http://www.msteched.com/australia/Public/default.aspx" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="Tech Ed Australia - Gold Coast - 8-11 September 2009" border="0" alt="Tech Ed Australia - Gold Coast - 8-11 September 2009" src="http://blogs.msdn.com/blogfiles/williamcornwill/WindowsLiveWriter/TechEdAustralia2009SharePointonpremiseso_F286/clip_image001_c1d20b3c-2f6c-4497-b915-23dab9bafbc7.jpg" width="321" height="62" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;How cold is it at the moment....brrrr!&amp;#160; Luckily Tech Ed Australia 2009 will be on the Gold Coast this year bring on the sunshine baby.&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Freezing Man" border="0" alt="Freezing Man" src="http://blogs.msdn.com/blogfiles/williamcornwill/WindowsLiveWriter/TechEdAustralia2009SharePointonpremiseso_F286/Freezing_man_3.jpg" width="148" height="194" /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Smiley Sunshine" border="0" alt="Smiley Sunshine" src="http://blogs.msdn.com/blogfiles/williamcornwill/WindowsLiveWriter/TechEdAustralia2009SharePointonpremiseso_F286/smiley%20sunshine_3.gif" width="190" height="194" /&gt; &lt;/p&gt;  &lt;p&gt;If I can manage to get off the beach and into the auditorium, this year I will be co-presenting a session with Lee Hickin on the differences between SharePoint on-premise and SharePoint Online part of the Business Productivity Online Suite (BPOS).&amp;#160; During the session we hope to provide the following information;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Learn SharePoint customisation techniques that will work in BPOS or on-premise&lt;/li&gt;    &lt;li&gt;Describe provisioning options for SharePoint – in-house, hosted, cloud&lt;/li&gt;    &lt;li&gt;Understand pros/cons for each model&lt;/li&gt;    &lt;li&gt;Demonstrate SharePoint designer and Office customisations to SharePoint&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;In order to make the session a little more interesting we would like to get some participation from the community so we are going to run a little competition.&amp;#160; We are going to get several community members to create a highly customised and funky SharePoint Online site which will be reviewed for originality, style, design and also what features from the online platform have been utilised.&lt;/p&gt;  &lt;p&gt;The winner of the competition will get to present their solution on stage during our session as well as getting a prize.&amp;#160; If you are interested in getting involved please register through the call for content as described on &lt;a href="http://blogs.msdn.com/acoat/archive/2009/05/06/tech-ed-australia-and-new-zealand-call-for-content.aspx"&gt;Andrew Coate’s blog&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Lee and I will work thru the list of people who register thru the Call For Content tool and let the eligible people know how to access their SharePoint Online site to start customising.&amp;#160; I am looking forward to seeing some really interesting sites come out of this.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9723544" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/CodeJediNET?a=GGmP8LOqpYA:uM7GNqMLDLg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CodeJediNET?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CodeJediNET?a=GGmP8LOqpYA:uM7GNqMLDLg:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CodeJediNET?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CodeJediNET?a=GGmP8LOqpYA:uM7GNqMLDLg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CodeJediNET?i=GGmP8LOqpYA:uM7GNqMLDLg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CodeJediNET?a=GGmP8LOqpYA:uM7GNqMLDLg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CodeJediNET?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9723544</guid><pubDate>Wed, 10 Jun 2009 07:15:01 GMT</pubDate><author>Code Jedi</author><ng:modifiedDate>Mon, 22 Jun 2009 15:54:57 GMT</ng:modifiedDate><ng:postId>9770833151</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><category>MOSS</category><category>TechEd</category><category>BPOS</category><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://blogs.msdn.com/williamcornwill/archive/2009/06/10/teched-australia-2009-sharepoint-on-premises-or-in-the-cloud.aspx</feedburner:origLink><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/williamcornwill/commentrss.aspx?PostID=9723544</wfw:commentRss><comments>http://blogs.msdn.com/williamcornwill/comments/9723544.aspx</comments><source url="http://blogs.msdn.com/williamcornwill/default.aspx">CodeJedi.NET</source></item><item><title>Bing Maps with Silverlight</title><link>http://markharrison.co.uk/blog/2009/06/bing-maps-with-silverlight.aspx</link><description>&lt;a href="http://bingmapsupdates.cloudapp.net/"&gt;http://bingmapsupdates.cloudapp.net/&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Bing Maps with Silverlight ... on the Azure platform .&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;With the launch of Bing the new decision engine from Microsoft, we've taken this opportunity to join up our mapping brands, and Microsoft Virtual Earth has changed to &lt;a href="http://www.microsoft.com/maps"&gt;Bing Maps for Enterprise&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;br /&gt;&lt;a href=http://markharrison.co.uk/blog&gt;Mark Harrison&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8710727437182293862-3071365944454906775?l=markharrison.co.uk%2Fblog%2Fdefault.aspx'/&gt;&lt;/div&gt;</description><guid isPermaLink="false">tag:blogger.com,1999:blog-8710727437182293862.post-3071365944454906775</guid><pubDate>Tue, 09 Jun 2009 22:42:00 GMT</pubDate><author>noreply@blogger.com (Mark)</author><ng:modifiedDate>Thu, 16 Jul 2009 02:24:05 GMT</ng:modifiedDate><ng:postId>9764476262</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><source url="http://markharrison.co.uk/blog/default.aspx">Mark Harrison 2009</source></item><item><title>Helping Fight Cancer</title><link>http://blogs.msdn.com/arpans/archive/2009/06/05/helping-fight-cancer.aspx</link><description>&lt;p&gt;Hello everyone! I signed up to participate &amp;amp; run in the Seattle LIVESTRONG Challenge later this June to help raise money for the fight against cancer. I know friends who have fought cancer &amp;amp; I’ve had close family who were victims of it. This year, I’m committed to do my small part to drive awareness and help raise some money for the Lance Armstrong Foundation. You can find more information about the foundation at &lt;a href="http://www.livestrong.org"&gt;http://www.livestrong.org&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I’m reaching out to folks to ask for a donation for this cause. Every dollar goes a long way! You can donate at &lt;a href="https://www.kintera.org/faf/donorReg/donorPledge.asp?ievent=294734&amp;amp;supId=255217075"&gt;https://www.kintera.org/faf/donorReg/donorPledge.asp?ievent=294734&amp;amp;supId=255217075&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Thanks!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9701456" width="1" height="1"&gt;</description><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9701456</guid><pubDate>Fri, 05 Jun 2009 15:10:44 GMT</pubDate><author>arpans</author><ng:modifiedDate>Fri, 05 Jun 2009 13:10:42 GMT</ng:modifiedDate><ng:postId>9722163389</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/arpans/commentrss.aspx?PostID=9701456</wfw:commentRss><comments>http://blogs.msdn.com/arpans/comments/9701456.aspx</comments><source url="http://blogs.msdn.com/arpans/default.aspx">Arpan Shah's Blog</source></item><item><title>Silverlight web application explaining all STSADM commands is now live</title><link>http://blogs.technet.com/stefan_gossner/archive/2009/06/04/silverlight-web-application-explaining-all-stsadm-commands-is-now-live.aspx</link><description>&lt;P&gt;Technet now hosts a technical reference for the available STSADM commands based on Silverlight. Beside a view that shows all the commands you can choose a view that only displays commands new in SP1 or SP2 or commands that offer operations which are not available in the UI.&lt;/P&gt;
&lt;P&gt;You can also change the view between operations view properties view.&lt;/P&gt;
&lt;P&gt;Check it out at &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://technet.microsoft.com/en-us/office/sharepointserver/cc948709.aspx" mce_href="http://technet.microsoft.com/en-us/office/sharepointserver/cc948709.aspx"&gt;http://technet.microsoft.com/en-us/office/sharepointserver/cc948709.aspx&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://technet.microsoft.com/en-us/windowsserver/sharepoint/dd418924.aspx"&gt;http://technet.microsoft.com/en-us/windowsserver/sharepoint/dd418924.aspx&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3250232" width="1" height="1"&gt;</description><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3250232</guid><pubDate>Thu, 04 Jun 2009 07:55:00 GMT</pubDate><author>Stefan_Gossner</author><ng:modifiedDate>Mon, 08 Jun 2009 07:12:45 GMT</ng:modifiedDate><ng:postId>9705070783</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><category>MOSS 2007 / WSS 3.0</category><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/stefan_gossner/commentrss.aspx?PostID=3250232</wfw:commentRss><comments>http://blogs.technet.com/stefan_gossner/comments/3250232.aspx</comments><source url="http://blogs.technet.com/stefan_gossner/default.aspx">Stefan Goßner</source></item><item><title>New Web Development Tutorial with VSeWSS 1.3</title><link>http://blogs.msdn.com/pandrew/archive/2009/05/29/new-web-development-tutorial-with-vsewss-1-3.aspx</link><description>&lt;p&gt;Just came across this tutorial for doing web page development and deploying them using VSeWSS 1.3&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://geeksconnected.com/jamil/Lists/Posts/Post.aspx?ID=19"&gt;http://geeksconnected.com/jamil/Lists/Posts/Post.aspx?ID=19&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9662719" width="1" height="1"&gt;</description><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9662719</guid><pubDate>Sat, 30 May 2009 04:05:00 GMT</pubDate><author>pandrew</author><ng:modifiedDate>Tue, 02 Jun 2009 16:55:50 GMT</ng:modifiedDate><ng:postId>9688854892</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/pandrew/rsscomments.aspx?PostID=9662719</wfw:comment><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/pandrew/commentrss.aspx?PostID=9662719</wfw:commentRss><comments>http://blogs.msdn.com/pandrew/comments/9662719.aspx</comments><source url="http://blogs.msdn.com/pandrew/default.aspx">Paul Andrew</source></item><item><title>Limitations of STSADM -o export/import related to publishing sites</title><link>http://blogs.technet.com/stefan_gossner/archive/2009/05/27/limitations-of-stsadm-o-export-import-related-to-publishing-sites.aspx</link><description>&lt;P&gt;STSADM -o export/import is often used to split site collections into multiple pieces when they reached a certain limit. Or to do the vice versa and consolidate multiple site collections into one larger one. Both of these actions work fine as long as the migrated content does not use the publishing feature.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;For site collections that make use of the publishing feature it is not supported to migrate root sites into sub sites or sub sites into root sites.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;The reason for this limitation is that the publishing feature stores vital information like page layouts but also various properties like information about variation, reusable content and so on in the root site of a site collection.&lt;/P&gt;
&lt;P&gt;When migrating a root site into a subsite the imported content will link to the new location of the previous root site. E.g. the page layout URLs will afterwards point to the page layouts library in the sub site and not of the root site which does not work as the publishing feature requires these items to be in the root site. So additional actions like moving the page layouts to the root site and adjusting all page layout urls would be required. Similar things would be required for variations and reusable content.&lt;/P&gt;
&lt;P&gt;On the other hand when migrating a sub site to a root site it gets even worse: in this situation important content which was stored in the root site of the site collection is no longer available as the sub site does not contain the necessary information as they haven't been exported in the first place. So after importing the subsite as new root site items based on the publishing feature will be non functional.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Be aware that this limitation will also affect sites with custom features which store information outside the current site.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Valid migration scenarios when using the publishing feature are the following:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;export the site collection starting at the root site and import as root site into a new site collection&lt;BR&gt;(using a custom application you can specify which sub sites to export if you would like to avoid to export all of them)&lt;/LI&gt;
&lt;LI&gt;export sub sites of the site collection and import them as sub sites into an existing&amp;nbsp;site collection that has the publishing feature enabled&lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3246081" width="1" height="1"&gt;</description><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3246081</guid><pubDate>Wed, 27 May 2009 07:15:00 GMT</pubDate><author>Stefan_Gossner</author><ng:modifiedDate>Wed, 27 May 2009 04:07:38 GMT</ng:modifiedDate><ng:postId>9633375934</ng:postId><ng:read>False</ng:read><ng:avgRating>0</ng:avgRating><ng:flagState>0</ng:flagState><ng:clipped>False</ng:clipped><category>MOSS 2007 / WSS 3.0</category><category>Content Deployment</category><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">9</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/stefan_gossner/commentrss.aspx?PostID=3246081</wfw:commentRss><comments>http://blogs.technet.com/stefan_gossner/comments/3246081.aspx</comments><source url="http://blogs.technet.com/stefan_gossner/default.aspx">Stefan Goßner</source></item></channel></rss>