<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"><channel><title>MSMVPS.COM</title><link>http://msmvps.com/blogs/</link><description>The Ultimate Destination for Blogs by Current and Former Microsoft Most Valuable Professionals.
</description><dc:language>en-US</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>Book review: the design and evolution of C++</title><link>http://msmvps.com/blogs/luisabreu/archive/2009/11/08/book-review-the-design-and-evolution-of-c.aspx</link><pubDate>Sun, 08 Nov 2009 13:53:18 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1738391</guid><dc:creator>luisabreu</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;I’ve just finished re-reading (I’ve read if for the first time around 2000) this fantastic &lt;a href="http://www.amazon.com/Design-Evolution-C-Bjarne-Stroustrup/dp/0201543303/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1257687662&amp;amp;sr=8-1"&gt;book&lt;/a&gt; which was written by &lt;a href="http://public.research.att.com/~bs/"&gt;Bjarne Stroustrup&lt;/a&gt;, who is the responsible for the design of C++. I haven’t used C++ professionally for over 6 years now! However, I’ve always been fascinated for its power and complexity and I do intend to start using it again really soon (btw, my first professional gig as a dev consisted in writing C++ code and that’s probably why I’ve got some affection for the language).&lt;/p&gt;  &lt;p&gt;One of the reasons I enjoy this kind of book is because I’m always curious to understand why option A was preferred over B for a specific feature. And &lt;a href="http://public.research.att.com/~bs/"&gt;Bjarne&lt;/a&gt; does an excellent work on that area with this &lt;a href="http://www.amazon.com/Design-Evolution-C-Bjarne-Stroustrup/dp/0201543303/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1257687662&amp;amp;sr=8-1"&gt;book&lt;/a&gt;. He goes all the way back to the roots of C++ (I’m too young to remember it being called C with classes) and explains all the rationale that is behind all the major decisions taken during C++ design and evolution. If you’re looking for a book that teaches you how to program with C++, then this isn’t really for you. However, if you’re puzzled about some C++ feature or if you think that something shouldn’t really work the way it does, then this book is for you (I’m positive that you’ll see that your idea wouldn’t really work in some specific scenario which gets used by 0.05% of the guys that use C++ :) ).&lt;/p&gt;  &lt;p&gt;My score: 9/10.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1738391" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/luisabreu/archive/tags/Books/default.aspx">Books</category></item><item><title>Windows Update Error 80072EE2 - Hyper-V Guest issues....</title><link>http://msmvps.com/blogs/thenakedmvp/archive/2009/11/08/windows-update-error-80072ee2-hyper-v-guest-issues.aspx</link><pubDate>Sun, 08 Nov 2009 13:15:51 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1738381</guid><dc:creator>NickWhittome</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Over this weekend I have had to quickly build a Virtual SBS2008 server for one of my clients.&amp;nbsp;&amp;nbsp; I came across an interesting issue which took me a while to figure out, so I am plonking it up here on the blog so that others that may come across the problem will find it quicker.&lt;/p&gt;
&lt;p&gt;A quick description of the setup.&lt;/p&gt;
&lt;p&gt;Dell Poweredge Server, Onboard Broadcom Netxtreme II network card, Addon gigabit NIC from SMC networks (Realtek chipset).&amp;nbsp;&amp;nbsp; Windows 2008 R2 is on the HyperV Host.&amp;nbsp; SBS2008 is installed as the only Guest on the HyperV setup.&amp;nbsp;&amp;nbsp; This is all behind a Sonicwall NSA240 on a dedicated LAN network.&lt;/p&gt;
&lt;p&gt;The SBS2008 Virtual machine would not update from Windows Update and the log file (c:\windows\windowsupdate.log) was showing a lot of errors with the code 80072EE2.&amp;nbsp;&amp;nbsp; When you search for this on the internet it makes mention of reinstalling the various DLL&amp;rsquo;s involved with Windows Update, and also ensuring that your network settings are not blocking connections to the Windows Update servers.&amp;nbsp;&amp;nbsp; None of these suggestions helped me.&lt;/p&gt;
&lt;p&gt;So, I decided to do some packet captures on the network whilst Windows Update was running.&amp;nbsp;&amp;nbsp; It turned out that every time Windows Update ran on the SBS Virtual Machine, it could no longer ping the default gateway (yet the host machine could).&amp;nbsp;&amp;nbsp; This pointed me back to the network cards&amp;hellip;.&lt;br /&gt;&lt;br /&gt;What I found odd about this is that I had already installed the latest drivers for the Broadcom and the Realtek chipsets.&amp;nbsp; I had also disabled the various offloading options on the physical&amp;nbsp;network cards to see if that would help, but no change.&lt;/p&gt;
&lt;p&gt;However, after a coffee, I realised that I was missing one step&amp;hellip;&amp;nbsp;&amp;nbsp;&amp;nbsp; the step that fixed this problem was:&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;strong&gt;I disabled the Offload options on the Microsoft Virtual Network card on the SBS Host, and as soon as I did that, Windows update started to work.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img border="0" hspace="5" alt="Offload" vspace="5" align="left" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/thenakedmvp.metablogapi/0827.offload_5F00_small.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Hopefully this may help some one save a few hours &lt;img src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/thenakedmvp.metablogapi/5040.smile1.gif" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1738381" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/thenakedmvp/archive/tags/Small+Business+Server/default.aspx">Small Business Server</category><category domain="http://msmvps.com/blogs/thenakedmvp/archive/tags/Windows+Server+Update+Services/default.aspx">Windows Server Update Services</category><category domain="http://msmvps.com/blogs/thenakedmvp/archive/tags/Microsoft/default.aspx">Microsoft</category></item><item><title>The DataContext component: creating entities</title><link>http://msmvps.com/blogs/luisabreu/archive/2009/11/08/the-datacontext-component-creating-entities.aspx</link><pubDate>Sun, 08 Nov 2009 12:53:11 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1738378</guid><dc:creator>luisabreu</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Before we can move on and take a look at the AdoNetDataContext component, we need to talk about one more topic: creating entities and how it might be integrated with DataContext component. The DataContext exposes a createEntity method which can be used for&amp;#160; creating new objects of a specific type. Internally, that method will always delegate the creation of a new entity to the function to which the createEntityMethod property points to.&lt;/p&gt;  &lt;p&gt;As you’re probably wondering, this is something you’ll only need to configure if you need to use the DataContext features associated with identity (and even in that case, setting the createEntityMethod is optional if you’ve set the getNewIdentityMethod property). &lt;/p&gt;  &lt;p&gt;The createEntityMethod property should reference a function which receives two parameters (a DataContext reference and a string with the “type” of the object that should be created) and initializes the metadata necessary for tracking that object. If you recall the previous posts, you’ll surely &lt;a href="http://msmvps.com/blogs/luisabreu/archive/2009/11/04/the-datacontext-component-improving-the-identity-algorithm.aspx"&gt;remember&lt;/a&gt; that we’ve added an internal __meta property to all the objects stored by the DataContext instance. &lt;/p&gt;  &lt;p&gt;We could improve our DataContext used &lt;a href="http://msmvps.com/blogs/luisabreu/archive/2009/11/04/the-datacontext-component-improving-the-identity-algorithm.aspx"&gt;at the time&lt;/a&gt; by setting the createEntityMethod to a function which initializes the metadata associated to that object. Here’s how I’d augment the entityManager we’ve been using with a new method used for creating new entities:&lt;/p&gt;  &lt;pre style="background-color:black;" class="code"&gt;&lt;span style="color:#a79a86;"&gt;createNewEntity: &lt;/span&gt;&lt;span style="color:#a89a86;"&gt;function &lt;/span&gt;&lt;span style="color:#a79a86;"&gt;(dataContext, entitySet) {
    &lt;/span&gt;&lt;span style="color:#a89a86;"&gt;var &lt;/span&gt;&lt;span style="color:#a79a86;"&gt;obj = {};
    entityManager.getNewIdentity(dataContext, obj, entitySet);
    &lt;/span&gt;&lt;span style="color:#a89a86;"&gt;return &lt;/span&gt;&lt;span style="color:#a79a86;"&gt;obj;
}&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;As you can see, we’re simply relying in the getNewIdentity method because it is responsible for setting the __meta object used for that purpose. Referencing entityManager instead of this might seem little strange at first, but that’s needed because the DataContext won’t call the reference through the entityManager instance (it will simply call the function through the reference it got to it during initialization:&lt;/p&gt;

&lt;pre style="background-color:black;" class="code"&gt;&lt;span style="color:#a89a86;"&gt;var &lt;/span&gt;&lt;span style="color:#a79a86;"&gt;ctx = Sys.create.dataContext(
  {
      serviceUri: &lt;/span&gt;&lt;span style="color:#44b1e3;"&gt;&amp;quot;PeopleService.svc&amp;quot;&lt;/span&gt;&lt;span style="color:#a79a86;"&gt;,
      getIdentityMethod: entityManager.getEntityId,
      getNewIdentityMethod: entityManager.getNewIdentity,
      isDeferredPropertyMethod: entityManager.isDeferredProperty,
      getDeferredPropertyFetchOperationMethod: &lt;br /&gt;                                 entityManager.getDeferredProperty,
      createEntityMethod: entityManager.createNewEntity
  }
);&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;And that’s it. There’s really not much to say about the createEntity method. Stay tuned for more on MS AJAX.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1738378" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/luisabreu/archive/tags/MS+AJAX/default.aspx">MS AJAX</category><category domain="http://msmvps.com/blogs/luisabreu/archive/tags/Javascript/default.aspx">Javascript</category></item><item><title>McAfee - New Corporate and Home Support Forums</title><link>http://msmvps.com/blogs/harrywaldron/archive/2009/11/08/mcafee-new-corporate-and-home-support-forums.aspx</link><pubDate>Sun, 08 Nov 2009 12:27:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1738377</guid><dc:creator>Harry Waldron</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;img src="http://msmvps.com/emoticons/emotion-30.gif" alt="Star" /&gt; In 1997, our company adopted McAfee as an AV standard for all PCs and servers.&amp;nbsp; Even durng these early years for the Internet, they were one of the 1st AV Vendors to use public forums to leverage support costs.&amp;nbsp; I&amp;#39;ve been a member of these forums for over a dozen years, primarily sharing security news and safe practices.&amp;nbsp; In November 2009, McAfee implemented a state-of-the-art community forum environment, which includes home and corporate product support forums, security awareness forums, and other resources.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;img src="http://msmvps.com/emoticons/emotion-47.gif" alt="Person" /&gt; &lt;strong&gt;NOW LIVE! McAfee Online Support Community&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://www.avertlabs.com/research/blog/index.php/2009/11/04/now-live-mcafee-online-support-community/"&gt;http://www.avertlabs.com/research/blog/index.php/2009/11/04/now-live-mcafee-online-support-community/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;QUOTE:&lt;/strong&gt; The McAfee Online Support Community gives you a way to interact with other McAfee business users to ask questions and share best practices. Additionally, you&amp;rsquo;ll be able to talk with McAfee professionals about McAfee products, security awareness issues, and emerging trends &amp;mdash; plus give us feedback on product and service enhancements.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://msmvps.com/emoticons/emotion-47.gif" alt="Person" /&gt; &lt;strong&gt;McAfee - Home Page for New Community Forums&lt;br /&gt;&lt;/strong&gt;&lt;a href="http://community.mcafee.com/"&gt;http://community.mcafee.com/&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1738377" width="1" height="1"&gt;</description></item><item><title>Multiple test files</title><link>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/08/multiple-test-files.aspx</link><pubDate>Sun, 08 Nov 2009 11:03:12 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1738368</guid><dc:creator>RichardSiddaway</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Back here &lt;a title="http://msmvps.com/blogs/richardsiddaway/archive/2009/11/05/creating-temporary-files.aspx" href="http://msmvps.com/blogs/richardsiddaway/archive/2009/11/05/creating-temporary-files.aspx"&gt;http://msmvps.com/blogs/richardsiddaway/archive/2009/11/05/creating-temporary-files.aspx&lt;/a&gt; or &lt;a title="http://richardsiddaway.spaces.live.com/blog/cns!43CFA46A74CF3E96!2595.entry" href="http://richardsiddaway.spaces.live.com/blog/cns!43CFA46A74CF3E96!2595.entry"&gt;http://richardsiddaway.spaces.live.com/blog/cns!43CFA46A74CF3E96!2595.entry&lt;/a&gt; I showed how to create temporary test files.&lt;/p&gt;  &lt;p&gt;We can simply create multiple test files like this&lt;/p&gt;  &lt;p&gt;1..10 | foreach {new-tempfile -path c:\test\test1 -size $(Get-Random -Maximum 1mb -Minimum 1kb)}&lt;/p&gt;  &lt;p&gt;A one line PowerShell script that generates 10 files in the given folder with random names and sizes.&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:0767317B-992E-4b12-91E0-4F059A8CECA8:a007594e-76a6-46cc-b742-f4051ac8ad8e" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell+v2" rel="tag"&gt;PowerShell v2&lt;/a&gt;,&lt;a href="http://technorati.com/tags/files" rel="tag"&gt;files&lt;/a&gt;,&lt;a href="http://technorati.com/tags/temporary" rel="tag"&gt;temporary&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1738368" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/Powershell/default.aspx">Powershell</category><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/PowerShell+V2/default.aspx">PowerShell V2</category></item><item><title>Migration Step Nine:  Check the health of Exchange</title><link>http://msmvps.com/blogs/bradley/archive/2009/11/07/migration-step-nine-check-the-health-of-exchange.aspx</link><pubDate>Sun, 08 Nov 2009 06:02:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1738354</guid><dc:creator>bradley</dc:creator><slash:comments>0</slash:comments><description>&lt;p class="MsoListParagraphCxSpFirst"&gt;&lt;span style="font-family:Webdings;mso-fareast-font-family:Webdings;mso-bidi-font-family:Webdings;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;
&lt;p class="MsoListParagraphCxSpFirst"&gt;&lt;span style="font-family:Webdings;mso-fareast-font-family:Webdings;mso-bidi-font-family:Webdings;"&gt;&lt;span style="mso-list:Ignore;"&gt;c&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;Optimize Exchange Server and mailboxes.&lt;/b&gt; Follow the instructions on pages 16 through 17 in the Microsoft migration document.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="font-family:Webdings;mso-fareast-font-family:Webdings;mso-bidi-font-family:Webdings;"&gt;&lt;span style="mso-list:Ignore;"&gt;c&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Calibri;"&gt;Empty the Deleted Items folder.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast"&gt;&lt;span style="font-family:Webdings;mso-fareast-font-family:Webdings;mso-bidi-font-family:Webdings;"&gt;&lt;span style="mso-list:Ignore;"&gt;c&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Calibri;"&gt;Archive older mail&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:x-small;font-family:Arial;"&gt;It can take a long time to migrate large Exchange Server mailboxes. It will take less time if you reduce the size of the mailboxes before the migration. To help reduce the size of the mailboxes, ask each of the users to do the following:&lt;/span&gt;&lt;/p&gt;
&lt;p class="BulletedList1"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Symbol;"&gt;&amp;middot;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span class="Bold"&gt;&lt;strong&gt;&lt;span style="font-family:Arial;"&gt;Empty the Deleted Items folder&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="BulletedList1"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-family:Symbol;"&gt;&amp;middot;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span class="Bold"&gt;&lt;strong&gt;&lt;span style="font-family:Arial;"&gt;Archive older mail&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:x-small;font-family:Arial;"&gt;For additional information about optimizing Exchange Server, see the Exchange Best Practices Analyzer at the &lt;/span&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=101795"&gt;&lt;span style="font-size:x-small;color:#0000ff;font-family:Arial;"&gt;Microsoft Web site&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:x-small;font-family:Arial;"&gt; (http://go.microsoft.com/fwlink/?LinkID=101795).&lt;/span&gt;&lt;/p&gt;
&lt;p class="ProcedureTitle"&gt;&lt;a name="z1"&gt;&lt;/a&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:x-small;font-family:Arial;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="font-size:x-small;font-family:Arial;"&gt;To empty the Deleted Items folder&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst"&gt;
&lt;table border="0" cellpadding="0" cellspacing="0" style="margin:auto auto auto 0.25in;border-collapse:collapse;mso-yfti-tbllook:480;mso-padding-alt:0in 0in 0in 0in;" class="MsoNormalTable"&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes;"&gt;
&lt;td width="590" valign="top" style="width:6.15in;background-color:transparent;border:#f0f0f0;padding:0in;"&gt;
&lt;p class="NumberedList1"&gt;&lt;span style="font-size:x-small;"&gt;1.&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;In the Microsoft Office Outlook&amp;reg; messaging client, click &lt;span class="UI"&gt;&lt;strong&gt;Tools&lt;/strong&gt;&lt;/span&gt; in the toolbar, and then click &lt;span class="UI"&gt;&lt;strong&gt;Empty &amp;quot;Deleted Items&amp;quot; Folder&lt;/strong&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p class="NumberedList1"&gt;&lt;span style="font-size:x-small;"&gt;2.&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Click &lt;span class="UI"&gt;&lt;strong&gt;Yes&lt;/strong&gt;&lt;/span&gt; on the warning dialog box.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p class="ProcedureTitle"&gt;&lt;a name="z2"&gt;&lt;/a&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="font-size:x-small;font-family:Arial;"&gt;To archive older mail&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst"&gt;
&lt;table border="0" cellpadding="0" cellspacing="0" style="margin:auto auto auto 0.25in;border-collapse:collapse;mso-yfti-tbllook:480;mso-padding-alt:0in 0in 0in 0in;" class="MsoNormalTable"&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes;"&gt;
&lt;td width="590" valign="top" style="width:6.15in;background-color:transparent;border:#f0f0f0;padding:0in;"&gt;
&lt;p class="NumberedList1"&gt;&lt;span style="font-size:x-small;"&gt;1.&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;In Outlook, click &lt;span class="UI"&gt;&lt;strong&gt;File&lt;/strong&gt;&lt;/span&gt; in the toolbar, and then click &lt;span class="UI"&gt;&lt;strong&gt;Archive&lt;/strong&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p class="NumberedList1"&gt;&lt;span style="font-size:x-small;"&gt;2.&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;In the Archive dialog box, click the down arrow in the &lt;span class="UI"&gt;&lt;strong&gt;Archive items older than&lt;/strong&gt;&lt;/span&gt; text box.&lt;/span&gt;&lt;/p&gt;
&lt;p class="AlertLabelinList1"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="font-size:x-small;"&gt;Note &lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="AlertTextinList1"&gt;&lt;span style="font-size:x-small;"&gt;You must tell the users what date to select in the calendar that appears.&lt;/span&gt;&lt;/p&gt;
&lt;p class="NumberedList1"&gt;&lt;span style="font-size:x-small;"&gt;3.&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;If you want to make sure that all the older mail is included, select the &lt;span class="UI"&gt;&lt;strong&gt;Include items with &amp;quot;do not AutoArchive&amp;quot; checked&lt;/strong&gt;&lt;/span&gt; check box.&lt;/span&gt;&lt;/p&gt;
&lt;p class="NumberedList1"&gt;&lt;span style="font-size:x-small;"&gt;4.&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Click &lt;span class="UI"&gt;&lt;strong&gt;Archive all folders according to the AutoArchive settings&lt;/strong&gt;&lt;/span&gt; at the top of the dialog box.&lt;/span&gt;&lt;/p&gt;
&lt;p class="NumberedList1"&gt;&lt;span style="font-size:x-small;"&gt;5.&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Click &lt;span class="UI"&gt;&lt;strong&gt;OK&lt;/strong&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p class="TextinList1"&gt;&lt;span style="font-size:x-small;"&gt;In Windows&amp;nbsp;XP, the older mail is moved to the archive.pst file in C:\Documents and Settings\&amp;lt;user name&amp;gt;\Local Settings\Application Data\Microsoft\Outlook folder.&lt;/span&gt;&lt;/p&gt;
&lt;p class="TextinList1"&gt;&lt;span style="font-size:x-small;"&gt;In the Windows Vista&amp;reg; operating system, the older mail is moved to the archive.pst file in C:\Users\&amp;lt;user name&amp;gt;\AppData\Local\Microsoft\Outlook folder.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst"&gt;&lt;span style="font-size:11pt;line-height:115%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-fareast-font-family:Calibri;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;
&lt;p&gt;Well since this is my test run, I will suck this up and not do this step, but in the real migration about a week before the real migration, I&amp;#39;m going to remind folks of the tasks they should have been doing all along...that is keeping their mailboxes clean.&lt;/p&gt;
&lt;p&gt;Now Amy Babinchak and Philip Elder recommend to defrag the exchange databases:&lt;/p&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The following can be done to test the health of the Exchange databases at the command prompt and with the stores dismounted (&lt;em&gt;remember to backup&lt;/em&gt;): &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MS KB192185: &lt;a href="http://support.microsoft.com/default.aspx/kb/192185"&gt;&lt;span style="color:#f2984c;"&gt;How to defragment with the Eseutil utility (Eseutil.exe)&lt;/span&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;TechNet: &lt;a href="http://technet.microsoft.com/en-us/library/aa998737(EXCHG.65).aspx"&gt;&lt;span style="color:#f2984c;"&gt;Eseutil /G Integrity Mode&lt;/span&gt;&lt;/a&gt;. &lt;/li&gt;
&lt;li&gt;TechNet: &lt;a href="http://technet.microsoft.com/en-us/library/aa996773(EXCHG.65).aspx"&gt;&lt;span style="color:#f2984c;"&gt;Eseutil /P Repair Mode&lt;/span&gt;&lt;/a&gt;. &lt;/li&gt;
&lt;li&gt;MS KB301460: &lt;a href="http://support.microsoft.com/kb/301460/"&gt;&lt;span style="color:#f2984c;"&gt;Exchange Command-Line Parameters for Isinteg.exe Tool&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So here&amp;#39;s what I&amp;#39;m going to do:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In Exchange System Manager, right-click the information store that you want to defragment, and then click &lt;b&gt;Dismount Store&lt;/b&gt;. &lt;/li&gt;
&lt;li&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/5661.dismount.PNG"&gt;&lt;img border="0" src="http://msmvps.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/5661.dismount.PNG" alt="" /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Now that the databases are stopped you can make a copy of these files (just in case)&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/4130.esebackup.PNG"&gt;&lt;img border="0" src="http://msmvps.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/4130.esebackup.PNG" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In my case I have these on another drive, you may see these on your C: drive.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;At the command prompt, change to the Exchsrvr\Bin folder, and then type the &lt;b&gt;eseutil /d&lt;/b&gt; command, a database switch, and any options that you want to use.&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/7824.eseutil.PNG"&gt;&lt;img border="0" src="http://msmvps.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/7824.eseutil.PNG" alt="" /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;This will take some time.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst"&gt;
&lt;p&gt;And then it will indicate it&amp;#39;s done.&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/7271.done.PNG"&gt;&lt;img border="0" src="http://msmvps.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/7271.done.PNG" alt="" /&gt;&lt;/a&gt;&lt;br style="mso-special-character:line-break;" /&gt;&lt;br style="mso-special-character:line-break;" /&gt;And don&amp;#39;t forgot at the end to go remount the store&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/7418.mount.PNG"&gt;&lt;img border="0" src="http://msmvps.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/7418.mount.PNG" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1738354" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bradley/archive/tags/Migration/default.aspx">Migration</category></item><item><title>Migration Step Eight:  Raising the functional level of AD</title><link>http://msmvps.com/blogs/bradley/archive/2009/11/07/migration-step-eight-raising-the-functional-level-of-ad.aspx</link><pubDate>Sun, 08 Nov 2009 05:50:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1738350</guid><dc:creator>bradley</dc:creator><slash:comments>0</slash:comments><description>&lt;p style="margin:0in 0in 10pt 0.5in;text-indent:-0.25in;mso-list:l0 level1 lfo1;" class="MsoListParagraph"&gt;&lt;span style="font-family:Webdings;mso-fareast-font-family:Webdings;mso-bidi-font-family:Webdings;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;c&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;Raise the functional level of the Active Directory domain and forest.&lt;/b&gt; Follow the instructions on pages 12 through 14 in the Microsoft migration document.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;To be fair this probably should have been done sooner in the steps, but it&amp;#39;s still in the prelim phase and before we&amp;#39;ve started the install of SBS 2008 so we&amp;#39;re still during the time phase appropriate to this.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/5732.page12.PNG"&gt;&lt;img border="0" src="http://msmvps.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/5732.page12.PNG" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Download details: Windows SBS 2003 to 2008 Migration Guide: &lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=52b7ea63-78af-4a96-811e-284f5c1de13b&amp;amp;DisplayLang=en"&gt;&lt;span style="color:#0000cc;"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=52b7ea63-78af-4a96-811e-284f5c1de13b&amp;amp;DisplayLang=en&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;On page 12-14 of that document is the instructions to change the functional level.&lt;/p&gt;
&lt;p style="margin:12pt 0in 3pt 0.25in;" class="ProcedureTitle"&gt;&lt;strong&gt;&lt;span style="font-size:x-small;"&gt;To raise the functional level of the domain&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
&lt;table border="0" cellpadding="0" cellspacing="0" style="margin:auto auto auto 0.25in;border-collapse:collapse;mso-yfti-tbllook:480;mso-padding-alt:0in 0in 0in 0in;" class="MsoNormalTable"&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes;"&gt;
&lt;td width="590" valign="top" style="width:6.15in;background-color:transparent;border:#f0f0f0;padding:0in;"&gt;
&lt;p style="margin:3pt 0in 3pt 0.25in;mso-list:none;tab-stops:.25in;" class="NumberedList1"&gt;&lt;span style="font-size:x-small;"&gt;1.&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;On the Source Server, click &lt;span class="UI"&gt;&lt;strong&gt;Start&lt;/strong&gt;&lt;/span&gt;, point to &lt;span class="UI"&gt;&lt;strong&gt;Administrative Tools&lt;/strong&gt;&lt;/span&gt;, and then click &lt;span class="UI"&gt;&lt;strong&gt;Active Directory Domains and Trust&lt;/strong&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:3pt 0in 3pt 0.25in;mso-list:none;tab-stops:.25in;" class="NumberedList1"&gt;&lt;span style="font-size:x-small;"&gt;2.&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;In the console pane, right-click the domain for which you want to raise the functional level, and then click &lt;span class="UI"&gt;&lt;strong&gt;Raise Domain Functional Level&lt;/strong&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:6pt 0in 0pt 0.25in;" class="AlertLabelinList1"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="font-size:x-small;"&gt;Note &lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin:3pt 0.25in 3pt 0.5in;" class="AlertTextinList1"&gt;&lt;span style="font-size:x-small;"&gt;The current domain functional level is displayed in &lt;span class="UI"&gt;&lt;strong&gt;Current domain functional level&lt;/strong&gt;&lt;/span&gt;, in the &lt;span class="UI"&gt;&lt;strong&gt;Raise Domain Functional Level&lt;/strong&gt;&lt;/span&gt; dialog box.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:3pt 0in 3pt 0.25in;mso-list:none;tab-stops:.25in;" class="NumberedList1"&gt;&lt;span style="font-size:x-small;"&gt;3.&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;In &lt;span class="UI"&gt;&lt;strong&gt;Select an available domain functional level&lt;/strong&gt;&lt;/span&gt;, click &lt;span class="UI"&gt;&lt;strong&gt;Windows Server&amp;nbsp;2003&lt;/strong&gt;&lt;/span&gt;, click &lt;span class="UI"&gt;&lt;strong&gt;Raise&lt;/strong&gt;&lt;/span&gt;, and then click &lt;span class="UI"&gt;&lt;strong&gt;OK&lt;/strong&gt;&lt;/span&gt; in the warning dialog box.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/1134.adchange.PNG"&gt;&lt;img border="0" src="http://msmvps.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/1134.adchange.PNG" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/8715.adchange2.PNG"&gt;&lt;img border="0" src="http://msmvps.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/8715.adchange2.PNG" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Now we do the forest....&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/4628.adraise3.PNG"&gt;&lt;img border="0" src="http://msmvps.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/4628.adraise3.PNG" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/2350.adraise4.PNG"&gt;&lt;img border="0" src="http://msmvps.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/2350.adraise4.PNG" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/3252.adchange2.PNG"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:12pt 0in 3pt 0.25in;" class="ProcedureTitle"&gt;&lt;strong&gt;&lt;span style="font-size:x-small;"&gt;To raise the functional level of the forest&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
&lt;table border="0" cellpadding="0" cellspacing="0" style="margin:auto auto auto 0.25in;border-collapse:collapse;mso-yfti-tbllook:480;mso-padding-alt:0in 0in 0in 0in;" class="MsoNormalTable"&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes;"&gt;
&lt;td width="590" valign="top" style="width:6.15in;background-color:transparent;border:#f0f0f0;padding:0in;"&gt;
&lt;p style="margin:3pt 0in 3pt 0.25in;mso-list:none;tab-stops:.25in;" class="NumberedList1"&gt;&lt;span style="font-size:x-small;"&gt;1.&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;On the Source Server, click &lt;span class="UI"&gt;&lt;strong&gt;Start&lt;/strong&gt;&lt;/span&gt;, point to &lt;span class="UI"&gt;&lt;strong&gt;Administrative Tools&lt;/strong&gt;&lt;/span&gt;, and then click &lt;span class="UI"&gt;&lt;strong&gt;Active Directory Domains and Trust&lt;/strong&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:3pt 0in 3pt 0.25in;mso-list:none;tab-stops:.25in;" class="NumberedList1"&gt;&lt;span style="font-size:x-small;"&gt;2.&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;In the console pane, right-click &lt;span class="UI"&gt;&lt;strong&gt;Active Directory Domains and Trusts&lt;/strong&gt;&lt;/span&gt;, and then click &lt;span class="UI"&gt;&lt;strong&gt;Raise Forest Functional Level&lt;/strong&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:6pt 0in 0pt 0.25in;" class="AlertLabelinList1"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="font-size:x-small;"&gt;Note &lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin:3pt 0.25in 3pt 0.5in;" class="AlertTextinList1"&gt;&lt;span style="font-size:x-small;"&gt;The current forest functional level is displayed in &lt;span class="UI"&gt;&lt;strong&gt;Current forest functional level&lt;/strong&gt;&lt;/span&gt;, in the &lt;span class="UI"&gt;&lt;strong&gt;Raise Forest Functional Level&lt;/strong&gt;&lt;/span&gt; dialog box.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:3pt 0in 3pt 0.25in;mso-list:none;tab-stops:.25in;" class="NumberedList1"&gt;&lt;span style="font-size:x-small;"&gt;3.&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;In &lt;span class="UI"&gt;&lt;strong&gt;Select an available forest functional level&lt;/strong&gt;&lt;/span&gt;, click &lt;span class="UI"&gt;&lt;strong&gt;Windows Server&amp;nbsp;2003&lt;/strong&gt;&lt;/span&gt;, click &lt;span class="UI"&gt;&lt;strong&gt;Raise&lt;/strong&gt;&lt;/span&gt;, and then click &lt;span class="UI"&gt;&lt;strong&gt;OK&lt;/strong&gt;&lt;/span&gt; in the warning dialog box.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:3pt 0in 3pt 0.25in;mso-list:none;tab-stops:.25in;" class="NumberedList1"&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:3pt 0in 3pt 0.25in;mso-list:none;tab-stops:.25in;" class="NumberedList1"&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p style="margin:0in 0in 10pt 0.5in;text-indent:-0.25in;mso-list:l0 level1 lfo1;" class="MsoListParagraph"&gt;&lt;br style="mso-special-character:line-break;" /&gt;&lt;br style="mso-special-character:line-break;" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1738350" width="1" height="1"&gt;</description></item><item><title>Just a reminder of all of the key migration resources</title><link>http://msmvps.com/blogs/bradley/archive/2009/11/07/just-a-reminder-of-all-of-the-key-migration-resources.aspx</link><pubDate>Sun, 08 Nov 2009 04:43:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1738344</guid><dc:creator>bradley</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Just a reminder of all of the key migration resources that I&amp;#39;ll be referring to and using during these blog posts/dry run of migation that I&amp;#39;m doing.&lt;/p&gt;
&lt;p&gt;That first url -- &lt;a href="http://www.sbsmigrationtips.com"&gt;www.sbsmigrationtips.com&lt;/a&gt; is actually a key SBS blog post entry that I got lazy enough to get a url redirect so I could find that blog post.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Then there is Philip&amp;#39;s blog post -- MPECS Inc. Blog: SBS 2003 to SBS 2008 Migration Guide &amp;ndash; v1.4.0: &lt;br /&gt;&lt;a href="http://blog.mpecsinc.ca/2009/06/sbs-2003-to-sbs-2008-migration-guide.html"&gt;http://blog.mpecsinc.ca/2009/06/sbs-2003-to-sbs-2008-migration-guide.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Then the key official documents you need:&lt;/p&gt;
&lt;p&gt;Download details: SBS 2008 Migration Checklist: &lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=F67148DA-CBA8-4222-8AE5-136A6597A340&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=F67148DA-CBA8-4222-8AE5-136A6597A340&amp;amp;displaylang=en&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Download details: Windows SBS 2008 Migration Help: &lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=95E4863E-BB59-4A66-9FEE-9874E8903888&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=95E4863E-BB59-4A66-9FEE-9874E8903888&amp;amp;displaylang=en&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Download details: Windows SBS 2003 to 2008 Migration Guide: &lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=52b7ea63-78af-4a96-811e-284f5c1de13b&amp;amp;DisplayLang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=52b7ea63-78af-4a96-811e-284f5c1de13b&amp;amp;DisplayLang=en&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;MPECS Inc. Blog: SBS 2003 to SBS 2008 Migration Guide &amp;ndash; v1.4.0: &lt;br /&gt;&lt;a href="http://blog.mpecsinc.ca/2009/06/sbs-2003-to-sbs-2008-migration-guide.html"&gt;http://blog.mpecsinc.ca/2009/06/sbs-2003-to-sbs-2008-migration-guide.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1738344" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bradley/archive/tags/Migration+Extras/default.aspx">Migration Extras</category></item><item><title>Migration Step Seven:  Checking Exchange is ready to go</title><link>http://msmvps.com/blogs/bradley/archive/2009/11/07/migration-step-seven-checking-exchange-is-ready-to-go.aspx</link><pubDate>Sun, 08 Nov 2009 04:34:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1738349</guid><dc:creator>bradley</dc:creator><slash:comments>0</slash:comments><description>&lt;h5&gt;&lt;span style="font-size:x-small;"&gt;We&amp;#39;re back on our Migration blog post series (hint all of the Migration blog posts are tagged with &amp;quot;Migration&amp;quot; for easy reference).&lt;/span&gt;&lt;/h5&gt;
&lt;h5&gt;&lt;span style="font-size:x-small;"&gt;And now we&amp;#39;re going to check and make sure our Exchange is ready to go:&lt;/span&gt;&lt;/h5&gt;
&lt;h5&gt;&lt;/h5&gt;
&lt;p&gt;&lt;em&gt;I.&amp;nbsp; In the source domain, check for the existence of an account named Postmaster.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;SBS setup tries to create a Distribution List with the SAM account name of Postmaster. If it already exists, you will receive the following errors at the end of setup.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;em&gt;Setup errors due to an existing Postmaster account:&lt;/em&gt;&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;The e-mail distribution groups cannot be created. &lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Incoming and outgoing e-mail for Windows SharePoint Services are not configured. &lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Incoming and outgoing e-mail for Windows SharePoint Services are not configured. &lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;To fix this, you will need to restore the source server, rename the Postmaster account and start the migration all over again.&amp;nbsp; Alternatively you can complete the steps listed in &lt;/em&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc626214(WS.10).aspx"&gt;&lt;em&gt;http://technet.microsoft.com/en-us/library/cc626214(WS.10).aspx&lt;/em&gt;&lt;/a&gt;&lt;em&gt; and &lt;/em&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc626120(WS.10).aspx"&gt;&lt;em&gt;http://technet.microsoft.com/en-us/library/cc626120(WS.10).aspx&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Now while I have &lt;a href="mailto:postmaster@domain.com"&gt;postmaster@domain.com&lt;/a&gt; addresses underneath the Administrator account, these are not what this tip is talking about.&amp;nbsp; They are looking for a specific Postmaster user account, not the Postmaster email account.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;J.&amp;nbsp; Check Exchange 2003 policies:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Existing Mailbox Management policies &lt;/li&gt;
&lt;li&gt;Duplicate SMTP addresses in recipient policies &lt;/li&gt;
&lt;li&gt;Invalid SMTP addresses in recipient policies &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If any of these are present during the migration to SBS 2008, the setup will finish with the following errors:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Setup errors due to mailbox management policies or duplicate/invalid SMTP addresses in recipient policies:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The Exchange E-mail address policy cannot be configured. &lt;/li&gt;
&lt;li&gt;Incoming and outgoing e-mail for Windows SharePoint Services are not configured. &lt;/li&gt;
&lt;li&gt;Incoming and outgoing e-mail for Windows SharePoint Services are not configured. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;How to check for Mailbox Management policies:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;If you have Exchange 2003 or Exchange 2000 recipient policies that are ONLY Mailbox Manager policies and do not define e-mail addresses (they do not have an E-mail Addresses (Policy) tab), perform the following steps to delete the policies:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In Exchange System Manager, expand Recipients, and then select Recipient Policies. &lt;/li&gt;
&lt;li&gt;To verify that a policy is only a Mailbox Manager policy, right-click the policy, and then select Properties. The Properties page must not have an E-Mail Addresses (Policy) tab. &lt;/li&gt;
&lt;li&gt;To delete the policy, right-click the policy, and then select Delete. Click OK and then click Yes. &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;If you have Exchange 2003 or Exchange 2000 policies that are BOTH E-mail Addresses and Mailbox Manager policies (they have both the Mailbox Manager Settings (Policy) tab and the E-mail Addresses (Policy) tab), perform the following steps to remove the mailbox manager portion of the policy:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In Exchange System Manager, expand Recipients, and then select Recipient Policies. &lt;/li&gt;
&lt;li&gt;Right-click the policy, and then select Change property pages. &lt;/li&gt;
&lt;li&gt;Clear the Mailbox Manager Settings check box, and then click OK. &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;b&gt;How to check for duplicate/invalid SMTP addresses in recipient policies:&lt;/b&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In Exchange System Manager, expand Recipients, and then select Recipient Policies. &lt;/li&gt;
&lt;li&gt;Right-click the policy, and then select E-Mail Addresses (Policy) tab. &lt;/li&gt;
&lt;li&gt;Inspect the SMTP Addresses for any that are unchecked. If you find any, place a check in the box or remove that address. &lt;/li&gt;
&lt;li&gt;Inspect the SMTP Addresses for any that have an IP address. For instance, @192.168.1.1. If you find any, remove those addresses that contain an IP address. &lt;/li&gt;
&lt;li&gt;Click OK. &lt;/li&gt;
&lt;/ol&gt;
&lt;p style="margin:0in 0in 10pt 0.5in;text-indent:-0.25in;mso-list:l0 level1 lfo1;" class="MsoListParagraph"&gt;&lt;span style="font-family:Webdings;mso-fareast-font-family:Webdings;mso-bidi-font-family:Webdings;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;c&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;Remove Mailbox Management policies.&lt;/b&gt; Exchange 2000 and Exchange 2003 used Mailbox Management policies for some types of e-mail. If these policies exist on the server running SBS 2003, setup will generate errors that will prevent you from completing the migration. Exchange BPA 2.8 checks for this condition. Remove Mailbox Management policies from the server running SBS 2003. For more information on how to do this, see the Keys to Success blog post. &lt;br style="mso-special-character:line-break;" /&gt;&lt;br style="mso-special-character:line-break;" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:11pt;line-height:115%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-fareast-font-family:Calibri;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;Remove duplicate or incorrect SMTP addresses.&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;line-height:115%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-fareast-font-family:Calibri;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt; Exchange 2000 and Exchange 2003 may have duplicate or incorrect SMTP addresses in recipient policies. If these addresses exist on the server running SBS 2003, setup will generate errors that will prevent you from completing the migration. The SBS 2003 BPA with the latest updates checks for this condition. Remove the duplicate or incorrect SMTP addresses from Exchange. For more information on how to do this, see the Keys to Success blog post. &lt;br style="mso-special-character:line-break;" /&gt;&lt;br style="mso-special-character:line-break;" /&gt;I already ran the SBS bpa and didn&amp;#39;t get any warnings, but I&amp;#39;m also going to run the Exchange BPA just to make sure:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Download details: Exchange Best Practices Analyzer: &lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=DBAB201F-4BEE-4943-AC22-E2DDBD258DF3&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=DBAB201F-4BEE-4943-AC22-E2DDBD258DF3&amp;amp;displaylang=en&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;And I&amp;#39;m going to run the &amp;quot;are you ready for Exchange 2007&amp;quot; test&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/3187.exbpa.PNG"&gt;&lt;img border="0" src="http://msmvps.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/3187.exbpa.PNG" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;And it reminds me that I&amp;#39;ve yet to flip the AD to the right levels... but it doesn&amp;#39;t find any mailbox policies that I need to worry about.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/0334.exbpa2.PNG"&gt;&lt;img border="0" src="http://msmvps.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/0334.exbpa2.PNG" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1738349" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bradley/archive/tags/Migration/default.aspx">Migration</category></item><item><title>Migration Step Six:  Removing ISA</title><link>http://msmvps.com/blogs/bradley/archive/2009/11/07/migration-step-six-removing-isa.aspx</link><pubDate>Sun, 08 Nov 2009 04:30:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1738346</guid><dc:creator>bradley</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;When I moved the SBS 2003 over to the (unsupported) HyperV platform, one of the things I had to do was to uninstall ISA 2004 and take the virtualized box back down to one nic.&lt;/p&gt;
&lt;p&gt;Just a reminder of the steps I took -- this is from the SBS 2008 migration checklist:&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt 0.5in;text-indent:-0.25in;mso-list:l0 level1 lfo1;" class="MsoListParagraphCxSpFirst"&gt;&lt;span style="font-family:Webdings;mso-fareast-font-family:Webdings;mso-bidi-font-family:Webdings;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;c&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;Uninstall ISA Server 2004.&lt;/b&gt; If ISA Server 2004 is installed on the server running SBS 2003, you must uninstall it before you can begin the migration.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt 1in;text-indent:-0.25in;mso-list:l0 level2 lfo1;mso-add-space:auto;" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="font-family:Webdings;mso-fareast-font-family:Webdings;mso-bidi-font-family:Webdings;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;c&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;Uninstall the ISA Server 2004 desktop client.&lt;/b&gt; To uninstall the ISA Server 2004 desktop client, follow the instructions in &lt;/span&gt;&lt;/span&gt;&lt;a href="http://msmvps.com/blogs/kwsupport/archive/2008/09/07/uninstalling-isa-2004.aspx"&gt;&lt;span style="font-size:small;color:#0000ff;font-family:Calibri;"&gt;this blog post&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt; (http://msmvps.com/blogs/kwsupport/archive/2008/09/07/uninstalling-isa-2004.aspx).&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt 1in;text-indent:-0.25in;mso-list:l0 level2 lfo1;mso-add-space:auto;" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="font-family:Webdings;mso-fareast-font-family:Webdings;mso-bidi-font-family:Webdings;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;c&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;Export your third-party SSL certificates.&lt;/b&gt; If you have any third-party SSL certificates installed on the server running ISA Server 2004, you should export the certificate for reinstallation on SBS 2003.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 10pt 1in;text-indent:-0.25in;mso-list:l0 level2 lfo1;mso-add-space:auto;" class="MsoListParagraphCxSpLast"&gt;&lt;span style="font-family:Webdings;mso-fareast-font-family:Webdings;mso-bidi-font-family:Webdings;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;c&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;Uninstall ISA Server 2004.&lt;/b&gt; Uninstall ISA Server 2004 from Control Panel using Add or Remove Programs.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:11pt;line-height:115%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-fareast-font-family:Calibri;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;Import your third-party SSL certificates.&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:11pt;line-height:115%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-fareast-font-family:Calibri;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt; Once you have uninstalled ISA Server 2004 you will need to import your third-party SSL certificates onto the server running SBS 2003. To import your certificates, follow the instructions starting with the section &amp;ldquo;Installing the SSL Certificate into IIS&amp;rdquo; in &lt;a href="http://blogs.technet.com/sbs/archive/2007/08/21/how-to-install-a-public-3rd-party-ssl-certificate-on-iis-on-sbs-2003.aspx"&gt;&lt;span style="color:#0000ff;"&gt;this blog post&lt;/span&gt;&lt;/a&gt; (&lt;a href="http://blogs.technet.com/sbs/archive/2007/08/21/how-to-install-a-public-3rd-party-ssl-certificate-on-iis-on-sbs-2003.aspx"&gt;http://blogs.technet.com/sbs/archive/2007/08/21/how-to-install-a-public-3rd-party-ssl-certificate-on-iis-on-sbs-2003.aspx&lt;/a&gt;).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:11pt;line-height:115%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-fareast-font-family:Calibri;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;I also relied on Chad Gross&amp;#39;s &amp;quot;killing off ISA&amp;quot; blog post here:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:11pt;line-height:115%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-fareast-font-family:Calibri;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;Killing off ISA - Aimless Ramblings from a Blithering Lunatic . . . - MSMVPS.COM: &lt;br /&gt;&lt;a href="http://msmvps.com/blogs/cgross/archive/2009/10/11/killing-off-isa.aspx"&gt;http://msmvps.com/blogs/cgross/archive/2009/10/11/killing-off-isa.aspx&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:11pt;line-height:115%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-fareast-font-family:Calibri;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;br /&gt;One setting I noticed that needed to be updated (especially if you removed the ISA a week or two before you did the rest of the migration was/is to remove the proxy ISA server settings from inside WSUS server proxy settings.&amp;nbsp;&amp;nbsp; If you leave that proxy server information behind inside of WSUS, your WSUS server won&amp;#39;t sync up to get patch information.&lt;br style="mso-special-character:line-break;" /&gt;&lt;br style="mso-special-character:line-break;" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1738346" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bradley/archive/tags/Migration/default.aspx">Migration</category></item><item><title>Pixel Shaders and Silverlight, WPF</title><link>http://msmvps.com/blogs/kevinmcneish/archive/2009/11/07/pixel-shaders-and-silverlight-wpf.aspx</link><pubDate>Sun, 08 Nov 2009 02:55:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1738340</guid><dc:creator>KevinMcNeish</dc:creator><slash:comments>0</slash:comments><description>Recently, Silverlight 3 gained the ability to use custom pixel shaders as was already available in WPF. What exactly are custom pixel shaders? A shader is a set of software instructions executed on your computer&amp;#39;s Graphics Processing Unit (GPU) that performs complex per-pixel effects suh as applying a lighting value, bump mapping (a technique used to make a surface look more realistic by modeling interaction of a bumpy surface texture), shadows, highlights, translucency, and so on. Pixel shaders...(&lt;a href="http://msmvps.com/blogs/kevinmcneish/archive/2009/11/07/pixel-shaders-and-silverlight-wpf.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1738340" width="1" height="1"&gt;</description></item><item><title>Why .NET apps keep crashing on your Tablet PC</title><link>http://msmvps.com/blogs/alunj/archive/2009/11/07/1738299.aspx</link><pubDate>Sat, 07 Nov 2009 23:24:29 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1738299</guid><dc:creator>Alun Jones</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;I’ve been struggling with this issue for some time.&lt;/p&gt;  &lt;p&gt;I have a small, simple .NET application I wrote in Visual C# a few months ago – I’ve tentatively titled it “&lt;a href="http://www.wftpd.com/ifetch.html"&gt;iFetch&lt;/a&gt;”, because it fetches radio shows from the &lt;a href="http://www.bbc.co.uk/iplayer/radio"&gt;BBC iPlayer&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;It really is very little more than a simple data grid view that displays the details of the shows and allows users to select them for downloading and later listening.&lt;/p&gt;  &lt;p&gt;Despite that, I’ve had some terrible trouble with it. Sometimes it’ll work perfectly, other times it’ll just suddenly crash, and apparently without warning and for different reasons – sometimes when I click on a row, other times when I select to sort on a column heading.&lt;/p&gt;  &lt;p&gt;The crash seems to be intermittent, but doesn’t reproduce on other computers; even computers of the same configuration.&lt;/p&gt;  &lt;p&gt;For those who want technical details, here we go – the crash is a System.StackOverflowException error, and appears to be due to an unchecked infinite recursion in System.Windows.Forms.dll!System.Windows.Forms.DataGridViewRow.DataGridViewRowAccessibleObject.Bounds.get().&lt;/p&gt;  &lt;p&gt;The clue here is that this is a “DataGridViewRow&lt;strong&gt;AccessibleObject”&lt;/strong&gt; – not a mere DataGridViewRow. These “AccessibleObject” versions of common .NET components only come into existence and spread their effect when an “accessibility application” is active on the system. Apparently, in addition to text-to-speech readers, braille devices, etc, a Tablet – whether external like mine, or internal like those in a Tablet PC – classifies as an accessibility application.&lt;/p&gt;  &lt;p&gt;That’s why this bug was intermittent for me – sometimes I had my external graphics tablet plugged in, other times I didn’t. To make matters worse, it seems to only trigger when one or more rows in the DataGrid are hidden.&lt;/p&gt;  &lt;p&gt;If you get this error, first try checking to see if Microsoft have fixed the flaw – check for .NET service packs – and then, if there is no direct fix for the flaw, try either unplugging your tablet, if you can, or temporarily stop the Tablet PC Input Service, while running the program.&lt;/p&gt;  &lt;p&gt;So far, I have received no feedback from Microsoft about when this will be fixed.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1738299" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/alunj/archive/tags/Miscellany+-+not+security/default.aspx">Miscellany - not security</category><category domain="http://msmvps.com/blogs/alunj/archive/tags/Windows+Vista/default.aspx">Windows Vista</category><category domain="http://msmvps.com/blogs/alunj/archive/tags/Alun_2700_s+code/default.aspx">Alun's code</category><category domain="http://msmvps.com/blogs/alunj/archive/tags/Windows+7/default.aspx">Windows 7</category></item><item><title>The DataContext component: deferred properties</title><link>http://msmvps.com/blogs/luisabreu/archive/2009/11/07/the-datacontext-component-deferred-properties.aspx</link><pubDate>Sat, 07 Nov 2009 21:39:27 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1738278</guid><dc:creator>luisabreu</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Today we’ll keep looking at the DataContext component and we’ll see how it supports deferred properties. Deferred properties are properties which are lazy loaded as “needed”. Using deferred properties means that the component will try to make a remote call for getting the value of that property. As you’re probably expecting, this means that you’ll have to write code on the client and server side. On the client, we’ll need some JavaScript functions which are responsible for:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;checking if a specific property is deferred; &lt;/li&gt;    &lt;li&gt;returning an instance of the Sys.NetWebServiceOperation which has all the data needed for performing the remote call which returns the value of that property. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;After creating the functions and configuring the DataContext component’s isDeferredPropertyMethod and getDeferredPropertyFetchOperationMethod , we can get the deferred value of the property by using the DataContext’s fetchDeferredProperty method. Let’s take a look at the client side code (which augments the code we introduced in previous &lt;a href="http://msmvps.com/blogs/luisabreu/archive/2009/11/05/the-datacontext-component-linking-objects.aspx"&gt;posts&lt;/a&gt;):&lt;/p&gt;  &lt;pre style="background-color:black;" class="code"&gt;&lt;span style="color:#a89a86;"&gt;var &lt;/span&gt;&lt;span style="color:#a79a86;"&gt;entityManager = {
    metaCounter: {},
    getEntityId: &lt;/span&gt;&lt;span style="color:#a89a86;"&gt;function &lt;/span&gt;&lt;span style="color:#a79a86;"&gt;(dataContext, entity) {
       &lt;/span&gt;&lt;span style="color:#006400;"&gt;//removed: check previous posts
    &lt;/span&gt;&lt;span style="color:#a79a86;"&gt;},
    getNewIdentity: &lt;/span&gt;&lt;span style="color:#a89a86;"&gt;function &lt;/span&gt;&lt;span style="color:#a79a86;"&gt;(dataContext, entity, entitySet) {
        &lt;/span&gt;&lt;span style="color:#006400;"&gt;//removed: check previous posts
    &lt;/span&gt;&lt;span style="color:#a79a86;"&gt;},
    isDeferredProperty: &lt;/span&gt;&lt;span style="color:#a89a86;"&gt;function &lt;/span&gt;&lt;span style="color:#a79a86;"&gt;(dataContext, entity, propertyName) {
        &lt;/span&gt;&lt;span style="color:#a89a86;"&gt;var &lt;/span&gt;&lt;span style="color:#a79a86;"&gt;id = dataContext.getIdentity(entity);
        &lt;/span&gt;&lt;span style="color:#a89a86;"&gt;return &lt;/span&gt;&lt;span style="color:#a79a86;"&gt;propertyName === &lt;/span&gt;&lt;span style="color:#44b1e3;"&gt;&amp;quot;contacts&amp;quot; &lt;/span&gt;&lt;span style="color:#a79a86;"&gt;&amp;amp;&amp;amp;
               id !== &lt;/span&gt;&lt;span style="color:#a89a86;"&gt;null &lt;/span&gt;&lt;span style="color:#a79a86;"&gt;&amp;amp;&amp;amp;
               /$new/.test(id);
    },
    getDeferredProperty: &lt;/span&gt;&lt;span style="color:#a89a86;"&gt;function &lt;/span&gt;&lt;span style="color:#a79a86;"&gt;(&lt;br /&gt;         dataContext, entity, propName, parameters, userContext) {
        &lt;/span&gt;&lt;span style="color:#006400;"&gt;//returns web service operation
        &lt;/span&gt;&lt;span style="color:#a89a86;"&gt;var &lt;/span&gt;&lt;span style="color:#a79a86;"&gt;id = dataContext.getIdentity(entity);
        &lt;/span&gt;&lt;span style="color:#a89a86;"&gt;return new &lt;/span&gt;&lt;span style="color:#a79a86;"&gt;Sys.Net.WebServiceOperation(
            &lt;/span&gt;&lt;span style="color:#44b1e3;"&gt;&amp;quot;GetContactsFor&amp;quot;&lt;/span&gt;&lt;span style="color:#a79a86;"&gt;,
            {id: parseInt(/(\d+)/.exec(id)[&lt;/span&gt;&lt;span style="color:#44b1e3;"&gt;0&lt;/span&gt;&lt;span style="color:#a79a86;"&gt;]) },
            &lt;/span&gt;&lt;span style="color:#44b1e3;"&gt;&amp;quot;get&amp;quot; &lt;/span&gt;&lt;span style="color:#a79a86;"&gt;)
            ;
    }

};&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;It goes without saying (I think!) that this is just demo code (you’ll need better code for real world scenarios). As you can see, the contacts property will only be lazily loaded when we’re trying to get it from an object which has been previously persisted in the server side (once again, you’ll need to go back to the &lt;a href="http://msmvps.com/blogs/luisabreu/archive/2009/11/05/the-datacontext-component-linking-objects.aspx"&gt;previous&lt;/a&gt; &lt;a href="http://msmvps.com/blogs/luisabreu/archive/2009/11/04/the-datacontext-component-improving-the-identity-algorithm.aspx"&gt;posts&lt;/a&gt; to &lt;a href="http://msmvps.com/blogs/luisabreu/archive/2009/11/03/the-datacontext-component-getting-started-with-identities.aspx"&gt;understand&lt;/a&gt; what’s going on here). In the real world, I’d probably check that property against undefined too so that you’d only ask for the data when the property hasn’t been initialized.&lt;/p&gt;

&lt;p&gt;The getDeferredProperty tries to find the id of the current person’s instance (don’t forget that person instances which have been previously persisted are on the form people$xxx where xxx is an integer which identifies the current instance) and uses it to build a JS literal object which is used to pass parameters to the server side code. Notice that the Sys.Net.WebService’s “constructor” expects three parameters: the first identifies the name of the operation; the second is a literal object which represent the parameters that will be passed to the server side method. Finally, the third parameter is a string which identifies the HTTP method that should be used in the server side call.&lt;/p&gt;

&lt;p&gt;Now, we’re ready to create a new DataContext instance:&lt;/p&gt;

&lt;pre style="background-color:black;" class="code"&gt;&lt;span style="color:#a89a86;"&gt;var &lt;/span&gt;&lt;span style="color:#a79a86;"&gt;ctx = Sys.create.dataContext(
  {
    serviceUri: &lt;/span&gt;&lt;span style="color:#44b1e3;"&gt;&amp;quot;PeopleService.svc&amp;quot;&lt;/span&gt;&lt;span style="color:#a79a86;"&gt;,
    getIdentityMethod: entityManager.getEntityId,
    getNewIdentityMethod: entityManager.getNewIdentity,
    isDeferredPropertyMethod: entityManager.isDeferredProperty,
    getDeferredPropertyFetchOperationMethod: &lt;br /&gt;                      entityManager.getDeferredProperty
  }
);&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;One additional note before looking at the server side code: we *really* need to set the serviceUri property when we intend to use deferred property fetching. If you don’t set it, you’ll end up receiving an exception when you try to get the value of the property from the server side:&lt;/p&gt;

&lt;pre style="background-color:black;" class="code"&gt;&lt;span style="color:#a79a86;"&gt;ctx.fetchDeferredProperty(
    people[&lt;/span&gt;&lt;span style="color:#44b1e3;"&gt;0&lt;/span&gt;&lt;span style="color:#a79a86;"&gt;], 
    &lt;/span&gt;&lt;span style="color:#44b1e3;"&gt;&amp;quot;contacts&amp;quot;&lt;/span&gt;&lt;span style="color:#a79a86;"&gt;, 
    &lt;/span&gt;&lt;span style="color:#a89a86;"&gt;null&lt;/span&gt;&lt;span style="color:#a79a86;"&gt;, 
    &lt;/span&gt;&lt;span style="color:#a89a86;"&gt;null&lt;/span&gt;&lt;span style="color:#a79a86;"&gt;,
    &lt;/span&gt;&lt;span style="color:#a89a86;"&gt;function&lt;/span&gt;&lt;span style="color:#a79a86;"&gt;(){
        &lt;/span&gt;&lt;span style="color:#a89a86;"&gt;var &lt;/span&gt;&lt;span style="color:#a79a86;"&gt;contacts = people[&lt;/span&gt;&lt;span style="color:#44b1e3;"&gt;0&lt;/span&gt;&lt;span style="color:#a79a86;"&gt;].contacts;
       &lt;/span&gt;&lt;span style="color:#006400;"&gt;//contacts already filled here!
    &lt;/span&gt;&lt;span style="color:#a79a86;"&gt;});&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;The fetchDeferredProperty method receives several parameters:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;a reference to the entity whose property is going to be obtained through the remote call; &lt;/li&gt;

  &lt;li&gt;name of the property which is being lazily fetched; &lt;/li&gt;

  &lt;li&gt;parameter: literal object with parameter info that will be passed to the server side. Note that this object will be merged with the parameter object encapsulated by the WebServiceOperation returned from the DataContext’s getDeferredPropertyFetchOperationMethod function; &lt;/li&gt;

  &lt;li&gt;mergeOptions: the Sys.Data.MergeOption which identifies the merge which will be used when the data is returned from the web service; &lt;/li&gt;

  &lt;li&gt;succeededCalback: callback function which will be invoked when the data is returned from the server and has already been passed to the property; &lt;/li&gt;

  &lt;li&gt;failedCallback: function invoked when the remote call ends up generating an error; &lt;/li&gt;

  &lt;li&gt;timeout: timeout defined in ms; &lt;/li&gt;

  &lt;li&gt;userContext: object which will be passed to the callback method when the DataContext receives a response from the server side. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In order for the previous client code work, we need to update our server side service’s &lt;a href="http://msmvps.com/blogs/luisabreu/archive/2009/11/03/the-datacontext-component-getting-started-with-identities.aspx"&gt;code&lt;/a&gt; by adding the GetContactsFor method. Once again, and since is just demo code, I’ll implement in the easiest way possible: I’ll make it return a collection with a single predefined contact:&lt;/p&gt;

&lt;pre style="background-color:black;" class="code"&gt;&lt;span style="color:#a79a86;"&gt;[&lt;/span&gt;&lt;span style="color:#009b00;"&gt;OperationContract&lt;/span&gt;&lt;span style="color:#a79a86;"&gt;]
&lt;/span&gt;&lt;span style="color:#d6d694;"&gt;public &lt;/span&gt;&lt;span style="color:#80ff80;"&gt;IEnumerable&lt;/span&gt;&lt;span style="color:#80ff00;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#009b00;"&gt;Contact&lt;/span&gt;&lt;span style="color:#80ff00;"&gt;&amp;gt; &lt;/span&gt;&lt;span style="color:#e8e8e8;"&gt;GetContactsFor&lt;/span&gt;&lt;span style="color:#a79a86;"&gt;(&lt;/span&gt;&lt;span style="color:#ff8080;"&gt;Int32 &lt;/span&gt;&lt;span style="color:#e8e8e8;"&gt;id&lt;/span&gt;&lt;span style="color:#a79a86;"&gt;) {
    &lt;/span&gt;&lt;span style="color:#d6d694;"&gt;return new &lt;/span&gt;&lt;span style="color:#009b00;"&gt;List&lt;/span&gt;&lt;span style="color:#80ff00;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#009b00;"&gt;Contact&lt;/span&gt;&lt;span style="color:#80ff00;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#a79a86;"&gt;{
        &lt;/span&gt;&lt;span style="color:#d6d694;"&gt;new &lt;/span&gt;&lt;span style="color:#009b00;"&gt;Contact&lt;/span&gt;&lt;span style="color:#a79a86;"&gt;{ 
                &lt;/span&gt;&lt;span style="color:#e8e8e8;"&gt;Type &lt;/span&gt;&lt;span style="color:#80ff00;"&gt;= &lt;/span&gt;&lt;span style="color:#f07b21;"&gt;ContactType&lt;/span&gt;&lt;span style="color:#80ff00;"&gt;.&lt;/span&gt;&lt;span style="color:#e8e8e8;"&gt;Phone&lt;/span&gt;&lt;span style="color:#a79a86;"&gt;,
                &lt;/span&gt;&lt;span style="color:#e8e8e8;"&gt;Ct  &lt;/span&gt;&lt;span style="color:#80ff00;"&gt;= &lt;/span&gt;&lt;span style="color:#44b1e3;"&gt;&amp;quot;123123123&amp;quot;
        &lt;/span&gt;&lt;span style="color:#a79a86;"&gt;}
    };
}&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;And there you go: you don’t need anything else for making the DataContext component get the value of the contacts property lazily. And that’s it for now. Stay tuned for more on MS AJAX.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1738278" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/luisabreu/archive/tags/MS+AJAX/default.aspx">MS AJAX</category><category domain="http://msmvps.com/blogs/luisabreu/archive/tags/Javascript/default.aspx">Javascript</category></item><item><title>PowerShell WMI events</title><link>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/07/powershell-wmi-events.aspx</link><pubDate>Sat, 07 Nov 2009 21:29:51 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1738276</guid><dc:creator>RichardSiddaway</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;In my previous post ( &lt;a title="http://richardsiddaway.spaces.live.com/blog/cns!43CFA46A74CF3E96!2598.entry" href="http://richardsiddaway.spaces.live.com/blog/cns!43CFA46A74CF3E96!2598.entry"&gt;http://richardsiddaway.spaces.live.com/blog/cns!43CFA46A74CF3E96!2598.entry&lt;/a&gt;&amp;#160; or &lt;a title="http://richardsiddaway.spaces.live.com/blog/cns!43CFA46A74CF3E96!2598.entry" href="http://richardsiddaway.spaces.live.com/blog/cns!43CFA46A74CF3E96!2598.entry"&gt;http://richardsiddaway.spaces.live.com/blog/cns!43CFA46A74CF3E96!2598.entry&lt;/a&gt; ) I started to look at WMI events in PowerShell v2.&amp;#160; The win32_process class was used but all that showed us was that a process had started. We need a bit more information.&amp;#160; A bit of digging brought up the Win32_ProcessStartTrace class that seems to do what we want.&amp;#160; &lt;/p&gt;  &lt;p&gt;Register-WMIEvent allows us to specify the class we want to use rather than a query – however if we try that we don’t get anything returned&amp;#160; - oops. &lt;/p&gt;  &lt;p&gt;Looking through the help for Register-WMIEvent shows that we have the possibility of performing an action when the event occurs.&amp;#160; The action scriptblock can use a number of variables including $Event, $EventSubscriber, $Sender, $SourceEventArgs, and $SourceArgs automatic variables.&amp;#160; Wanting to understand these variables I tried dumping it though get-member.&amp;#160; &lt;/p&gt;  &lt;p&gt;PS&amp;gt; Register-WmiEvent -Query &amp;quot;Select * FROM Win32_ProcessStartTrace&amp;quot; -Action {$Event | gm} &lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;Id&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; Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; State&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; HasMoreData&amp;#160;&amp;#160;&amp;#160;&amp;#160; Location&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Command      &lt;br /&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; -------       &lt;br /&gt;2&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; c1016218-f80... NotStarted False&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; $Event | gm&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;The subscription runs as a PowerShell job. Using the opening of Notepad to trigger the event we can see that data is returned.&lt;/p&gt;  &lt;p&gt;PS&amp;gt; Get-Job &lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;Id&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; Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; State&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; HasMoreData&amp;#160;&amp;#160;&amp;#160;&amp;#160; Location&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Command      &lt;br /&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; -------       &lt;br /&gt;2&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; c1016218-f80... Running&amp;#160;&amp;#160;&amp;#160; True&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; $Event | gm &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;And see that we have a few properties to play with.&amp;#160; ComputerName may come in useful if we are dealing with remote machines.&lt;/p&gt;  &lt;p&gt;PS&amp;gt; Receive-Job -Id 2 &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; TypeName: System.Management.Automation.PSEventArgs &lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; MemberType Definition      &lt;br /&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; ---------- ----------       &lt;br /&gt;Equals&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Method&amp;#160;&amp;#160;&amp;#160;&amp;#160; bool Equals(System.Object obj)       &lt;br /&gt;GetHashCode&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Method&amp;#160;&amp;#160;&amp;#160;&amp;#160; int GetHashCode()       &lt;br /&gt;GetType&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Method&amp;#160;&amp;#160;&amp;#160;&amp;#160; type GetType()       &lt;br /&gt;ToString&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Method&amp;#160;&amp;#160;&amp;#160;&amp;#160; string ToString()       &lt;br /&gt;ComputerName&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.String ComputerName {get;}       &lt;br /&gt;EventIdentifier&amp;#160; Property&amp;#160;&amp;#160; System.Int32 EventIdentifier {get;}       &lt;br /&gt;MessageData&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.Management.Automation.PSObject MessageData {get;}       &lt;br /&gt;RunspaceId&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.Guid RunspaceId {get;}       &lt;br /&gt;Sender&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.Object Sender {get;}       &lt;br /&gt;SourceArgs&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.Object[] SourceArgs {get;}       &lt;br /&gt;SourceEventArgs&amp;#160; Property&amp;#160;&amp;#160; System.EventArgs SourceEventArgs {get;}       &lt;br /&gt;SourceIdentifier Property&amp;#160;&amp;#160; System.String SourceIdentifier {get;}       &lt;br /&gt;TimeGenerated&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.DateTime TimeGenerated {get;}       &lt;br /&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;The properties look similar to those we saw in the last post.&amp;#160; Lets dig into SourceEventArgs&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;PS&amp;gt; Register-WmiEvent -Query &amp;quot;Select * FROM Win32_ProcessStartTrace&amp;quot; -Action {$Event.SourceEventArgs | gm} &lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;Id&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; Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; State&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; HasMoreData&amp;#160;&amp;#160;&amp;#160;&amp;#160; Location&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Command      &lt;br /&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; -------       &lt;br /&gt;3&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; 8d4246a5-5f8... NotStarted False&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; $Event.SourceEventArgs... &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;PS&amp;gt; Get-Job &lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;Id&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; Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; State&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; HasMoreData&amp;#160;&amp;#160;&amp;#160;&amp;#160; Location&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Command      &lt;br /&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; -------       &lt;br /&gt;3&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; 8d4246a5-5f8... Running&amp;#160;&amp;#160;&amp;#160; True&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; $Event.SourceEventArgs... &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;PS&amp;gt; Receive-Job -Id 3 &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; TypeName: System.Management.EventArrivedEventArgs &lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; MemberType Definition      &lt;br /&gt;----&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ---------- ----------       &lt;br /&gt;Equals&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Method&amp;#160;&amp;#160;&amp;#160;&amp;#160; bool Equals(System.Object obj)       &lt;br /&gt;GetHashCode Method&amp;#160;&amp;#160;&amp;#160;&amp;#160; int GetHashCode()       &lt;br /&gt;GetType&amp;#160;&amp;#160;&amp;#160;&amp;#160; Method&amp;#160;&amp;#160;&amp;#160;&amp;#160; type GetType()       &lt;br /&gt;ToString&amp;#160;&amp;#160;&amp;#160; Method&amp;#160;&amp;#160;&amp;#160;&amp;#160; string ToString()       &lt;br /&gt;Context&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.Object Context {get;}       &lt;br /&gt;NewEvent&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.Management.ManagementBaseObject NewEvent {get;}&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Only thing here that look interesting is NewEvent&lt;/p&gt;  &lt;p&gt;PS&amp;gt; Register-WmiEvent -Query &amp;quot;Select * FROM Win32_ProcessStartTrace&amp;quot; -Action {$Event.SourceEventArgs.NewEvent | gm} &lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;Id&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; Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; State&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; HasMoreData&amp;#160;&amp;#160;&amp;#160;&amp;#160; Location&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Command      &lt;br /&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; -------       &lt;br /&gt;4&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; 0857a744-1d3... NotStarted False&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; $Event.SourceEventArgs... &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;PS&amp;gt; Receive-Job -Id 4 &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; TypeName: System.Management.ManagementBaseObject#\Win32_ProcessStartTrace &lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;Name&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; MemberType Definition      &lt;br /&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; ---------- ----------       &lt;br /&gt;ParentProcessID&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.UInt32 ParentProcessID {get;set;}       &lt;br /&gt;ProcessID&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.UInt32 ProcessID {get;set;}       &lt;br /&gt;ProcessName&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.String ProcessName {get;set;}       &lt;br /&gt;SECURITY_DESCRIPTOR Property&amp;#160;&amp;#160; System.Byte[] SECURITY_DESCRIPTOR {get;set;}       &lt;br /&gt;SessionID&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.UInt32 SessionID {get;set;}       &lt;br /&gt;Sid&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; Property&amp;#160;&amp;#160; System.Byte[] Sid {get;set;}       &lt;br /&gt;TIME_CREATED&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.UInt64 TIME_CREATED {get;set;}       &lt;br /&gt;__CLASS&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.String __CLASS {get;set;}       &lt;br /&gt;__DERIVATION&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.String[] __DERIVATION {get;set;}       &lt;br /&gt;__DYNASTY&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.String __DYNASTY {get;set;}       &lt;br /&gt;__GENUS&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.Int32 __GENUS {get;set;}       &lt;br /&gt;__NAMESPACE&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.String __NAMESPACE {get;set;}       &lt;br /&gt;__PATH&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; Property&amp;#160;&amp;#160; System.String __PATH {get;set;}       &lt;br /&gt;__PROPERTY_COUNT&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.Int32 __PROPERTY_COUNT {get;set;}       &lt;br /&gt;__RELPATH&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.String __RELPATH {get;set;}       &lt;br /&gt;__SERVER&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.String __SERVER {get;set;}       &lt;br /&gt;__SUPERCLASS&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Property&amp;#160;&amp;#160; System.String __SUPERCLASS {get;set;}&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Now we have got to the information we need.&amp;#160; So how can we use this.&amp;#160; Up to now we have just allowed the job to run and then picked the data from the job.&amp;#160; One option is to write the data to the prompt as shown in this example&amp;#160; &lt;a title="http://blogs.msdn.com/powershell/archive/2009/08/30/exploring-wmi-with-powershell-v2.aspx" href="http://blogs.msdn.com/powershell/archive/2009/08/30/exploring-wmi-with-powershell-v2.aspx"&gt;http://blogs.msdn.com/powershell/archive/2009/08/30/exploring-wmi-with-powershell-v2.aspx&lt;/a&gt;.&amp;#160; A lot of this digging was because I didn’t understand how this was put together.&amp;#160; PowerShell really is the best way to discover how to use PowerShell!!&lt;/p&gt;  &lt;p&gt;This gets us to this script which is modified from the PowerShell Team blog&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="border-bottom:black 1px solid;border-left:black 1px solid;padding-bottom:5px;padding-left:5px;width:750px;padding-right:5px;font-family:consolas,lucida console;font-size:10pt;overflow:auto;border-top:black 1px solid;border-right:black 1px solid;padding-top:5px;"&gt;   &lt;table border="0" cellspacing="0" cellpadding="5"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#cecece;font-size:10pt;padding-top:5px;"&gt;001              &lt;br /&gt;002               &lt;br /&gt;003               &lt;br /&gt;004               &lt;br /&gt;005               &lt;br /&gt;006               &lt;br /&gt;007               &lt;br /&gt;008               &lt;br /&gt;009               &lt;br /&gt;010               &lt;br /&gt;011               &lt;br /&gt;&lt;/div&gt;         &lt;/td&gt;          &lt;td valign="top" nowrap="nowrap"&gt;           &lt;div style="padding-bottom:5px;padding-left:5px;padding-right:5px;font-family:consolas,lucida console;background:#fcfcfc;font-size:10pt;padding-top:5px;"&gt;&lt;span style="color:#006400;"&gt;## query&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$q&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;Select * from Win32_ProcessStartTrace&amp;quot;&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#006400;"&gt;## action script block&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#ff4500;"&gt;$a&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000000;"&gt;{&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$eSEANE&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$Event&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;SourceEventArgs&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;NewEvent&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$str&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;#39;Computer {0},ID {1}, Name &amp;quot;{2}&amp;quot;, Time {3}, Source {4}&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$data&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$str&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;-f&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$Event&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Sender&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Scope&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Path&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Server&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$eSEANE&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;ProcessId&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;`               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$eSEANE&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;ProcessName&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$Event&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;TimeGenerated&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$Event&lt;/span&gt;&lt;span style="color:#a9a9a9;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;SourceIdentifier&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Write-Host&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$data&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;               &lt;br /&gt;&lt;span style="color:#0000ff;"&gt;Register-WmiEvent&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-Query&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$q&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-SourceIdentifier&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#8b0000;"&gt;&amp;quot;Process Start&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#000080;"&gt;-Action&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#ff4500;"&gt;$a&lt;/span&gt; &lt;/div&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Turns out the ComputerName parameter doesn’t work but a comment on the blog shows how Jeffrey Hicks solved the problem.&lt;/p&gt;  &lt;p&gt;What we get now is a listing at our PowerShell prompt&amp;#160; when a new process starts. We can keep working and the data comes through when the prompt is idle.&lt;/p&gt;  &lt;p&gt;Next we will look at closing a process and recording the data in a log&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:0767317B-992E-4b12-91E0-4F059A8CECA8:0308d51f-7878-4d76-baf1-7cbb5c9ffcaa" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell+v2" rel="tag"&gt;PowerShell v2&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WMI" rel="tag"&gt;WMI&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Events" rel="tag"&gt;Events&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1738276" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/PowerShell+and+WMI/default.aspx">PowerShell and WMI</category><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/PowerShell+V2/default.aspx">PowerShell V2</category></item><item><title>Access 2010 and Sharepoint discussion</title><link>http://msmvps.com/blogs/access/archive/2009/11/07/access-2010-and-sharepoint-discussion.aspx</link><pubDate>Sat, 07 Nov 2009 21:02:22 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1738263</guid><dc:creator>Tony</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Bob Alston, a comp.databases.ms-access newsgroup regular, &lt;a href="http://groups.google.com/group/comp.databases.ms-access/browse_thread/thread/4cb0f935a51f8bd8/9cb8348d8fb6dfbd" target="_blank"&gt;asked about Access 2010.&lt;/a&gt;&amp;#160; A very interesting discussion with fellow access MVP Albert Kallal with his usual lengthy and informative postings has started.&amp;#160;&amp;#160; Albert has posted a nice collection of current links to the Access product group blog as well as his own video.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1738263" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/access/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://msmvps.com/blogs/access/archive/tags/Access+2010/default.aspx">Access 2010</category></item><item><title>New: McAfee Online Support Community</title><link>http://msmvps.com/blogs/jubo/archive/2009/11/07/1738264.aspx</link><pubDate>Sat, 07 Nov 2009 21:01:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1738264</guid><dc:creator>jubo</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;The old McAfee forums have been changed into the Online Support Community. This new community has areas for Enterprise users, home and home office users as well as Security Awarness and Community Help. Discussions, blogs, wikis, profiles and polls. &lt;/p&gt;
&lt;p&gt;And best thing... you can now even talk with &lt;em&gt;real&lt;/em&gt; McAfee professionals! Come and join us at: &lt;a target="_blank" href="http://community.mcafee.com/"&gt;McAfee Online Communities&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1738264" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/jubo/archive/tags/McAfee+Security/default.aspx">McAfee Security</category></item><item><title>System Center Essentials Team Blog : Support for Windows Server 2008 R2 and Windows 7 in System Center Essentials 2007 SP1</title><link>http://myitforum.com/cs2/blogs/rtrent/archive/2009/11/07/system-center-essentials-team-blog-support-for-windows-server-2008-r2-and-windows-7-in-system-center-essentials-2007-sp1.aspx</link><pubDate>Sat, 07 Nov 2009 18:45:28 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1738244</guid><dc:creator>Rod Trent at myITforum.com</dc:creator><slash:comments>0</slash:comments><description>This table indicates the current support for the indicated operating systems by System Center Essentials 2007 SP1 components. Operating system Support installing the System Center Essentials 2007 SP1 management server? Support installing the System Center Read More......(&lt;a href="http://myitforum.com/cs2/blogs/rtrent/archive/2009/11/07/system-center-essentials-team-blog-support-for-windows-server-2008-r2-and-windows-7-in-system-center-essentials-2007-sp1.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1738244" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/rodtrent/archive/tags/System+Center/default.aspx">System Center</category><category domain="http://msmvps.com/blogs/rodtrent/archive/tags/Essentials/default.aspx">Essentials</category><category domain="http://msmvps.com/blogs/rodtrent/archive/tags/System+Center+Essentials/default.aspx">System Center Essentials</category></item><item><title>Download details: Operations Manager 2007 R2 Documentation</title><link>http://myitforum.com/cs2/blogs/rtrent/archive/2009/11/07/download-details-operations-manager-2007-r2-documentation.aspx</link><pubDate>Sat, 07 Nov 2009 18:35:04 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1738245</guid><dc:creator>Rod Trent at myITforum.com</dc:creator><slash:comments>0</slash:comments><description>&amp;#160; The Operations Manager 2007 R2 technical documentation helps you plan, deploy, operate, and maintain Operations Manager 2007 R2. For information about the specific guides available in the library, see http://technet.microsoft.com/en-us/opsmgr/bb498235 Read More......(&lt;a href="http://myitforum.com/cs2/blogs/rtrent/archive/2009/11/07/download-details-operations-manager-2007-r2-documentation.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1738245" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/rodtrent/archive/tags/System+Center/default.aspx">System Center</category><category domain="http://msmvps.com/blogs/rodtrent/archive/tags/OpsMgr+2007/default.aspx">OpsMgr 2007</category><category domain="http://msmvps.com/blogs/rodtrent/archive/tags/Documentation/default.aspx">Documentation</category></item><item><title>Download details: Update Rollup for Operations Manager 2007 Service Pack 1 (KB971541)</title><link>http://myitforum.com/cs2/blogs/rtrent/archive/2009/11/07/download-details-update-rollup-for-operations-manager-2007-service-pack-1-kb971541.aspx</link><pubDate>Sat, 07 Nov 2009 18:34:15 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1738246</guid><dc:creator>Rod Trent at myITforum.com</dc:creator><slash:comments>0</slash:comments><description>&amp;#160; The Update Rollup for Operations Manager 2007 Service Pack 1 (SP1) combines previous hotfix releases for SP1 with additional fixes and support of SP1 roles on Windows 7 and Windows Server 2008 R2. This update also provides database role and SQL Read More......(&lt;a href="http://myitforum.com/cs2/blogs/rtrent/archive/2009/11/07/download-details-update-rollup-for-operations-manager-2007-service-pack-1-kb971541.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1738246" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/rodtrent/archive/tags/System+Center/default.aspx">System Center</category><category domain="http://msmvps.com/blogs/rodtrent/archive/tags/OpsMgr+2007/default.aspx">OpsMgr 2007</category></item><item><title>Steve Rachui's Manageability blog - ConfigMgr/OpsMgr : SCCM: Forcing a Task Sequence to Rerun</title><link>http://myitforum.com/cs2/blogs/rtrent/archive/2009/11/07/steve-rachui-s-manageability-blog-configmgr-opsmgr-sccm-forcing-a-task-sequence-to-rerun.aspx</link><pubDate>Sat, 07 Nov 2009 18:32:55 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1738247</guid><dc:creator>Rod Trent at myITforum.com</dc:creator><slash:comments>0</slash:comments><description>&amp;#160; There are well known methods to force an advertisement to rerun – including several add-on tools available for the SMS or SCCM console.&amp;#160; To date, however, there are not equivalent methods to force a task sequence to rerun.&amp;#160; Part of this Read More......(&lt;a href="http://myitforum.com/cs2/blogs/rtrent/archive/2009/11/07/steve-rachui-s-manageability-blog-configmgr-opsmgr-sccm-forcing-a-task-sequence-to-rerun.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1738247" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/rodtrent/archive/tags/System+Center/default.aspx">System Center</category><category domain="http://msmvps.com/blogs/rodtrent/archive/tags/ConfigMgr+2007/default.aspx">ConfigMgr 2007</category></item><item><title>Working with Web Forms and MVC: Bridging the Gap - Context</title><link>http://msmvps.com/blogs/bmains/archive/2009/11/07/working-with-web-forms-and-mvc-bridging-the-gap-context.aspx</link><pubDate>Sat, 07 Nov 2009 17:02:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1738232</guid><dc:creator>bmains</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;I&amp;#39;ve spent some time figuring out how to bridge the gap between web forms and ASP.NET MVC style of development.&amp;nbsp; Just because the UI works differently, doesn&amp;#39;t mean the actual framework works in a different way.&amp;nbsp; If you use .NET 3.5 SP 1 for both your web forms and MVC style development, it is helpful to come up with a helper component to serve up the context.&amp;nbsp; Why would I suggest this?&amp;nbsp; Well, in web forms, you can access the current context information by accessing System.Web.HttpContext.Current, which returns the current HttpContext being executed.&amp;nbsp; The HttpContext object has an array of services (request, response, etc.) that you can make use of.&amp;nbsp; This is available in ASP.NET MVC in the controller too, via the ControllerContext.HttpContext reference.&lt;/p&gt;
&lt;p&gt;The difference between the two is that the former uses an HttpContext object, while MVC uses an object of type&amp;nbsp;HttpContextBase in System.Web.Abstractions.DLL.&amp;nbsp; The context is a reference to HttpContextWrapper, which inherits from HttpContextBase, and provides you with all of the services previously mentioned.&amp;nbsp; So basically, you are working with the same thing, but not the same object.&amp;nbsp; But if you use 3.5 for all of your development, you can use the same object to leverage both, by creating a helper class and always referring to this for your context.&lt;/p&gt;
&lt;p&gt;public static class HttpWebContext&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static HttpContextBase GetContext()&lt;br /&gt;&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; return new HttpContextWrapper(HttpContext.Current);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;This works in web forms because this is how it works anyway, while MVC uses this in its underlying architecture (if you use a tool like Reflector you can dig down into the code to find it).&amp;nbsp; And so this common component shares the context across two environments, and its isolated&amp;nbsp; and follows the Singular Repsonsibility Principle [SRP].&amp;nbsp; Now what about testability, because your internal components will be using this, and the http context won&amp;#39;t be available in a testing environment (since it&amp;#39;s web framework specific).&amp;nbsp; For instance, your controller may do something like:&lt;/p&gt;
&lt;p&gt;public ActionResult View()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var context = HttpWebContext.GetContext();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //use the context in some way&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; return View();&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;So how can that type of method be mocked?&amp;nbsp; If you use TypeMock, this can be done easily:&lt;/p&gt;
&lt;p&gt;var&amp;nbsp;ctx = Isolate.Fake.Instance&amp;lt;HttpContextBase&amp;gt;();&lt;br /&gt;var requestFake = Isolate.Fake.Instance&amp;lt;HttpRequestFake&amp;gt;();&lt;br /&gt;Isolate.WhenCalled(() =&amp;gt; ctx.Request).WillReturn(requestFake);&lt;br /&gt;//Additional faking here&lt;/p&gt;
&lt;p&gt;Isolate.WhenCalled(() =&amp;gt; HttpWebContext.GetContext()).WillReturn(ctx);&lt;/p&gt;
&lt;p&gt;For Moq, this is harder because it doesn&amp;#39;t mock statics; so you could make it an instance-based approach, or you could use a provider approach.&amp;nbsp; For instance, create a provider that has:&lt;/p&gt;
&lt;p&gt;public abstract class ContextProvider&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public HttpContextBase GetContext();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Have two implementations, one for returning the current context like we have above, and have another returning a faked http context that inherits from HttpContextBase, and then store this reference in the configuration&amp;nbsp; file or pass it in as a parameter to a class. You could get kind of crazy with it, but by using the provider approach, it helps you differentiate the web environment and test environment without exceptions occurring.&lt;/p&gt;
&lt;p&gt;Would this approach work in .NET 2.0?&amp;nbsp; Well, the great feature about 3.5 is the System.Web.Abstractions, which contains the HttpContextBase class that handles this for you.&amp;nbsp; So if you can use 3.5, you can leverage this API for your needs.&amp;nbsp; Otherwise, you would have to create your own wrapper, which is possible but tedious (since it&amp;#39;s such a big class).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1738232" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bmains/archive/tags/Web/default.aspx">Web</category><category domain="http://msmvps.com/blogs/bmains/archive/tags/MVC/default.aspx">MVC</category></item><item><title>PowerShell Eventing</title><link>http://msmvps.com/blogs/richardsiddaway/archive/2009/11/07/powershell-eventing.aspx</link><pubDate>Sat, 07 Nov 2009 14:41:38 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1738208</guid><dc:creator>RichardSiddaway</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;This isn’t the latest sport added for the 2012 Olympics but a way to dig deeper into what is happening on your machine.&amp;#160; There is a continuous stream of events occurring on a computer – programs stop or start, files open or close etc etc.&amp;#160; Some, but all, of these events are recorded in the event logs. If we want to understand what is happening we can track this using the PowerShell Event engine that is introduced in PowerShell v2.&lt;/p&gt;  &lt;p&gt;Three types of events can be registered – PowerShell engine, .NET and WMI using the following cmdlets respectively&lt;/p&gt; Register-EngineEvent   &lt;br /&gt;Register-ObjectEvent   &lt;br /&gt;Register-WmiEvent   &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;We can use the following cmdlets to discover the events that actually happen.&lt;/p&gt;  &lt;p&gt;Get-Event    &lt;br /&gt;Get-EventSubscriber     &lt;br /&gt;New-Event     &lt;br /&gt;Remove-Event     &lt;br /&gt;Unregister-Event     &lt;br /&gt;Wait-Event &lt;/p&gt;  &lt;p&gt;We’ll start by looking at WMI events. We can use Register-WmiEvent to register the event we want to track. In this case we want to know when new processes are started. We can create an event registration using&lt;/p&gt;  &lt;p align="left"&gt;Register-WmiEvent&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; -Query &amp;quot;Select * from __instancecreationevent within 5 where targetinstance isa &amp;#39;Win32_Process&amp;#39;&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -MessageData &amp;quot;Process Started&amp;quot; -SourceIdentifier &amp;quot;New Process&amp;quot; &lt;/p&gt;  &lt;p&gt;__instancecreationevent&amp;#160; is a WMI System Class.&amp;#160; 5 refewrs to the system being scanned every 5 seconds&lt;/p&gt;  &lt;p&gt;WMI System classes are created on a per WMI namespace basis i.e. a new set of system classes is created for each WMI namespace. The full list of WMI system classes can be seen at &lt;a href="http://msdn.microsoft.com/en-us/library/aa394583(VS.85).aspx"&gt;http://msdn.microsoft.com/en-us/library/aa394583(VS.85).aspx&lt;/a&gt; or can be browsed using PowerGUI&amp;#39;s WMI browser. &lt;/p&gt;  &lt;p&gt;We can view the system classes relating to WMI events. &lt;/p&gt;  &lt;p&gt;Get-WmiObject -Namespace &amp;#39;root\cimv2&amp;#39; -List &amp;quot;__*Event&amp;quot;&lt;/p&gt;  &lt;p&gt;and we will see that there is a __InstanceDeletionEvent class as well.&amp;#160; if we want to track process creation and deletion (program open and close) we will need to register this as well.&lt;/p&gt;  &lt;p align="left"&gt;Register-WmiEvent&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; -Query &amp;quot;Select * from __instancedeletionevent within 5 where targetinstance isa &amp;#39;Win32_Process&amp;#39;&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -MessageData &amp;quot;Process Stopped&amp;quot; -SourceIdentifier &amp;quot;End Process&amp;quot;&lt;/p&gt;  &lt;p align="left"&gt;When we run these commands nothing seems to happen. We can see the event registrations (or subscriptions)&lt;/p&gt;  &lt;p&gt;PS&amp;gt; Get-EventSubscriber &lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;SubscriptionId&amp;#160;&amp;#160; : 1      &lt;br /&gt;SourceObject&amp;#160;&amp;#160;&amp;#160;&amp;#160; : System.Management.ManagementEventWatcher       &lt;br /&gt;EventName&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : EventArrived       &lt;br /&gt;SourceIdentifier : New Process       &lt;br /&gt;Action&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;HandlerDelegate&amp;#160; :       &lt;br /&gt;SupportEvent&amp;#160;&amp;#160;&amp;#160;&amp;#160; : False       &lt;br /&gt;ForwardEvent&amp;#160;&amp;#160;&amp;#160;&amp;#160; : False &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;SubscriptionId&amp;#160;&amp;#160; : 2      &lt;br /&gt;SourceObject&amp;#160;&amp;#160;&amp;#160;&amp;#160; : System.Management.ManagementEventWatcher       &lt;br /&gt;EventName&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : EventArrived       &lt;br /&gt;SourceIdentifier : End Process       &lt;br /&gt;Action&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;HandlerDelegate&amp;#160; :       &lt;br /&gt;SupportEvent&amp;#160;&amp;#160;&amp;#160;&amp;#160; : False       &lt;br /&gt;ForwardEvent&amp;#160;&amp;#160;&amp;#160;&amp;#160; : False&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;If we start notepad and and then check the process&lt;/p&gt;  &lt;p&gt;PS&amp;gt; Get-Process notepad | select name, starttime &lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;Name&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;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; StartTime      &lt;br /&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;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ---------       &lt;br /&gt;notepad&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;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 07/11/2009 14:20:19&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;we can compare this to the event information&lt;/p&gt;  &lt;p align="left"&gt;PS&amp;gt; Get-Event -SourceIdentifier &amp;quot;New Process&amp;quot;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font face="Courier New"&gt;ComputerName&amp;#160;&amp;#160;&amp;#160;&amp;#160; :      &lt;br /&gt;RunspaceId&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 2a581963-55cd-4e46-82ab-ddb6a38fa9a2       &lt;br /&gt;EventIdentifier&amp;#160; : 27       &lt;br /&gt;Sender&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : System.Management.ManagementEventWatcher       &lt;br /&gt;SourceEventArgs&amp;#160; : System.Management.EventArrivedEventArgs       &lt;br /&gt;SourceArgs&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : {System.Management.ManagementEventWatcher, System.Management.EventArrivedEventArgs}       &lt;br /&gt;SourceIdentifier : New Process       &lt;br /&gt;TimeGenerated&amp;#160;&amp;#160;&amp;#160; : 07/11/2009 14:20:23       &lt;br /&gt;MessageData&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : Process Started&lt;/font&gt;&lt;/p&gt;  &lt;p align="left"&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Which doesn’t seem to tell is much beyond the fact that a process has started – it specifically doesn’t tell us which process has started. &lt;/p&gt;  &lt;p&gt;Similarly when we stop a process&lt;/p&gt;  &lt;p&gt;PS&amp;gt; Stop-Process -Name notepad    &lt;br /&gt;PS&amp;gt; Get-Event -SourceIdentifier &amp;quot;End Process&amp;quot;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;ComputerName&amp;#160;&amp;#160;&amp;#160;&amp;#160; :      &lt;br /&gt;RunspaceId&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 2a581963-55cd-4e46-82ab-ddb6a38fa9a2       &lt;br /&gt;EventIdentifier&amp;#160; : 29       &lt;br /&gt;Sender&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : System.Management.ManagementEventWatcher       &lt;br /&gt;SourceEventArgs&amp;#160; : System.Management.EventArrivedEventArgs       &lt;br /&gt;SourceArgs&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : {System.Management.ManagementEventWatcher, System.Management.EventArrivedEventArgs}       &lt;br /&gt;SourceIdentifier : End Process       &lt;br /&gt;TimeGenerated&amp;#160;&amp;#160;&amp;#160; : 07/11/2009 14:27:47       &lt;br /&gt;MessageData&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : Process Stopped&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;We get a message that the process has stopped but no identification as to which process.&lt;/p&gt;  &lt;p&gt;Events only exist in the current session and the subscriptions are lost if the PowerShell session is closed.&lt;/p&gt;  &lt;p&gt;Couple of quick points&lt;/p&gt;  &lt;p&gt;The event queue can be quickly cleaned using&lt;/p&gt;  &lt;p&gt;Get-Event | Remove-Event.&lt;/p&gt;  &lt;p&gt;We can remove event subscriptions using&lt;/p&gt;  &lt;p&gt;Unregister-Event -SourceIdentifier &amp;quot;New Process&amp;quot;    &lt;br /&gt;Unregister-Event -SourceIdentifier &amp;quot;End Process&amp;quot;&lt;/p&gt;  &lt;p&gt;We will dig further into the eventing capabilities in future posts&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:0767317B-992E-4b12-91E0-4F059A8CECA8:eef89573-51ab-45b8-b962-6e797450bc16" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/PowerShell+v2" rel="tag"&gt;PowerShell v2&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WMI" rel="tag"&gt;WMI&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Events" rel="tag"&gt;Events&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1738208" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/PowerShell+and+WMI/default.aspx">PowerShell and WMI</category><category domain="http://msmvps.com/blogs/richardsiddaway/archive/tags/PowerShell+V2/default.aspx">PowerShell V2</category></item><item><title>Removing items from the ‘Run’ window history</title><link>http://msmvps.com/blogs/erikr/archive/2009/11/07/removing-items-from-the-run-window-history.aspx</link><pubDate>Sat, 07 Nov 2009 11:25:42 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1738189</guid><dc:creator>Erik Rozman</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;I have quite a few annoying habits, and some of them have to do with how I work with computers.   &lt;br /&gt;One of these little annoying habits is accessing specific locations and applications on a system from    &lt;br /&gt;the ‘Run’ window. Some of you may say that it’s so eighties since we have the search box in Vista    &lt;br /&gt;and 7 but I still like it. It’s a simple and quick process: Press Star+R write the location and you are    &lt;br /&gt;there.Better yet,if it’s an item you already used it’s stored in history so you don’t have to re-type    &lt;br /&gt;the full path or name-and this was the point where it got annoying…&lt;/p&gt;  &lt;p&gt;When looking at the history of the Run command I found quite a few items that no longer existed   &lt;br /&gt;there, obviously I wanted to remove them. I tried highlighting them and pressing Del to no avail.    &lt;br /&gt;Eventually I found that the history items are stored per user in the registry,specifically at the following    &lt;br /&gt;path:&lt;i&gt;HKEY_CURRENT_USER → Software → Microsoft → Windows → CurrentVersion → Explorer → RunMRU&lt;/i&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/erikr.metablogapi/2061.image_5F00_7F5B52A2.png" target="_blank"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/erikr.metablogapi/8738.image_5F00_thumb_5F00_646EE0FC.png" width="244" height="207" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;As you can see, the items stored in history are arranged in values(REG_SZ) from a to z. Every time you enter   &lt;br /&gt;a new item in the Run dialog box it is stored under a “free” letter. Once you hit Z, you can no longer add items     &lt;br /&gt;to your history.&lt;/p&gt;  &lt;p&gt;Since I have deleted some of the files that they refer too, some of these values have become stale,yet they   &lt;br /&gt;still linger on, while others are still useful and I would like to keep them around. The simplest way to clear the    &lt;br /&gt;list form stale entries is to simply delete them from the registry (&lt;strong&gt;&lt;u&gt;as usual, be very careful when messing around       &lt;br /&gt;with the registry as you may render your system unusable&lt;/u&gt;&lt;/strong&gt;).&lt;/p&gt;  &lt;p&gt;Once deleted, they will disappear from the list and allow new entries to be added.&lt;/p&gt;  &lt;p&gt;I also noticed that the MRUList value has a list of the alphabet letters based on the order in which the values were created.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1738189" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/erikr/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/erikr/archive/tags/Windows+7/default.aspx">Windows 7</category></item><item><title>Migration Step Five:  Running the Source tool on the SBS 2003 server</title><link>http://msmvps.com/blogs/bradley/archive/2009/11/06/Migration-Step-Five_3A00_--Running-the-Source-tool-on-the-SBS-2003-server.aspx</link><pubDate>Sat, 07 Nov 2009 07:19:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1738160</guid><dc:creator>bradley</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;a href="http://msmvps.com/blogs/bradley/archive/2009/11/02/pre-migration-steps.aspx"&gt;http://msmvps.com/blogs/bradley/archive/2009/11/02/pre-migration-steps.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;So we&amp;#39;re once again in our series of how to prepare for a migration.&lt;/p&gt;
&lt;p&gt;To recap, we read, we watched.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;We ran the &lt;a href="http://www.sbsbpa.com"&gt;www.sbsbpa.com&lt;/a&gt; on the server&lt;/p&gt;
&lt;p&gt;We ran the IT Environmental Health scanner - &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=dd7a00df-1a5b-4fb6-a8a6-657a7968bd11"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=dd7a00df-1a5b-4fb6-a8a6-657a7968bd11&lt;/a&gt;&amp;nbsp;to ensure all was well.&lt;/p&gt;
&lt;p&gt;We checked the primary account.&lt;/p&gt;
&lt;p&gt;We took a backup.&lt;/p&gt;
&lt;p&gt;We took a system state backup.&lt;/p&gt;
&lt;p&gt;{heck we even used the Disk2vhd to move it to a test bed just so we can run this test before doing this for real}&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;We&amp;#39;re now ready for the Migration prep tool:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;H.&amp;nbsp; On the Source Server, run the SBS 2008 migration prep tool.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;This tool performs the following actions:&lt;/em&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Installs update 943494 on the SBS 2003 server to extend the migration grace period from &lt;strong&gt;7&lt;/strong&gt; to &lt;strong&gt;21&lt;/strong&gt; days. &lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Runs &lt;strong&gt;ADPREP&lt;/strong&gt; to update the forest, domain, and group policy object access control entries. &lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Changes Exchange 2003 from &lt;strong&gt;Mixed&lt;/strong&gt; mode to &lt;strong&gt;Native&lt;/strong&gt; mode. &lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Adds the Authenticated Users group to the Pre-Windows 2000 security group. &lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;em&gt;If Exchange 2003 is not running in Native mode, Exchange Server 2007 will not be installed and you will have to start all over. The error message is &lt;b&gt;Exchange Server 2007 cannot be installed&lt;/b&gt;. For more information, see &lt;/em&gt;&lt;a target="_blank" href="http://blogs.technet.com/sbs/archive/2008/12/19/sbs-2008-migrations-fail-when-the-migration-preparation-tool-has-not-been-run.aspx"&gt;&lt;em&gt;this.&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;If the Authenticated Users group is not a member of the Pre-Windows 2000 security group, then standard users will not be able to access the Remote Web Workplace. The error message they will see is: &lt;b&gt;Cannot&lt;/b&gt;&lt;b&gt; connect to the Remote Web Workplace site. To continue, contact your network administrator.&lt;/b&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The tool can be found on the SBS 2008 media under the tools folder.&amp;nbsp; If you don&amp;#39;t have a DVD on the SBS 2003 (like I don&amp;#39;t) stick the DVD in any other computer, copy the tools folder onto removable media and put it on the SBS 2003.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/5125.toolsfiles.PNG"&gt;&lt;img border="0" src="http://msmvps.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/5125.toolsfiles.PNG" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Now that we have umpteen backups, on the SBS 2003 box launch that Sourcetool.exe file&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/3157.sourcetool.PNG"&gt;&lt;img border="0" src="http://msmvps.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/3157.sourcetool.PNG" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We have a backup so we&amp;#39;re going to check the box.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/6675.sourceserver2.PNG"&gt;&lt;img border="0" src="http://msmvps.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/6675.sourceserver2.PNG" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The installer starts&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/6607.sourceserver3.PNG"&gt;&lt;img border="0" src="http://msmvps.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/6607.sourceserver3.PNG" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;When it finishes it&amp;#39;s now prepared the SBS 2003 for the migration.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/5706.sourceserver4.PNG"&gt;&lt;img border="0" src="http://msmvps.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/5706.sourceserver4.PNG" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;What it did in the background is install&lt;/p&gt;
&lt;p&gt;
&lt;td class="message"&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
Application KB943494 (Hotfix for Windows Server 2003 (KB943494)) was installed.&lt;br /&gt;Does the ADprep and flips Exchange to native mode&lt;br /&gt;Adds the Authenticated Users group to the Pre-Windows 2000 security group&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&amp;nbsp;
&lt;td class="message"&gt;&lt;/td&gt;
MESSAGE
&lt;td&gt;&lt;/td&gt;
Security Enabled Local Group Changed:&lt;br /&gt;Target Account Name: Pre-Windows 2000 Compatible Access&lt;br /&gt;Target Domain: Builtin&lt;br /&gt;Target Account ID: BUILTIN\Pre-Windows 2000 Compatible Access&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Reboot and we&amp;#39;re ready for the next step.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/4544.sourceserver5.PNG"&gt;&lt;img border="0" src="http://msmvps.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/bradley/4544.sourceserver5.PNG" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Next step building the answer file.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1738160" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bradley/archive/tags/Migration/default.aspx">Migration</category></item><item><title>Visual Studio 2010 and .Net 4 framework training kit available for download</title><link>http://msmvps.com/blogs/brianmadsen/archive/2009/11/07/visual-studio-2010-and-net-4-framework-training-kit-available-for-download.aspx</link><pubDate>Sat, 07 Nov 2009 06:50:19 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1738150</guid><dc:creator>Brian Madsen</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;With the upcoming release of Visual Studio 2010 and .Net 4 now&amp;#39;s the time to get cracking writing some code and getting familiar with our new, and improved, IDE. &lt;/p&gt;  &lt;p&gt;Download link: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=752CB725-969B-4732-A383-ED5740F02E93&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=752CB725-969B-4732-A383-ED5740F02E93&amp;amp;displaylang=en&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Visual Studio 2010 and .Net 4 framework training videos on Channel9: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://channel9.msdn.com/learn/courses/VS2010/"&gt;http://channel9.msdn.com/learn/courses/VS2010/&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1738150" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/brianmadsen/archive/tags/Visual+Studio+Team+System+2010/default.aspx">Visual Studio Team System 2010</category><category domain="http://msmvps.com/blogs/brianmadsen/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category></item><item><title>Malware SPAM: Congratulations!! You have won todays Macbook Air winner.zip</title><link>http://msmvps.com/blogs/donna/archive/2009/11/07/malware-spam-congratulations-you-have-won-todays-macbook-air.aspx</link><pubDate>Sat, 07 Nov 2009 04:40:50 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1738142</guid><dc:creator>donna</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;A malicious attachment in today&amp;#39;s malware spam is in the wild. The email message is:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Congratulations!! You have won todays Macbook Air.     &lt;br /&gt;Please open attached file and see datails.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://www.virustotal.com/analisis/9da6a2bd76c5e69b9cab70958bfefaf48599329134dad6b1cb3a44cd296954a8-1257567350"&gt;70% of malware scanners&lt;/a&gt; will detect the file.&amp;#160; Once executed, the trojan will try to connect to IP address &lt;strong&gt;78.159.121.41&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.calendarofupdates.com/updates/index.php?showtopic=24840" href="http://www.calendarofupdates.com/updates/index.php?showtopic=24840"&gt;http://www.calendarofupdates.com/updates/index.php?showtopic=24840&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1738142" width="1" height="1"&gt;</description></item><item><title>Crash dumps, ASP.NET and VS 2010</title><link>http://msmvps.com/blogs/luisabreu/archive/2009/11/06/crash-dumps-asp-net-and-vs-2010.aspx</link><pubDate>Fri, 06 Nov 2009 22:21:25 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1738108</guid><dc:creator>luisabreu</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Pretty cool &lt;a href="http://feedproxy.google.com/~r/ScottHanselman/~3/NM-VgzLgdWo/HanselminutesOn9DebuggingCrashDumpsWithTessFerrandezAndVS2010.aspx"&gt;stuff&lt;/a&gt;!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1738108" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/luisabreu/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title>Orange : Opentransit négocie avec Cogent, les abonnés trinquent</title><link>http://msmvps.com/blogs/docxp/archive/2009/11/06/1738101.aspx</link><pubDate>Fri, 06 Nov 2009 21:49:13 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1738101</guid><dc:creator>jeanmarc</dc:creator><slash:comments>2</slash:comments><description>&lt;p align="justify"&gt;La principale raison pour laquelle je me suis abonné à &lt;strike&gt;Wanadoo&lt;/strike&gt; Orange il y a bientôt 10 ans et pour laquelle j’y suis resté aussi longtemps est la qualité du réseau (juste après la présence d’une agence FT/Orange près de chez moi).&lt;/p&gt;  &lt;p align="justify"&gt;Seulement, depuis quelques semaines, mon internet “Orange inside” (international outside ?) est &lt;strong&gt;malmené&lt;/strong&gt; par une filiale de France Telecom, grand (et surtout unique) fournisseur de bande passante (on dit aussi fournisseur de transit) pour Orange, j’ai nommé Open Transit. &lt;strong&gt;Et il en va ainsi pour beaucoup d’autres abonnés…&lt;/strong&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p align="justify"&gt;&lt;em&gt;Comment ça fonctionne ?&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;Open Transit est le fournisseur de transit unique pour Orange/FT (fournisseur de contenu/FAI).        &lt;br /&gt;Cogent est un autre fournisseur de transit pour des fournisseurs de contenu (et ISP ?) US.         &lt;br /&gt;Ces deux fournisseurs de transit sont interconnectés via un accord de peering dans le but d&amp;#39;échanger leurs trafic internet.         &lt;br /&gt;Toute perturbation entre ces deux fournisseurs de transit se répercute mécaniquement sur leurs clients FAI et/ou fournisseur de contenu et donc sur leurs propres clients (par exemple les abonnés Orange).&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;Dans le cas qui nous préoccupe, c’est la route&lt;/em&gt; Orange &amp;lt;=&amp;gt; Open Transit &amp;lt;=&amp;gt; Cogent &amp;lt;=&amp;gt; Youtube/MegaUpload/etc.. &lt;em&gt;qui nous intéresse.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Reprenons…&lt;/p&gt;  &lt;p align="justify"&gt;Alors que l’outil de test “made in Orange” DSLTest m’annonce fièrement et à juste titre + d’1 Mo/sec &lt;strong&gt;par tous les temps et à toute heure&lt;/strong&gt; sur tous les PCs de la maison, c’est tous les soirs (et les soirs commencent très tôt chez Open Transit, surtout le Week-end !) que mon débit sur certains sites à l’étranger chute lamentablement, à en faire pleurer de rire un modem 56K.&lt;/p&gt;  &lt;p align="justify"&gt;Jugez donc vous même :&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;&lt;a href="http://www.youtube.com/watch?v=NKGczodxIJk"&gt;Jean-Michel Jarre&lt;/a&gt;, comme d’autres vidéos Youtube, se traine lamentablement entre 15 et 20 Ko/sec et est, bien évidemment à ce débit, saccadée.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;a href="http://www.megaupload.com/?d=S8RX9M5Y"&gt;MegaUpload&lt;/a&gt; m&amp;#39;offre royalement entre 25 et 30 Ko/sec...&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;Vous me direz : les sites sont saturés, y’a trop de monde, etc…&lt;/p&gt;  &lt;p align="justify"&gt;Hé bien non, au même moment chez 9, Free, SFR et d’autres, le débit est excellent sur Youtube et plus que correct sur Megaupload (au moins 10 fois supérieur). De même, DailyMotion, hébergé en France, fonctionne parfaitement… partout.&lt;/p&gt;  &lt;p align="justify"&gt;Alors que se passe t’il ?&lt;/p&gt;  &lt;p align="justify"&gt;Il m’a fallu pas mal de recherches et un peu de connaissances réseau pour comprendre.&lt;/p&gt;  &lt;p align="justify"&gt;Voilà le genre de mesure qui donne de gros indices (à faire aux heures de saturation, bien sûr !) :&lt;/p&gt;  &lt;blockquote&gt;   &lt;p align="justify"&gt;C:\&amp;gt;&lt;strong&gt;tracert -d 209.222.128.146&lt;/strong&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;em&gt;(un des cache de video youtube)&lt;/em&gt;       &lt;br /&gt;Détermination de l&amp;#39;itinéraire vers 209.222.128.146 avec un maximum de 30 sauts.       &lt;br /&gt;&amp;#160; 1&amp;#160;&amp;#160;&amp;#160; &amp;lt;1 ms&amp;#160;&amp;#160;&amp;#160; &amp;lt;1 ms&amp;#160;&amp;#160;&amp;#160; &amp;lt;1 ms&amp;#160; 192.168.1.1       &lt;br /&gt;&amp;#160; 2&amp;#160;&amp;#160;&amp;#160; 32 ms&amp;#160;&amp;#160;&amp;#160;&amp;#160; *&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 33 ms&amp;#160; 86.215.255.1       &lt;br /&gt;&amp;#160; 3&amp;#160;&amp;#160;&amp;#160; 33 ms&amp;#160;&amp;#160;&amp;#160; 32 ms&amp;#160;&amp;#160;&amp;#160; 32 ms&amp;#160; 10.125.86.74       &lt;br /&gt;&amp;#160; 4&amp;#160;&amp;#160;&amp;#160; 32 ms&amp;#160;&amp;#160;&amp;#160; 33 ms&amp;#160;&amp;#160;&amp;#160; 33 ms&amp;#160; 193.253.89.105       &lt;br /&gt;&amp;#160; 5&amp;#160;&amp;#160;&amp;#160; 36 ms&amp;#160;&amp;#160;&amp;#160; 59 ms&amp;#160;&amp;#160;&amp;#160; 36 ms&amp;#160; 81.253.129.30       &lt;br /&gt;&amp;#160; 6&amp;#160;&amp;#160;&amp;#160; 41 ms&amp;#160;&amp;#160;&amp;#160; 41 ms&amp;#160;&amp;#160;&amp;#160; 41 ms&amp;#160; 193.252.100.226       &lt;br /&gt;&amp;#160; 7&amp;#160;&amp;#160;&amp;#160; &lt;strong&gt;41 ms&amp;#160;&amp;#160;&amp;#160; 41 ms&amp;#160;&amp;#160;&amp;#160; 41 ms&lt;/strong&gt;&amp;#160; &lt;a href="http://www.dnsstuff.com/tools/ipall/?tool_id=67&amp;amp;token=&amp;amp;toolhandler_redirect=0&amp;amp;ip=193.251.129.82"&gt;193.251.129.82&lt;/a&gt;       &lt;br /&gt;&amp;#160; 8&amp;#160;&amp;#160; &lt;strong&gt;255 ms&amp;#160;&amp;#160; 223 ms&amp;#160;&amp;#160; 218 ms&lt;/strong&gt;&amp;#160; &lt;a href="http://www.dnsstuff.com/tools/ipall/?tool_id=67&amp;amp;token=&amp;amp;toolhandler_redirect=0&amp;amp;ip=130.117.15.129"&gt;130.117.15.129&lt;/a&gt;       &lt;br /&gt;&amp;#160; 9&amp;#160;&amp;#160; 174 ms&amp;#160;&amp;#160; 172 ms&amp;#160;&amp;#160; 176 ms&amp;#160; 130.117.1.73       &lt;br /&gt;10&amp;#160;&amp;#160; 168 ms&amp;#160;&amp;#160; 171 ms&amp;#160;&amp;#160; 181 ms&amp;#160; 130.117.50.22       &lt;br /&gt;11&amp;#160;&amp;#160; 148 ms&amp;#160;&amp;#160; 148 ms&amp;#160;&amp;#160; 147 ms&amp;#160; 154.54.2.5       &lt;br /&gt;12&amp;#160;&amp;#160; 126 ms&amp;#160;&amp;#160; 205 ms&amp;#160;&amp;#160; 213 ms&amp;#160; 38.104.57.198       &lt;br /&gt;13&amp;#160;&amp;#160; 126 ms&amp;#160;&amp;#160; 125 ms&amp;#160;&amp;#160; 125 ms&amp;#160; 209.222.128.146&lt;/p&gt; &lt;/blockquote&gt;  &lt;p align="justify"&gt;Entre 193.251.129.82 (te3-1.lonse1.london.opentransit.net qui appartient donc à OpenTransit) et 130.117.15.129 (gi9-39.mpd01.lon01.atlas.cogentco.com qui appartient à Cogent, tous les deux à Londres), c’est un temps de réponse multiplié par 5 qui nous souffle que la connexion entre ces deux réseaux (le fameux “peering”, interconnexion entre les deux fournisseurs de transit) est saturée ou volontairement bridée.&lt;/p&gt;  &lt;p&gt;Autre info importante, on s&amp;#39;aperçoit également que le problème existe DANS L&amp;#39;AUTRE SENS, c&amp;#39;est à dire de &lt;a href="http://forums.war-europe.com/warhammeronline/board/message?message.uid=112183"&gt;Cogent vers OpenTransit&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;D&amp;#39;ailleurs, si on utilise l’outil &amp;quot;&lt;a href="http://www.cogentco.com/us/network_lookingglass.php"&gt;looking glass&lt;/a&gt;&amp;quot; de Cogent pour tracer Orange.fr (en gros, on lance un tracert depuis un routeur de Cogent vers une adresse au choix. Faire routeur Washington DC / traceroute / www.orange.fr), on voit bien le point d&amp;#39;engorgement sur le même lien de peering de Londres (entre 5 et 6) :&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Tracing the route to www.orange.fr (193.252.122.103)      &lt;br /&gt;      &lt;br /&gt;&amp;#160; 1 fa0-8.na01.b005944-0.dca01.atlas.cogentco.com (66.250.56.189) 0 msec 0 msec 4 msec       &lt;br /&gt;&amp;#160; 2 gi1-3.3807.ccr02.dca01.atlas.cogentco.com (66.28.6.189) 4 msec 0 msec 0 msec       &lt;br /&gt;&amp;#160; 3 te8-4.ccr04.jfk02.atlas.cogentco.com (154.54.26.1) 8 msec       &lt;br /&gt;&amp;#160; 4 te4-4.ccr02.jfk05.atlas.cogentco.com (154.54.7.10) 8 msec&lt;/p&gt;    &lt;p&gt;&amp;#160; 5 francetelecom.jfk05.atlas.&lt;strong&gt;cogentco&lt;/strong&gt;.com (154.54.10.74) &lt;strong&gt;28 msec 28 msec 32 msec&lt;/strong&gt;       &lt;br /&gt;&amp;#160; 6 pos0-9-0-0.auvtr1.Aubervilliers.&lt;strong&gt;opentransit&lt;/strong&gt;.net (193.251.243.242) &lt;strong&gt;128 msec 128 msec 128 msec&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&amp;#160; 7 tengige0-0-0-5.pastr1.Paris.opentransit.net (193.251.243.186) 116 msec 112 msec 112 msec      &lt;br /&gt;&amp;#160; 8 gi9-0-0.passe2.Paris.opentransit.net (193.251.240.214) 112 msec 108 msec 112 msec       &lt;br /&gt;&amp;#160; 9 po6-2.bagse1.Bagnolet.opentransit.net (193.251.241.118) 112 msec 112 msec 116 msec       &lt;br /&gt;10 wanadooportails.GW.opentransit.net (193.251.251.54) 112 msec 112 msec 112 msec       &lt;br /&gt;11 rtbg1fsbae01-v183.net.b1.fti.net (193.252.121.175) 108 msec *&amp;#160; 108 msec&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Quelques recherches plus tard, c’est un autre indice qui émerge sous la forme &lt;a href="http://www.frameip.com/news/204-news-monde-tcpip-peering-cogent-ft-down.htm" target="_blank"&gt;d’une info qui date d’Avril 2005&lt;/a&gt; :&lt;/p&gt;  &lt;blockquote&gt;   &lt;p align="justify"&gt;&lt;em&gt;…abonnés Wanadoo qui se voient refuser l&amp;#39;accés à une partie non négligeable de sites en France et à l&amp;#39;étranger qui utilise le transit IP Cogent…&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p align="justify"&gt;Il y a donc des antécédents de désaccords entre FT/OpenTransit et Cogent.&lt;/p&gt;  &lt;p align="justify"&gt;Evidemment, Orange ne communique pas sur cet engorgement et la hotline ne connait pas ce type de problème (que je devine absent de ses “arbres de résolution” d’incidents abonnés).&lt;/p&gt;  &lt;p align="justify"&gt;&lt;strong&gt;Mais le point essentiel qui vient confirmer la situation&lt;/strong&gt;, c’est ce discret message du 25/10/2009 sur le forum de &lt;a href="http://linuxfr.org/forums/12/27938.html#1076114"&gt;Da Linux French Page&lt;/a&gt; : &lt;em&gt;“A tous les coups pour les sites qui rament tu passe par une interco Open Transit (Orange) / Cogent. Visiblement (d&amp;#39;après un gentil gars du support cogent), ils se tirent la bourre en ce moment pour renégocier des accords de peering.”&lt;/em&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Alors Orange, quand est-ce que je vais récupérer un accès internet (pour lequel je paye un abonnement, faut il le préciser ?) &lt;strong&gt;de qualité&lt;/strong&gt; ? Faudra t’il attendre que la situation se débloque ? Combien d’abonnés Orange va t’il accepter de perdre (et ça a déjà commencé) avant de remédier à la situation ?&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.forum-orange.com/forums/viewtopic.php?id=19152" target="_blank"&gt;Le forum Orange non officiel héberge une discussion sur le sujet…&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1738101" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/docxp/archive/tags/Informations/default.aspx">Informations</category><category domain="http://msmvps.com/blogs/docxp/archive/tags/Rant/default.aspx">Rant</category><category domain="http://msmvps.com/blogs/docxp/archive/tags/Orange/default.aspx">Orange</category><category domain="http://msmvps.com/blogs/docxp/archive/tags/Reseau/default.aspx">Reseau</category></item><item><title>Microsoft Trial Software Center</title><link>http://msmvps.com/blogs/erikr/archive/2009/11/06/microsoft-trial-software-center.aspx</link><pubDate>Fri, 06 Nov 2009 21:01:55 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1738090</guid><dc:creator>Erik Rozman</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;If you have been ever wondering which titles Microsoft offers for trial you    &lt;br /&gt;can look at the whole list at the following &lt;a href="http://www.microsoft.com/products/info/default.aspx?view=22&amp;amp;pcid=9d273393-92c9-4807-be9c-515a0d152415" target="_blank"&gt;link&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1738090" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/erikr/archive/tags/Microsoft/default.aspx">Microsoft</category></item><item><title>Holy cow this really works but this is really unsupported</title><link>http://msmvps.com/blogs/bradley/archive/2009/11/06/holy-cow-this-really-works-but-this-is-really-unsupported.aspx</link><pubDate>Fri, 06 Nov 2009 20:15:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1738082</guid><dc:creator>bradley</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Holy cow this really works! - THE OFFICIAL BLOG OF THE SBS &amp;quot;DIVA&amp;quot;: &lt;br /&gt;&lt;a href="http://msmvps.com/blogs/bradley/archive/2009/11/05/holy-cow-this-really-works.aspx"&gt;http://msmvps.com/blogs/bradley/archive/2009/11/05/holy-cow-this-really-works.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Please keep in mind that in the next few days as I blog about the migration from SBS 2003 to SBS 2008 test run that I&amp;#39;m doing that the SBS 2003 installed in HyperV is totally and utterly unsupported when it&amp;#39;s in that HyperV like that.&amp;nbsp; Exchange 2003 is not supported in HyperV, only in Virtual Server.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;If you put SBS 2003 on a platform that virtualization is not supported, you will get push back from support where they will tell you you have to recreate the issue on a supported platform.&lt;/p&gt;
&lt;p&gt;Support policy for Microsoft software running in non-Microsoft hardware virtualization software: &lt;br /&gt;&lt;a href="http://support.microsoft.com/default.aspx/kb/897615"&gt;http://support.microsoft.com/default.aspx/kb/897615&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Exchange is normally the one that sets the support line in the sand.&lt;/p&gt;
&lt;p&gt;&lt;span id="Wizard1_Label4" style="font-weight:bold;text-decoration:underline;"&gt;Summary Support Statement*&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;span id="Wizard1_lblSup" style="font-family:Arial;color:black;font-weight:normal;"&gt;This configuration is &lt;b&gt;Not Supported&lt;/b&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;span id="Wizard1_lblReq" style="color:red;"&gt;* Customers with Premier-level support agreements should contact their account manager for more information&lt;br /&gt;* Additional information is available in the &amp;quot;Support policy for Microsoft software running in non-Microsoft hardware virtualization software&amp;quot; which can be viewed &lt;a target="_blank" href="http://support.microsoft.com/kb/897615" style="color:black;"&gt;here&lt;/a&gt; &lt;/span&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&lt;span id="Wizard1_Label5" style="font-weight:bold;text-decoration:underline;"&gt;Support Statement Details &lt;/span&gt;&lt;/p&gt;
&lt;span id="Wizard1_lblPtl" style="font-weight:normal;"&gt;Product:&lt;/span&gt; &lt;span id="Wizard1_lblPrd" style="font-weight:bold;"&gt;Exchange Server 2003 Service Pack 2 on Hyper-V with Windows Server 2003 SP2 (x86) Guest OS&lt;/span&gt; 
&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;a target="_blank" class="one" id="Wizard1_lnkKBSearch" style="font-family:Arial;visibility:hidden;font-weight:bold;text-decoration:none;"&gt;&lt;span style="color:#0000ff;"&gt;Search the Knowledge Base for information related to this configuration&lt;/span&gt;&lt;/a&gt; &amp;nbsp;&lt;span id="Wizard1_lblGenComm" style="visibility:visible;font-weight:bold;text-decoration:underline;"&gt;More Information&lt;/span&gt;&lt;/p&gt;
&lt;span id="Wizard1_lblGenExp" style="height:48px;visibility:visible;"&gt;For Exchange Server 2003 Service Pack 2 only Virtual Server 2005 R2 and later is supported as hardware virtualization software. See &lt;a target="_blank" href="http://technet.microsoft.com/en-us/library/cc794548.aspx"&gt;here&lt;/a&gt; for specific configuration information.&lt;/span&gt;
&lt;p&gt;&lt;a href="http://www.windowsservercatalog.com/svvp.aspx?svvppage=svvpwizard.htm"&gt;http://www.windowsservercatalog.com/svvp.aspx?svvppage=svvpwizard.htm&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;For those asking about ESXi&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span id="Wizard1_Label4" style="font-weight:bold;text-decoration:underline;"&gt;Summary Support Statement*&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;span id="Wizard1_lblSup" style="font-family:Arial;color:black;font-weight:normal;"&gt;This configuration is &lt;b&gt;Supported&lt;/b&gt;.&lt;/span&gt; &lt;/p&gt;
&lt;span id="Wizard1_lblReq" style="color:red;"&gt;* Customers with Premier-level support agreements should contact their account manager for more information&lt;br /&gt;* Additional information is available in the &amp;quot;Support policy for Microsoft software running in non-Microsoft hardware virtualization software&amp;quot; which can be viewed &lt;a target="_blank" href="http://support.microsoft.com/kb/897615" style="color:black;"&gt;here&lt;/a&gt; &lt;/span&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&lt;span id="Wizard1_Label5" style="font-weight:bold;text-decoration:underline;"&gt;Support Statement Details &lt;/span&gt;&lt;/p&gt;
&lt;span id="Wizard1_lblPtl" style="font-weight:normal;"&gt;Product:&lt;/span&gt; &lt;span id="Wizard1_lblPrd" style="font-weight:bold;"&gt;Exchange Server 2007 Service Pack 1 on VMware ESXi with Windows Server 2008 (x64) Guest OS&lt;/span&gt; 
&lt;p&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;a target="_blank" href="http://support.microsoft.com/search/default.aspx?catalog=LCID%3D1033&amp;amp;query=Exchange%20Server%202007+virtualization&amp;amp;spid=10926" class="one" id="Wizard1_lnkKBSearch" style="font-family:Arial;visibility:visible;font-weight:bold;text-decoration:none;"&gt;&lt;span style="color:#0000ff;"&gt;Search the Knowledge Base for information related to this configuration&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;span id="Wizard1_lblGenComm" style="visibility:visible;font-weight:bold;text-decoration:underline;"&gt;More Information&lt;/span&gt;&lt;/p&gt;
&lt;span id="Wizard1_lblGenExp" style="height:80px;visibility:visible;"&gt;Exchange 2007 SP1 and later must be deployed on the Windows Server 2008 operating system. (Note: Windows Server 2008 R2 is not currently supported with Exchange Server 2007 on hardware virtualization). For more information about support and scaling see the Microsoft Support Policies and Recommendations for Exchange Servers in Hardware Virtualization Environments &lt;a target="_blank" href="http://technet.microsoft.com/en-us/library/cc794548.aspx"&gt;here&lt;/a&gt; .&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&amp;nbsp;&amp;nbsp;&lt;span id="Wizard1_lblFea" style="font-weight:bold;"&gt;Supported features: &lt;/span&gt;&amp;nbsp;&lt;span id="Wizard1_lblSupComp"&gt;Anti-Virus, Back-up Software, Virtual Machine Management Software, Cluster Continuous Replication (CCR), Virtual Processors&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&amp;nbsp;&amp;nbsp;&lt;span id="Wizard1_lblFea0" style="font-weight:bold;"&gt;Unsupported features: &lt;/span&gt;&amp;nbsp;&lt;span id="Wizard1_lblnotSupComp"&gt;Unified Messaging, Dynamically Expanding Virtual Disks, Virtual disks that use differencing or delta mechanisms, Hyper-V Quick Migration combined with Exchange Clustering, Virtual Machine Snap Shots&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;
&lt;p&gt; &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1738082" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bradley/archive/tags/Virtualization/default.aspx">Virtualization</category></item></channel></rss>