<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.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/"><channel><title>Antimail : Windows Server</title><link>http://blogs.msdn.com/adioltean/archive/tags/Windows+Server/default.aspx</link><description>Tags: Windows Server</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Script recipe: How to increase the maximum number of quotas in the FSRM Quota Report (W2K3 R2)</title><link>http://blogs.msdn.com/adioltean/archive/2009/09/18/script-recipe-how-to-increase-the-maximum-number-of-quotas-in-the-fsrm-quota-report-w2k3-r2.aspx</link><pubDate>Sat, 19 Sep 2009 01:45:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9896999</guid><dc:creator>AdiOltean</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/adioltean/comments/9896999.aspx</comments><wfw:commentRss>http://blogs.msdn.com/adioltean/commentrss.aspx?PostID=9896999</wfw:commentRss><description>&lt;P&gt;One of the customer requests we had on Windows Server 2003 R2 was the ability to increase the maximum number of quotas in the FSRM Quota report. The current limit is 1000 quotas maximum. How do I set this limit to 20,000 for example? &lt;/P&gt;
&lt;P&gt;Here is how - assuming that you have Powershell 1.0 installed, just run this script:&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in" class=CodeNormal&gt;&lt;FONT style="BACKGROUND-COLOR: #e5dfec" face="Lucida Console"&gt;$gm=New-Object -com Srmsvc.SrmGlobalStoreManager&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in" class=CodeNormal&gt;&lt;FONT style="BACKGROUND-COLOR: #e5dfec" face="Lucida Console"&gt;$s=[xml]$gm.GetStoreData("Settings", "ReportSettings")&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in" class=CodeNormal&gt;&lt;FONT style="BACKGROUND-COLOR: #e5dfec" face="Lucida Console"&gt;$s.Save("\fsrm-reports-backup.xml")&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in" class=CodeNormal&gt;&lt;FONT style="BACKGROUND-COLOR: #e5dfec" face="Lucida Console"&gt;$s.root.MaxQuotas="20000"&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in" class=CodeNormal&gt;&lt;FONT style="BACKGROUND-COLOR: #e5dfec" face="Lucida Console"&gt;$gm.SetStoreData("Settings", "ReportSettings",$s.get_InnerXml())&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;One note, however. The script above uses an COM object that is internally used by FSRM to store its internal configuration. Use this COM object as your own risk as this is not a published API. &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9896999" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/adioltean/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Script+recipes/default.aspx">Script recipes</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Storage/default.aspx">Storage</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/FSRM/default.aspx">FSRM</category></item><item><title>FCI – how to use classification (video)</title><link>http://blogs.msdn.com/adioltean/archive/2009/05/28/fci-how-to-use-classification-video.aspx</link><pubDate>Thu, 28 May 2009 23:23:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9648867</guid><dc:creator>AdiOltean</dc:creator><slash:comments>24</slash:comments><comments>http://blogs.msdn.com/adioltean/comments/9648867.aspx</comments><wfw:commentRss>http://blogs.msdn.com/adioltean/commentrss.aspx?PostID=9648867</wfw:commentRss><description>&lt;p&gt;Just found a new video demonstrating the new classification feature in Windows Server 2008 R2. Enjoy!&lt;/p&gt; &lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/80G-Y6iennc&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/80G-Y6iennc&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;  &lt;p&gt;Special thanks to &lt;a href="http://www.youtube.com/user/dawho1"&gt;dawho1&lt;/a&gt; who posted the video.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9648867" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/adioltean/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Click+or+miss/default.aspx">Click or miss</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Storage/default.aspx">Storage</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Classification/default.aspx">Classification</category></item><item><title>Script of the week: how to expire files with Classification</title><link>http://blogs.msdn.com/adioltean/archive/2009/05/15/script-of-the-week-how-to-expire-files-with-classification.aspx</link><pubDate>Fri, 15 May 2009 21:06:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9619054</guid><dc:creator>AdiOltean</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/adioltean/comments/9619054.aspx</comments><wfw:commentRss>http://blogs.msdn.com/adioltean/commentrss.aspx?PostID=9619054</wfw:commentRss><description>&lt;p&gt;It is an eye opening experience to sit at our FCI booth and see customer after customer telling us their biggest problem with managing file servers today: lots of old data sitting on their file servers. When I tell them how that our classification feature solves this problem, it something that always brings a sincere smile on their face. &lt;/p&gt;  &lt;p&gt;Creating a file expiration policy is super easy:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Open FSRM management console &lt;/li&gt;    &lt;li&gt;Go to the &amp;quot;File Management Tasks&amp;quot; view &lt;/li&gt;    &lt;li&gt;Create a file management task to expire your files. You need to specify the following settings:      &lt;ul&gt;       &lt;li&gt;The source directory of files to be expired &lt;/li&gt;        &lt;li&gt;The target directory (containing expired files) &lt;/li&gt;        &lt;li&gt;A condition for expiration (such as files created ten years ago (or files that were not modified in the last year) &lt;/li&gt;        &lt;li&gt;A schedule (say, weekly)&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Here is an example of the Action tab:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/adioltean/WindowsLiveWriter/ScriptoftheweekhowtoexpirefileswithClass_AD6A/image_2.png"&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://blogs.msdn.com/blogfiles/adioltean/WindowsLiveWriter/ScriptoftheweekhowtoexpirefileswithClass_AD6A/image_thumb.png" width="368" height="439" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;That's it. One simple task to solve the &amp;quot;old files lying around&amp;quot; problem. &lt;/p&gt;  &lt;p&gt;Now, a note to be added: the effect of this command will be the to &lt;strong&gt;move &lt;/strong&gt;these expired files into the target location (while trying to keep the original path). One effect though is that the original files will &amp;quot;disappear&amp;quot; from the original location, which in rare cases it might cause confusion to the end users. If you are concerned about that problem, the solution is easy: as part of the file management task you can run your own &lt;strong&gt;custom&lt;/strong&gt; &amp;quot;move&amp;quot; command which leaves in the original path a &amp;quot;stub&amp;quot; (a text file) explaining where the files have gone. Or, you can replace the original files with a symbolic link (or some other form of link) pointing to the target location. &lt;/p&gt;  &lt;p&gt;To do this, you need to do a few things: &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;In the File Management Task dialog, in the Action tab, change the task type from &amp;quot;File expiration&amp;quot; to &amp;quot;Custom&amp;quot;. Several more options appear (such as the path to the custom script, the account the script will run under, etc) &lt;/li&gt;    &lt;li&gt;Add the [Source File path] macro to the script arguments &lt;/li&gt;    &lt;li&gt;Run the command as &amp;quot;local system&amp;quot; (so it will be able to perform the move operation).&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Here is an example of how the task will look like:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/adioltean/WindowsLiveWriter/ScriptoftheweekhowtoexpirefileswithClass_AD6A/custom1_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="custom1" border="0" alt="custom1" src="http://blogs.msdn.com/blogfiles/adioltean/WindowsLiveWriter/ScriptoftheweekhowtoexpirefileswithClass_AD6A/custom1_thumb.png" width="364" height="434" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;The move_file_and_leave_link.cmd (located in c:\windows\system32) file is simple:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;if exist &amp;quot;c:\protected\%~pnx1&amp;quot; @echo Target file already exists! &amp;amp; goto :EOF     &lt;br /&gt;md &amp;quot;c:\HSM\%~p1&amp;quot;      &lt;br /&gt;move %1 &amp;quot;c:\protected\%~p1&amp;quot;      &lt;br /&gt;mklink %1 &amp;quot;c:\protected\%~pnx1&amp;quot;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The last command (mklink) has the role of creating a symbolic link from the source to the target. That’s it! &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9619054" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/adioltean/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Script+recipes/default.aspx">Script recipes</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Storage/default.aspx">Storage</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Classification/default.aspx">Classification</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/FCI/default.aspx">FCI</category></item><item><title>A simple way to access Shadow Copies in Vista</title><link>http://blogs.msdn.com/adioltean/archive/2008/02/28/a-simple-way-to-access-shadow-copies-in-vista.aspx</link><pubDate>Thu, 28 Feb 2008 21:37:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7936789</guid><dc:creator>AdiOltean</dc:creator><slash:comments>29</slash:comments><comments>http://blogs.msdn.com/adioltean/comments/7936789.aspx</comments><wfw:commentRss>http://blogs.msdn.com/adioltean/commentrss.aspx?PostID=7936789</wfw:commentRss><description>&lt;p&gt;In the past, I presented various ways to browse these mysterious device objects called &amp;quot;shadow copies&amp;quot;. Shadow copies are static images in time (snapshots) of your volume contents, at some point in the past. These shadow copies are volumes on their own, with a file system namespace accessible through the regular Win32 APIs such as FindFirstFile/FindNextFile. For example the existing &lt;a href="http://msdn2.microsoft.com/en-us/library/aa365200(VS.85).aspx"&gt;sample code&lt;/a&gt; in MSDN for these APIs that enumerates files on a real volume will work just fine on a shadow copy volume. In fact, that's how all backup applications are accessing shadow copy content today. &lt;/p&gt;  &lt;p&gt;So, if these devices are real volumes, how can we view them in Explorer? It turns out that you can't view them by default - this is simply because these are volumes without an associated drive letter or root mount point. However, in XP or Windows Server (and Vista), you can still access these shadow copies by assigning them a drive letter using utilities like &lt;a href="http://blogs.msdn.com/adioltean/archive/2006/09/18/761515.aspx"&gt;DOSDEV&lt;/a&gt;, or by doing tricks with the FOR command, etc.&amp;#160; &lt;/p&gt;  &lt;p&gt;Now, if you have Vista, it is much simpler to access shadow copy devices directly from Explorer. The trick is to use a new feature called &lt;a href="http://search.msn.com/results.aspx?q=symbolic+links&amp;amp;src=IE-SearchBox"&gt;Symbolic Links&lt;/a&gt;: to access the contents of a shadow copy as a &amp;quot;directory&amp;quot;, simply create a symbolic link to the device. Vista also includes a convenient command-line tool called &lt;a href="http://search.msn.com/results.aspx?q=mklink&amp;amp;src=IE-SearchBox"&gt;MKLINK.EXE&lt;/a&gt; to create symbolic links, which makes this operation very easy. &lt;/p&gt;  &lt;p&gt;Here is an example of accessing the contents of a shadow copy device. The first step is to enumerate shadow copies on the machine, using the VSSADMIN LIST SHADOW command. This will give us the devices and also a creation timestamp.&lt;/p&gt;  &lt;p&gt;&lt;font color="#000080"&gt;C:\Windows\system32&amp;gt;vssadmin list shadows |more     &lt;br /&gt;vssadmin 1.1 - Volume Shadow Copy Service administrative command-line tool      &lt;br /&gt;(C) Copyright 2001-2005 Microsoft Corp. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000080"&gt;Contents of shadow copy set ID: {c72c8036-d563-43c8-b351-1994dfad580a}     &lt;br /&gt;&amp;#160;&amp;#160; Contained 1 shadow copies at creation time: 2/23/2008 9:59:04 AM      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Shadow Copy ID: {f3727808-bea6-4b59-bef7-6849ee721709}      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Original Volume: (C:)\\?\Volume{3e83355f-7c0e-11dc-b416-806e6f6e6963}\      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Shadow Copy Volume: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy4      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Originating Machine: Adi-Game-PC      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Service Machine: Adi-Game-PC      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Provider: 'Microsoft Software Shadow Copy provider 1.0'      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Type: ClientAccessibleWriters      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Attributes: Persistent, Client-accessible, No auto release, Differential, Auto recovered &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000080"&gt;Contents of shadow copy set ID: {0bf23f77-8461-4869-b391-da4d213940a5}     &lt;br /&gt;&amp;#160;&amp;#160; Contained 1 shadow copies at creation time: &lt;font color="#ff0000"&gt;2/24/2008 4:00:24 AM       &lt;br /&gt;&lt;/font&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Shadow Copy ID: {87d59b22-9e84-4d0d-81ca-2b565d6f7e55}      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Original Volume: (C:)\\?\Volume{3e83355f-7c0e-11dc-b416-806e6f6e6963}\      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Shadow Copy Volume: &lt;strong&gt;&lt;font color="#ff0000"&gt;\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy5&lt;/font&gt;&lt;/strong&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Originating Machine: Adi-Game-PC      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Service Machine: Adi-Game-PC      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Provider: 'Microsoft Software Shadow Copy provider 1.0'      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Type: ClientAccessibleWriters      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Attributes: Persistent, Client-accessible, No auto release, Differential, Auto recovered &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000080"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000080"&gt;&lt;strong&gt;C:\Windows\system32&amp;gt;mklink &lt;font color="#ff0000"&gt;/d&lt;/font&gt; c:\shadowcopy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy5&lt;font color="#ff0000"&gt;\         &lt;br /&gt;&lt;/font&gt;symbolic link created for c:\shadowcopy &amp;lt;&amp;lt;===&amp;gt;&amp;gt; \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy5&lt;font color="#ff0000"&gt;\&lt;/font&gt;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#ff0000"&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000080"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000080"&gt;C:\Windows\system32&amp;gt;dir c:\shadowcopy     &lt;br /&gt; Volume in drive C has no label.      &lt;br /&gt; Volume Serial Number is 4A02-860C &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000080"&gt; Directory of c:\shadowcopy &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000080"&gt;12/14/2007&amp;#160; 01:46 AM&amp;#160;&amp;#160;&amp;#160; &amp;lt;DIR&amp;gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Asi     &lt;br /&gt;01/15/2008&amp;#160; 12:56 AM&amp;#160;&amp;#160;&amp;#160; &amp;lt;DIR&amp;gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; bin      &lt;br /&gt;12/13/2007&amp;#160; 11:59 PM&amp;#160;&amp;#160;&amp;#160; &amp;lt;DIR&amp;gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; debuggers      &lt;br /&gt;12/13/2007&amp;#160; 11:55 PM&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 17,644,031 dir.log      &lt;br /&gt;01/14/2008&amp;#160; 11:41 PM&amp;#160;&amp;#160;&amp;#160; &amp;lt;DIR&amp;gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Downloads      &lt;br /&gt;01/01/2008&amp;#160; 05:50 PM&amp;#160;&amp;#160;&amp;#160; &amp;lt;DIR&amp;gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; dumps      &lt;br /&gt;12/30/2007&amp;#160; 11:43 PM&amp;#160;&amp;#160;&amp;#160; &amp;lt;DIR&amp;gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; garbage      &lt;br /&gt;01/08/2008&amp;#160; 11:13 PM&amp;#160;&amp;#160;&amp;#160; &amp;lt;DIR&amp;gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Garmin      &lt;br /&gt;10/15/2007&amp;#160; 09:03 PM&amp;#160;&amp;#160;&amp;#160; &amp;lt;DIR&amp;gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Intel      &lt;br /&gt;12/30/2007&amp;#160; 11:59 PM&amp;#160;&amp;#160;&amp;#160; &amp;lt;DIR&amp;gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Program Files      &lt;br /&gt;01/27/2008&amp;#160; 01:32 AM&amp;#160;&amp;#160;&amp;#160; &amp;lt;DIR&amp;gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Program Files (x86)      &lt;br /&gt;01/15/2008&amp;#160; 12:17 AM&amp;#160;&amp;#160;&amp;#160; &amp;lt;DIR&amp;gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; test      &lt;br /&gt;01/30/2008&amp;#160; 06:52 AM&amp;#160;&amp;#160;&amp;#160; &amp;lt;DIR&amp;gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Users      &lt;br /&gt;12/14/2007&amp;#160; 01:55 AM&amp;#160;&amp;#160;&amp;#160; &amp;lt;DIR&amp;gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; WinDDK      &lt;br /&gt;02/13/2008&amp;#160; 05:23 AM&amp;#160;&amp;#160;&amp;#160; &amp;lt;DIR&amp;gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Windows      &lt;br /&gt;02/21/2008&amp;#160; 10:43 PM&amp;#160;&amp;#160;&amp;#160; &amp;lt;DIR&amp;gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Work      &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; 1 File(s)&amp;#160;&amp;#160;&amp;#160;&amp;#160; 17,644,031 bytes      &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; 15 Dir(s)&amp;#160; 147,657,666,560 bytes free&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;That's it. Now I have a persistent link called c:\shadowcopy which points to the contents of the shadow copy device - which is the image of my C:\ drive at 4:00 AM (this is when my latest system restore point was created). &lt;/p&gt;  &lt;p&gt;A new notes,though:&lt;/p&gt;  &lt;p&gt;1) Make sure you use the &amp;quot;/D&amp;quot; option in MKLINK so you create a directory-based, not a file-based symbolic link&lt;/p&gt;  &lt;p&gt;2) Make sure you append a backslash to the shadow copy device in the MKLINK command (marked in red above)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;If this made you interested about shadow copies - note that you can create, enumerate and delete shadow copies programatically using either VB scripts that use the &lt;a href="http://msdn2.microsoft.com/en-us/library/aa394428.aspx"&gt;WMI API&lt;/a&gt; for shadow copy administration, or by using the &lt;a href="http://msdn2.microsoft.com/en-us/library/bb968832(VS.85).aspx"&gt;VSS API&lt;/a&gt; (documented publicly on MSDN). Sample code is available in the Platform SDK as well. &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7936789" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/adioltean/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Script+recipes/default.aspx">Script recipes</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/VSS/default.aspx">VSS</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Storage/default.aspx">Storage</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Vista/default.aspx">Vista</category></item><item><title>[RO] Seminar - Storage si programare distribuita</title><link>http://blogs.msdn.com/adioltean/archive/2007/05/03/ro-seminar-storage-si-programare-distribuita.aspx</link><pubDate>Thu, 03 May 2007 20:57:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2397674</guid><dc:creator>AdiOltean</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/adioltean/comments/2397674.aspx</comments><wfw:commentRss>http://blogs.msdn.com/adioltean/commentrss.aspx?PostID=2397674</wfw:commentRss><description>&lt;P&gt;&lt;A class="" href="http://blogs.msdn.com/florinlazar/" mce_href="http://blogs.msdn.com/florinlazar/"&gt;Florin Lazar&lt;/A&gt;, &lt;A class="" href="http://weblogs.studentclub.ro/members/todi.aspx" mce_href="http://weblogs.studentclub.ro/members/todi.aspx"&gt;Todi Pruteanu&lt;/A&gt; si cu mine am demarat in cursul acestei saptamani un seminar tehnic pe teme de storage in Vista si programare distribuita in WCF.&amp;nbsp;Mai multe detalii aici: &lt;A href="http://reg.studentclub.ro/"&gt;http://reg.studentclub.ro&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;Pana acum seminariile din Bucuresti si Cluj au avut un raspuns fantastic! Daca aveti opinii, impresii (pozitive sau negative) m-as bucura sa le puneti in sectiunea de comentarii...&lt;/P&gt;
&lt;P&gt;Si nu in ultimul rand, multumiri lui Todi si Microsoft Romania pentru organizarea acestui eveniment.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2397674" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/adioltean/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Click+or+miss/default.aspx">Click or miss</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Questions/default.aspx">Questions</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/VSS/default.aspx">VSS</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Vista/default.aspx">Vista</category></item><item><title>Windows Home Server - links</title><link>http://blogs.msdn.com/adioltean/archive/2007/03/15/windows-home-server-links.aspx</link><pubDate>Fri, 16 Mar 2007 01:43:27 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1890270</guid><dc:creator>AdiOltean</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/adioltean/comments/1890270.aspx</comments><wfw:commentRss>http://blogs.msdn.com/adioltean/commentrss.aspx?PostID=1890270</wfw:commentRss><description>&lt;p&gt;A friend of mine didn't know about Windows Home Server - so I sent him these links: &lt;/p&gt; &lt;p class="MsoListParagraph" style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;span style="mso-fareast-font-family: calibri; mso-bidi-font-family: calibri"&gt;&lt;span style="mso-list: ignore"&gt;&lt;font face="Calibri" size="3"&gt;-&lt;/font&gt;&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri" size="3"&gt;Main site: &lt;/font&gt;&lt;a href="http://stopdigitalamnesia.com/"&gt;&lt;font face="Calibri" color="#800080" size="3"&gt;http://stopdigitalamnesia.com&lt;/font&gt;&lt;/a&gt;&lt;font face="Calibri" size="3"&gt; &lt;/font&gt;&lt;/p&gt; &lt;p class="MsoListParagraph" style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;span style="mso-fareast-font-family: calibri; mso-bidi-font-family: calibri"&gt;&lt;span style="mso-list: ignore"&gt;&lt;font face="Calibri" size="3"&gt;-&lt;/font&gt;&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri" size="3"&gt;Interview with Charlie Kindel&amp;nbsp;&lt;/font&gt;&lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=270965"&gt;&lt;font face="Calibri" color="#800080" size="3"&gt;http://channel9.msdn.com/ShowPost.aspx?PostID=270965&lt;/font&gt;&lt;/a&gt;&lt;font face="Calibri" size="3"&gt; &lt;/font&gt;&lt;/p&gt; &lt;p class="MsoListParagraph" style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;span style="mso-fareast-font-family: calibri; mso-bidi-font-family: calibri"&gt;&lt;span style="mso-list: ignore"&gt;&lt;font face="Calibri" size="3"&gt;-&lt;/font&gt;&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri" size="3"&gt;Download: &lt;/font&gt;&lt;a href="https://connect.microsoft.com/site/sitehome.aspx?wa=wsignin1.0&amp;amp;siteid=38"&gt;&lt;font face="Calibri" color="#800080" size="3"&gt;https://connect.microsoft.com/site/sitehome.aspx?wa=wsignin1.0&amp;amp;siteid=38&lt;/font&gt;&lt;/a&gt;&lt;font face="Calibri" size="3"&gt; &lt;/font&gt;&lt;/p&gt; &lt;p class="MsoListParagraph" style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;span style="mso-fareast-font-family: calibri; mso-bidi-font-family: calibri"&gt;&lt;span style="mso-list: ignore"&gt;&lt;font face="Calibri" size="3"&gt;-&lt;/font&gt;&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri" size="3"&gt;Articol on Wikipedia: &lt;/font&gt;&lt;a href="http://en.wikipedia.org/wiki/Windows_Home_Server"&gt;&lt;font face="Calibri" color="#800080" size="3"&gt;http://en.wikipedia.org/wiki/Windows_Home_Server&lt;/font&gt;&lt;/a&gt;&lt;font face="Calibri" size="3"&gt; &lt;/font&gt;&lt;/p&gt; &lt;p class="MsoListParagraph" style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;span style="mso-fareast-font-family: calibri; mso-bidi-font-family: calibri"&gt;&lt;span style="mso-list: ignore"&gt;&lt;font face="Calibri" size="3"&gt;-&lt;/font&gt;&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri" size="3"&gt;Blog: &lt;/font&gt;&lt;a href="http://blogs.technet.com/homeserver/"&gt;&lt;font face="Calibri" color="#800080" size="3"&gt;http://blogs.technet.com/homeserver&lt;/font&gt;&lt;/a&gt;&lt;font face="Calibri" size="3"&gt; &amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p class="MsoListParagraph" style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;span style="mso-fareast-font-family: calibri; mso-bidi-font-family: calibri"&gt;&lt;span style="mso-list: ignore"&gt;&lt;font face="Calibri" size="3"&gt;-&lt;/font&gt;&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri" size="3"&gt;Press release: &lt;/font&gt;&lt;a href="http://www.microsoft.com/Presspass/press/2007/jan07/01-08WindowsHomeServerPR.mspx"&gt;&lt;font face="Calibri" color="#800080" size="3"&gt;http://www.microsoft.com/Presspass/press/2007/jan07/01-08WindowsHomeServerPR.mspx&lt;/font&gt;&lt;/a&gt;&lt;font face="Calibri" size="3"&gt; &lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1890270" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/adioltean/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Click+or+miss/default.aspx">Click or miss</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/VSS/default.aspx">VSS</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Storage/default.aspx">Storage</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Vista/default.aspx">Vista</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/XBox/default.aspx">XBox</category></item><item><title>Demo: New virtualization technologies in Windows Server (Longhorn)</title><link>http://blogs.msdn.com/adioltean/archive/2007/03/02/demo-new-virtualization-technologies-in-windows-server-longhorn.aspx</link><pubDate>Fri, 02 Mar 2007 23:32:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1789835</guid><dc:creator>AdiOltean</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/adioltean/comments/1789835.aspx</comments><wfw:commentRss>http://blogs.msdn.com/adioltean/commentrss.aspx?PostID=1789835</wfw:commentRss><description>&lt;p&gt;A nice demo that shows you several things: &lt;/p&gt; &lt;p&gt;- Windows Server virtualization (a separate partition running a striped-down version of Windows&amp;nbsp;to manage all other virtual machines)&lt;/p&gt; &lt;p&gt;- Running an 8-proc virtual machine &lt;/p&gt; &lt;p&gt;- 64-bit and 32-bit machines running concurrently&lt;/p&gt; &lt;p&gt;- Managing virtual machines with System Center (nice UI)&lt;/p&gt; &lt;p&gt;- System Center Operations Manager: monitoring the VMs, provisioning new hardware in a scriptable manner. &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;embed pluginspage="http://macromedia.com/go/getflashplayer" src="http://images.soapbox.msn.com/flash/soapbox1_1.swf" width="412" height="362" type="application/x-shockwave-flash" flashvars="c=v&amp;amp;v=5119240c-6579-4827-8338-7f5539930402" wmode="transparent" quality="high"&gt;&lt;/embed&gt;&lt;br&gt;&lt;a title="Longhorn - Windows Server Virtualization" href="http://soapbox.msn.com/video.aspx?vid=5119240c-6579-4827-8338-7f5539930402" target="_new"&gt;Video: Longhorn - Windows Server Virtualization&lt;/a&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1789835" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/adioltean/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Click+or+miss/default.aspx">Click or miss</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Script+recipes/default.aspx">Script recipes</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Storage/default.aspx">Storage</category></item><item><title>The next generation of storage management is here! </title><link>http://blogs.msdn.com/adioltean/archive/2006/12/07/the-next-generation-of-storage-management-is-here.aspx</link><pubDate>Thu, 07 Dec 2006 08:45:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1230514</guid><dc:creator>AdiOltean</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/adioltean/comments/1230514.aspx</comments><wfw:commentRss>http://blogs.msdn.com/adioltean/commentrss.aspx?PostID=1230514</wfw:commentRss><description>&lt;P&gt;Storage management is complex, we all know it. For many people, even the simplest opeartions in&amp;nbsp;a SAN look like black magic.&amp;nbsp;It's no wonder why - if you want to, say, create a brand new 5 TB file share using your brand new your SAN box: you need to create a new LUN in your SAN, mounting it on a machine, initialize the disk, create partitions, assigning drive letters, create the file shares and assign proper permissions, etc. &lt;/P&gt;
&lt;P&gt;The new Windows product &lt;A class="" href="http://www.microsoft.com/windowsserversystem/storage/wudss.mspx" mce_href="http://www.microsoft.com/windowsserversystem/storage/wudss.mspx"&gt;launched today&lt;/A&gt;&amp;nbsp;solves this problem. WUDSS&amp;nbsp;offers simple, easy-to use wizards, for the complex operations above, plus of course, the famous Finish button. It's &lt;STRONG&gt;that &lt;/STRONG&gt;simple! &lt;/P&gt;
&lt;P&gt;And, yes, as you could guess, the main theme is simplifying and integrating all storage management scenarios (at least for file servers) in a single management UI: &lt;/P&gt;
&lt;P&gt;-&amp;nbsp;A new out-of-the-box experience (OOBE) that allows you to "initialize" your brand new shiny&amp;nbsp;storage box with a few mouse clicks. &lt;/P&gt;
&lt;P&gt;- Combined file, print and block-level storage services in a single management interface&lt;/P&gt;
&lt;P&gt;- Easy remote management through a single HTTP URL&lt;/P&gt;
&lt;P&gt;- New cluster configuration wizard that vastly simplifies provisioning and creation of shared disk resources. &lt;/P&gt;
&lt;P&gt;The product will ship on Dell's new PowerVault NX 1950 hardware initially, and other OEMs will incorporate it in other NAS boxes. &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;P.S.&amp;nbsp;&amp;nbsp;WUDSS&amp;nbsp;stands for&amp;nbsp;Windows Unified Data Storage Server 2003 - a long name, in our established Microsoft tradition :-)&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1230514" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/adioltean/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Click+or+miss/default.aspx">Click or miss</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/VSS/default.aspx">VSS</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Storage/default.aspx">Storage</category></item><item><title>Gartner redesigns Windows Vista</title><link>http://blogs.msdn.com/adioltean/archive/2006/08/26/725728.aspx</link><pubDate>Sat, 26 Aug 2006 23:55:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:725728</guid><dc:creator>AdiOltean</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/adioltean/comments/725728.aspx</comments><wfw:commentRss>http://blogs.msdn.com/adioltean/commentrss.aspx?PostID=725728</wfw:commentRss><description>&lt;p&gt;There is an &lt;a href="http://www.techworld.com/news/index.cfm?RSS&amp;amp;NewsID=6718"&gt;article&lt;/a&gt; in Techworld.com mentioning a curious research report from Gartner implying a redesign of the Windows Vista code base, around virtualization.&amp;nbsp;Huh? To quote from the article: &lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;em&gt;Instead, the research firm predicts, Microsoft will be forced to migrate Windows to a modular architecture tied together through hardware-supported virtualisation. "The current, integrated architecture of Microsoft Windows is unsustainable - for enterprises and for Microsoft," wrote Gartner analysts Brian Gammage, Michael Silver and David Mitchell Smith. &lt;/em&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;The problem is that the operating system's increasing complexity is making it ever more difficult for enterprises to implement migrations, and impossible for Microsoft to release regular updates. This, in turn, stands in the way of Microsoft's efforts to push companies to subscription licensing. &lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;There is a basic confusion going on here about architectural choices&amp;nbsp;vs. release frequency. &lt;/p&gt; &lt;p&gt;On the last point (release frequency), Microsoft is committed to not repeat the mistake of&amp;nbsp;delaying a Windows version that much (or any other&amp;nbsp;Windows version) and instead, impose a sense of predictable rythm in releasing incremental, predictable and evolutionary improvements&amp;nbsp;in future versions of Windows. Gaining this sense of rythm&amp;nbsp;&lt;strong&gt;can be done&lt;/strong&gt; even with an extremely complex&amp;nbsp;code base such as&amp;nbsp;Windows, and the &lt;strong&gt;proof&lt;/strong&gt; is the predictable, stable releases of Windows Server&amp;nbsp;versions already exist: Windows 2000 (beginning of 2000), then Windows&amp;nbsp;Server 2003 RTM (april 2003), then Windows Server&amp;nbsp;2003 R2 (RTM November 2005).&amp;nbsp;&lt;/p&gt; &lt;p&gt;That said, if we are talking about Operating Systems in general,&amp;nbsp;the architectural idea of achieving modularity through virtualization&amp;nbsp;is a very interesting idea. I would like to point out to a cool research project called &lt;a href="http://research.microsoft.com/os/singularity/"&gt;Singularity&lt;/a&gt; which achieves exactly that goal. If you want to see how operating systems will look like, say, 20 years from now, you can start with Singularity. One note, though: Singularity achieves isolation through pure software mechanisms. Hardware protection (like Hypervisor support from the AMD processors) is also possible to be used in conjunction with software isolation, although this is not a direct goal of the Singularity project. &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=725728" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/adioltean/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Click+or+miss/default.aspx">Click or miss</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Questions/default.aspx">Questions</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Vista/default.aspx">Vista</category></item><item><title>WS-Management? Already here in Vista!</title><link>http://blogs.msdn.com/adioltean/archive/2006/08/18/707162.aspx</link><pubDate>Sat, 19 Aug 2006 08:19:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:707162</guid><dc:creator>AdiOltean</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.msdn.com/adioltean/comments/707162.aspx</comments><wfw:commentRss>http://blogs.msdn.com/adioltean/commentrss.aspx?PostID=707162</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnglobspec/html/wsmgmtspecindex.asp"&gt;WS-Management&lt;/a&gt; is a new web services-based management protocol. It's SOAP-based of course, and it is compatible with the rest of the specifications in the WS-* Web Service stack, like WS-Transfer, WS-Enumeration, WS-Addressing. &lt;/p&gt; &lt;p&gt;WS-Management is enabled in Vista (and Longhorn Server) in several ways. &lt;/p&gt; &lt;ul&gt; &lt;li&gt;On the client side, you have a standard library (called WinRM) which can "consume" other WS-Management enabled interfaces. You could also use Indigo, or other web service frameworks to access the same services as well. Finally, there is a command-line tool also named WINRM which can be used to communicate with WS-Management enabled servers.  &lt;li&gt;On the server side, &lt;strong&gt;any&lt;/strong&gt; WMI class&amp;nbsp;can be made remotely accessible&amp;nbsp;through WS-Management. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="4"&gt;Security&lt;/font&gt; &lt;/strong&gt;&lt;/p&gt; &lt;p&gt;WS-Management is securely enabled on Vista machines. To find out the security configuration of your machine (both for client and server) you can use WS-Management itself like in the command below:&lt;/p&gt; &lt;blockquote dir="ltr" style="margin-right: 0px"&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;C:\&amp;gt;winrm get winrm/config&lt;br&gt;Config&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MaxEnvelopeSizekb = 150&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MaxTimeoutms = 60000&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MaxBatchItems = 20&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MaxProviderRequests = 25&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Client&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NetworkDelayms = 5000&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; URLPrefix = wsman&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AllowUnencrypted = false&lt;br&gt;&lt;font color="#ff0000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Auth&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Basic = false&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Digest = true&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Kerberos = true&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Negotiate = true&lt;/font&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DefaultPorts&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTP = 80&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPS = 443&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TrustedHosts&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Service&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RootSDDL = O:NSG:BAD:P(A;;GA;;;BA)(A;;GR;;;ER)S:P(AU;FA;GA;;;WD)(AU;SA;GWGX;;;WD)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MaxConcurrentOperations = 100&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EnumerationTimeoutms = 60000&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MaxConnections = 5&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AllowUnencrypted = false&lt;br&gt;&lt;font color="#ff0000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Auth&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Basic = false&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Kerberos = true&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Negotiate = true&lt;/font&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DefaultPorts&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTP = 80&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTPS = 443&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IPv4Filter = *&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IPv6Filter = *&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Winrs&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AllowRemoteShellAccess = true&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IdleTimeout = 900000&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MaxConcurrentUsers = 5&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MaxShellRunTime = 28800000&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MaxProcessesPerShell = 5&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MaxMemoryPerShellMB = 80&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MaxShellsPerUser = 2&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;By default, WS-Management is not enabled for remote access, Windows authentication is used by default on local acceess, and encryption is turned on. &lt;/p&gt; &lt;p&gt;You can enable remote access by typing:&lt;/p&gt; &lt;blockquote dir="ltr" style="margin-right: 0px"&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;C:\&amp;gt;&lt;font color="#ff0000"&gt;winrm quickconfig&lt;/font&gt;&lt;br&gt;WinRM is not set up to allow remote access to this machine for management.&lt;br&gt;The following changes must be made:&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;Set the WinRM service type to delayed auto start.&lt;br&gt;Start the WinRM service.&lt;br&gt;Create a WinRM listener on HTTP://* to accept WS-Man requests to any IP on this machine.&lt;br&gt;Enable the WinRM firewall exception.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;Make these changes [y/n]? y&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;WinRM has been updated for remote management.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;WinRM service type changed successfully.&lt;br&gt;WinRM service started.&lt;br&gt;Created a WinRM listener on HTTP://* to accept WS-Man requests to any IP on this machine.&lt;br&gt;WinRM firewall exception enabled.&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;The output above already illustrates one main advantages of web services - their flexibility with respect to firewall access. Say that you want to enable your current machine to accept incoming WS-Management SOAP requests through the port 80 (as HTTP requests). Then, all you need to do is opening port 80 and that's it! Also, NAT is not a problem, of course. &lt;/p&gt; &lt;p&gt;Try this type of&amp;nbsp;exercise when enabling DCOM through the firewall, and you'll have nightmares. This can get really complicated. Furthermore, DCOM doesn't really work in NAT environments.&lt;/p&gt; &lt;p&gt;&lt;font size="4"&gt;&lt;strong&gt;A simple example&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;At this point, you have a secure web service enabled on your machine, that you can then use to perform regular management queries, in WMI style. Let's get some information about a Windows service, like the status of the Spooler service. &amp;nbsp;&lt;/p&gt; &lt;p&gt;Note that I am doing a remote query - basically contacting the machine AOLTEAN-D2, through an internal, WS-Management&amp;nbsp;web service interface:&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;C:\&amp;gt;winrm &lt;strong&gt;&lt;font color="#ff0000"&gt;get&lt;/font&gt;&lt;/strong&gt; wmicimv2/&lt;font color="#ff0000"&gt;&lt;strong&gt;Win32_Service?Name=spooler&lt;/strong&gt;&lt;/font&gt; &lt;font color="#0000ff"&gt;-r:&lt;/font&gt;&lt;strong&gt;&lt;font color="#0000ff"&gt;aoltean-d2&lt;br&gt;&lt;/font&gt;&lt;/strong&gt;Win32_Service&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; AcceptPause = false&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; AcceptStop = true&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Caption = Print Spooler&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CheckPoint = 0&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CreationClassName = Win32_Service&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Description = Loads files to memory for later printing&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DesktopInteract = true&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DisplayName = Print Spooler&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ErrorControl = Normal&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ExitCode = 0&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; InstallDate = null&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Name = spooler&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PathName = C:\Windows\System32\spoolsv.exe&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ProcessId = 1472&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ServiceSpecificExitCode = 0&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ServiceType = Own Process&lt;br&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Started = true&lt;/strong&gt;&lt;/font&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; StartMode = Auto&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; StartName = LocalSystem&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; State = Running&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Status = OK&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SystemCreationClassName = Win32_ComputerSystem&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SystemName = AOLTEAN-D2&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TagId = 0&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WaitHint = 0&lt;/font&gt;&lt;/p&gt; &lt;p&gt;Well, it looks like the spooler service is started. We can&amp;nbsp;perform even more complicated queries, such as this one, to find the list of stopped services which are supposed to be started:&lt;/p&gt; &lt;p&gt;&lt;font face="Courier" size="1"&gt;C:\trace&amp;gt;winrm &lt;strong&gt;&lt;font color="#ff0000"&gt;enumerate&lt;/font&gt;&lt;/strong&gt; wmicimv2/* -filter:"&lt;font color="#ff0000"&gt;&lt;strong&gt;select * from win32_service where StartMode=\"Auto\" and State = \"Stopped\"&lt;/strong&gt;&lt;/font&gt; " -r:aoltean-d2&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier" size="1"&gt;XmlFragment&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Win32_Service&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AcceptPause = false&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AcceptStop = false&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Caption = Media Center Service Launcher&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CheckPoint = 0&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CreationClassName = Win32_Service&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Description = Starts Media Center Scheduler and Media Center Receiver services at startup if TV is enabled within Media Center.&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DesktopInteract = false&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DisplayName = Media Center Service Launcher&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ErrorControl = Ignore&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ExitCode = 0&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InstallDate = null&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Name = ehstart&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PathName = C:\Windows\system32\svchost.exe -k LocalServiceNoNetwork&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ProcessId = 0&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ServiceSpecificExitCode = 0&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ServiceType = Share Process&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Started = false&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; StartMode = Auto&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; StartName = NT AUTHORITY\LocalService&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; State = Stopped&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Status = OK&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SystemCreationClassName = Win32_ComputerSystem&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SystemName = AOLTEAN-D2&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TagId = 0&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WaitHint = 0&lt;br&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;So, where&amp;nbsp;does WS-Management comes into play? At its roots, WS-Management is a simple management protocol that allows us to&amp;nbsp;operate with &lt;strong&gt;resources&lt;/strong&gt;. WS-Management defines a few operations on these resources:&lt;/font&gt;&lt;/p&gt; &lt;ol&gt; &lt;li&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;strong&gt;Get resource properties &lt;/strong&gt;- this is used by the "winrm get ..." command above. We can see that we interrogate here a resoure (the "spooler" Windows service) and we obtain various properties like PathName, Started, etc.&lt;/font&gt;  &lt;li&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;strong&gt;Enumerate resources &lt;/strong&gt;- this is a more complex command that allows us to enumerate several resources at once&lt;/font&gt;  &lt;li&gt;&lt;font face="Courier" size="1"&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;strong&gt;Set properties&lt;/strong&gt; on a resource&lt;/font&gt;&lt;/font&gt; &lt;li&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;strong&gt;Create &lt;/strong&gt;or &lt;strong&gt;delete &lt;/strong&gt;resources&lt;/font&gt;  &lt;li&gt;&lt;font face="Courier" size="1"&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;strong&gt;Execute methods &lt;/strong&gt;on a resource, just like WMI methods.&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;In some sense, resources can be viewed as "objects" in OOP point of view, and WS-Management defines a simple protocol to manipulate these "objects".&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="4"&gt;&lt;strong&gt;Under the hood&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;So where do web services come into play? Can we peek into the actual management protocol? &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;With web services, it is actually easy - all we need to do is to use a network protocol analyzer to sniff the HTTP packets between client and the server. Ultimately, web service interactions are nothing more than exchanging XML packets using HTTP/HTTPS, so analyzing these interactions&amp;nbsp;is no more difficult than analyzing&amp;nbsp;HTTP request/response commands between a browser and a web server. &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;Let's take the GET command above (winrm get wmicimv2/Win32_Service?Name=spooler -r:aoltean-d2). In our case, the client program attempts to get the properties of a given resource&amp;nbsp;of type "wmicimv2/Win32_Service", identified by the selector "Name=spooler". &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;Let's dive in. With the network sniffer we obtain the following SOAP request message:&lt;/font&gt;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&amp;lt;s:Envelope &lt;br&gt;&amp;nbsp;xmlns:s="&lt;a href="http://www.w3.org/2003/05/soap-envelope"&gt;http://www.w3.org/2003/05/soap-envelope&lt;/a&gt;" &lt;br&gt;&amp;nbsp;xmlns:a="&lt;a href="http://schemas.xmlsoap.org/ws/2004/08/addressing"&gt;http://schemas.xmlsoap.org/ws/2004/08/addressing&lt;/a&gt;" &lt;br&gt;&amp;nbsp;xmlns:w="&lt;a href="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd"&gt;http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd&lt;/a&gt;"&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;s:Header&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;a:To&amp;gt;http://aoltean-d2:80/wsman&amp;lt;/a:To&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;w:ResourceURI s:mustUnderstand="true"&amp;gt;http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service&amp;lt;/w:ResourceURI&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;a:ReplyTo&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;a:Address s:mustUnderstand="true"&amp;gt;http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous&amp;lt;/a:Address&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/a:ReplyTo&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;a:Action s:mustUnderstand="true"&amp;gt;http://schemas.xmlsoap.org/ws/2004/09/transfer/Get&amp;lt;/a:Action&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;w:MaxEnvelopeSize s:mustUnderstand="true"&amp;gt;153600&amp;lt;/w:MaxEnvelopeSize&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;a:MessageID&amp;gt;uuid:2A553640-AA45-4BE1-8CE8-C3F20BD3C74E&amp;lt;/a:MessageID&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;w:Locale xml:lang="en-US" s:mustUnderstand="false" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;w:SelectorSet&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;w:Selector Name="Name"&amp;gt;spooler&amp;lt;/w:Selector&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/w:SelectorSet&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;w:OperationTimeout&amp;gt;PT60.000S&amp;lt;/w:OperationTimeout&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;/s:Header&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;s:Body&amp;gt;&amp;lt;/s:Body&amp;gt;&lt;br&gt;&amp;lt;/s:Envelope&amp;gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;Correspondingly, the WS-Man response packet looks like this:&lt;/font&gt;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&amp;lt;s:Envelope xml:lang="en-US" xmlns:s="&lt;a href="http://www.w3.org/2003/05/soap-envelope"&gt;http://www.w3.org/2003/05/soap-envelope&lt;/a&gt;" xmlns:a="&lt;a href="http://schemas.xmlsoap.org/ws/2004/08/addressing"&gt;http://schemas.xmlsoap.org/ws/2004/08/addressing&lt;/a&gt;" xmlns:w="&lt;a href="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd"&gt;http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd&lt;/a&gt;"&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;s:Header&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;a:Action&amp;nbsp; &amp;gt;http://schemas.xmlsoap.org/ws/2004/09/transfer/GetResponse&amp;lt;/a:Action&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;a:MessageID&amp;nbsp; &amp;gt;uuid:3E0BE062-2615-497E-BE6A-2FC7D5B7C9C3&amp;lt;/a:MessageID&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;a:To&amp;gt;http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous&amp;lt;/a:To&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;a:RelatesTo&amp;nbsp; &amp;gt;uuid:2A553640-AA45-4BE1-8CE8-C3F20BD3C74E&amp;lt;/a:RelatesTo&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;/s:Header&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;s:Body&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:Win32_Service xmlns:xsi="&lt;a href="http://www.w3.org/2001/XMLSchema-instance"&gt;http://www.w3.org/2001/XMLSchema-instance&lt;/a&gt;" xmlns:p="&lt;a href="http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service"&gt;http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service&lt;/a&gt;" xmlns:cim="&lt;a href="http://schemas.dmtf.org/wbem/wsman/1/base"&gt;http://schemas.dmtf.org/wbem/wsman/1/base&lt;/a&gt;" xsi:type="Win32_Service"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:AcceptPause&amp;gt;false&amp;lt;/p:AcceptPause&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:AcceptStop&amp;gt;true&amp;lt;/p:AcceptStop&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:Caption&amp;gt;Print Spooler&amp;lt;/p:Caption&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:CheckPoint&amp;gt;0&amp;lt;/p:CheckPoint&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:CreationClassName&amp;gt;Win32_Service&amp;lt;/p:CreationClassName&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:Description&amp;gt;Loads files to memory for later printing&amp;lt;/p:Description&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:DesktopInteract&amp;gt;true&amp;lt;/p:DesktopInteract&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:DisplayName&amp;gt;Print Spooler&amp;lt;/p:DisplayName&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:ErrorControl&amp;gt;Normal&amp;lt;/p:ErrorControl&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:ExitCode&amp;gt;0&amp;lt;/p:ExitCode&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:InstallDate xsi:nil="true"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:Name&amp;gt;spooler&amp;lt;/p:Name&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:PathName&amp;gt;C:\Windows\System32\spoolsv.exe&amp;lt;/p:PathName&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:ProcessId&amp;gt;1596&amp;lt;/p:ProcessId&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:ServiceSpecificExitCode&amp;gt;0&amp;lt;/p:ServiceSpecificExitCode&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:ServiceType&amp;gt;Own Process&amp;lt;/p:ServiceType&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:Started&amp;gt;true&amp;lt;/p:Started&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:StartMode&amp;gt;Auto&amp;lt;/p:StartMode&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:StartName&amp;gt;LocalSystem&amp;lt;/p:StartName&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:State&amp;gt;Running&amp;lt;/p:State&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:Status&amp;gt;OK&amp;lt;/p:Status&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:SystemCreationClassName&amp;gt;Win32_ComputerSystem&amp;lt;/p:SystemCreationClassName&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:SystemName&amp;gt;AOLTEAN-D2&amp;lt;/p:SystemName&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:TagId&amp;gt;0&amp;lt;/p:TagId&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:WaitHint&amp;gt;0&amp;lt;/p:WaitHint&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/p:Win32_Service&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;/s:Body&amp;gt;&lt;br&gt;&amp;lt;/s:Envelope&amp;gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;That's it for now.&amp;nbsp;I hope that&amp;nbsp;in a future post I will cover the actual structure of WS-Management messages. &lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=707162" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/adioltean/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Programming/default.aspx">Programming</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Script+recipes/default.aspx">Script recipes</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Storage/default.aspx">Storage</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Vista/default.aspx">Vista</category></item><item><title>Time Machine: Vista Previous Versions are now making their way into Mac OS X Leopard...</title><link>http://blogs.msdn.com/adioltean/archive/2006/08/07/691392.aspx</link><pubDate>Mon, 07 Aug 2006 23:25:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:691392</guid><dc:creator>AdiOltean</dc:creator><slash:comments>9</slash:comments><comments>http://blogs.msdn.com/adioltean/comments/691392.aspx</comments><wfw:commentRss>http://blogs.msdn.com/adioltean/commentrss.aspx?PostID=691392</wfw:commentRss><description>&lt;P&gt;Mac OS X Leopard incorporates now a previous versions feature called Time Machine - similar with something that we added in Windows Server 2003 a while back, and recently in Windows Vista as well. &lt;/P&gt;
&lt;P&gt;If you just read the text at &lt;A href="http://www.apple.com/macosx/leopard/timemachine.html"&gt;http://www.apple.com/macosx/leopard/timemachine.html&lt;/A&gt;&amp;nbsp;it looks a lot with what Vista already offers as well - automatic backup of your whole system at night, ability to use an external drive for your backups (Vista can also backup to a DVD-RW), ability to restore any file by going back in time, etc. &lt;/P&gt;
&lt;P&gt;However, their UI is very interesting - it is a&amp;nbsp;Flip3D-like browser of previous versions of your file system. &lt;/P&gt;
&lt;P&gt;P.S. &lt;STRONG&gt;Time Machine&lt;/STRONG&gt;? Funny enough - when we designed the Previous Versions feature in Windows Server 2003 back in 2001, the code name of our product was &lt;A href="http://www.timewarp.org.uk"&gt;Timewarp&lt;/A&gt;. &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=691392" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/adioltean/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/VSS/default.aspx">VSS</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Storage/default.aspx">Storage</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Vista/default.aspx">Vista</category></item><item><title>The Previous Versions feature in Vista - an ArsTechnica review</title><link>http://blogs.msdn.com/adioltean/archive/2006/07/31/684403.aspx</link><pubDate>Mon, 31 Jul 2006 22:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:684403</guid><dc:creator>AdiOltean</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/adioltean/comments/684403.aspx</comments><wfw:commentRss>http://blogs.msdn.com/adioltean/commentrss.aspx?PostID=684403</wfw:commentRss><description>&lt;P&gt;ArsTechnica noticed our new Previous Versions feature in Vista. Give it a click: &amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://arstechnica.com/news.ars/post/20060730-7383.html"&gt;http://arstechnica.com/news.ars/post/20060730-7383.html&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=684403" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/adioltean/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/VSS/default.aspx">VSS</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Storage/default.aspx">Storage</category></item><item><title>Why Flash memory is good for your computer</title><link>http://blogs.msdn.com/adioltean/archive/2006/07/05/656755.aspx</link><pubDate>Wed, 05 Jul 2006 12:17:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:656755</guid><dc:creator>AdiOltean</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.msdn.com/adioltean/comments/656755.aspx</comments><wfw:commentRss>http://blogs.msdn.com/adioltean/commentrss.aspx?PostID=656755</wfw:commentRss><description>&lt;P&gt;Simply put, flash memory will enable&amp;nbsp;&lt;STRONG&gt;a revolution&lt;/STRONG&gt; in improving computer performance in daily utilization scenarios. Your computer will boot up faster. It will launch applications significantly faster. (Hey, it will shutdown faster as well.)&lt;/P&gt;
&lt;P dir=ltr&gt;&lt;STRONG&gt;The problem &lt;/STRONG&gt;&lt;/P&gt;
&lt;P dir=ltr&gt;To see why we will have this dramatic performance improvement, let's remember how harddisks work: whenever you have a mixture of random I/O requests, the actuator moves across different tracks to read/write the corresponding data. Switching tracks is a slow operation. For an average SATA drive, this is around&amp;nbsp;9 milliseconds. This might not seem much, but a few milliseconds per seek&amp;nbsp;means that you can have at most a few hundred random I/Os per second. And this&amp;nbsp;feels like &lt;STRONG&gt;light-years&lt;/STRONG&gt; compared with&amp;nbsp;the performance of other components in the system like RAM access speeds or&amp;nbsp;even CPU frequency. So, just to give you an example, a random I/O with 4 KB requests and average of 4 ms seek time per request&amp;nbsp;would mean around 1000/4 * 4 KB = 1 MB per second disk transfer rate. Pretty small, don't you think? Especially when you compare it with sequential I/O, where you can get a much faster transfer rate (say, 60-70 MB/s on a regular harddisk, depending the rotational speed, data density, etc). &amp;nbsp;&lt;/P&gt;
&lt;P dir=ltr&gt;One trick to alleviate this performance issue is to minimize seek time by reordering writes and/or serving reads from cached memory. Memory caches can greatly help in this regard, but here is a little problem: applications, the OS, and other components do &lt;STRONG&gt;not&lt;/STRONG&gt; expect writes to be reordered. When you a write reordering is detected at the application level, then a data corruption can appear, especially when you reboot the machine in the middle of performingg a set of reordered writes. &lt;/P&gt;
&lt;P dir=ltr&gt;For example the applicaiton is performing Write(block1) followed by&amp;nbsp;Write(block2) in one thread, and Read(block1) followed by&amp;nbsp;Read(block2) on a different thread. In the sequence above, the application expects block1 to be written always before writing block2. Having this guarantee simplifies for example applicaiton recovery semantics, assuming that the computer can crash between writing block1 and block2. But if we perform write reordering, and only write to the disk block2, then our application&amp;nbsp;recovery logic cannot be done in any way. And so we get to corruption. &lt;/P&gt;
&lt;P dir=ltr&gt;Still, storage controllers perform today all sorts of tricks like maintaining a&amp;nbsp;write-through cache in volatile RAM, coupled with limited reordering. More advanced controllers, or SAN&amp;nbsp;equipment&amp;nbsp;use persistent caches (battery-backed volatile RAM)&amp;nbsp;to perform&amp;nbsp;write reordering, complementing advanced storage features&amp;nbsp;like RAID configurations, etc. &lt;/P&gt;
&lt;P dir=ltr&gt;&lt;STRONG&gt;The solution&amp;nbsp;- why flash is good&lt;/STRONG&gt;&lt;/P&gt;
&lt;P dir=ltr&gt;By now it should be clear how flash can be used in this picture: you can use inexpensive flash as a persistent write-through cache for reads/writes.&amp;nbsp;Also, the fact that this flash is persistent enables&amp;nbsp;reordering I/O requests at an unprecedented level, therefore greatly reducing our nasty seek time bottleneck:&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;&lt;EM&gt;The new 2Gb OneNAND chip doubles the capacity of a OneNAND memory device (from 1Gb) and increases the chip's ‘write' speed from 9.3MByte to 17MByte per second. &lt;BR&gt;&lt;BR&gt;”We're seeing a rapidly widening market for our OneNAND memory because of its outstanding performance and capacity that has become even more noteworthy with the application of 60 nm technology,” said Don Barnetson, Director, Flash Marketing, Samsung Semiconductor.&amp;nbsp;[...]&lt;/EM&gt;&lt;/P&gt;
&lt;P dir=ltr&gt;&lt;EM&gt;Because of its exceptionally high performance, OneNAND can serve as a catalyst in the development of new product markets. A much-discussed example of this application-creating role is in how OneNAND memory is now being specified as the buffer memory inside a hybrid hard disk. &lt;BR&gt;&lt;BR&gt;Samsung successfully demonstrated a commercial Hybrid-HDD prototype for the first time at the MS Developer Conference (WinHEC: Windows Hardware Engineering conference) in Seattle last month. &lt;/EM&gt;&lt;/P&gt;
&lt;P dir=ltr style="MARGIN-RIGHT: 0px"&gt;[source: &lt;A href="http://www.physorg.com/news70899414.html"&gt;http://www.physorg.com/news70899414.html&lt;/A&gt;]&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P dir=ltr&gt;&lt;STRONG&gt;Flash-based I/O&amp;nbsp;optimizations - already present in Vista&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P dir=ltr&gt;One more thing worth mentioning: Vista already benefits from Flash-based optimization. The feature is called EMD (External Memory Device), and can boost the performance of your computer by simply adding a USB thumbdrive and designate it as an EMD device. Under the cover, it works in a similar way with the technique described above. &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=656755" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/adioltean/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Click+or+miss/default.aspx">Click or miss</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Windows+XP/default.aspx">Windows XP</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Storage/default.aspx">Storage</category></item><item><title>Passwords: Bad "best practices"</title><link>http://blogs.msdn.com/adioltean/archive/2006/04/24/582771.aspx</link><pubDate>Tue, 25 Apr 2006 09:17:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:582771</guid><dc:creator>AdiOltean</dc:creator><slash:comments>14</slash:comments><comments>http://blogs.msdn.com/adioltean/comments/582771.aspx</comments><wfw:commentRss>http://blogs.msdn.com/adioltean/commentrss.aspx?PostID=582771</wfw:commentRss><description>&lt;P&gt;So, you think that your password is secure? Let's see: does it contain a mixture of uppercase/lowercase letters, punctuation marks and digits? Yes? Well, even in this case, your password might be still completely insecure. Read ahead why...&lt;/P&gt;
&lt;P&gt;To understand the problem,&amp;nbsp;we need first a little rehash of the basic password cracking techniques. The simplest algorithm would be to simply (1) enumerate all English words and names from a given dictionary and (2) check to see if this word matches as your password. &lt;/P&gt;
&lt;P&gt;You might say -&amp;nbsp;but in this context we are talking about other characters like punctuation marks and digits that are part of the password. What would&amp;nbsp;an attacker do in this case? Simple - use a little psychology.&lt;/P&gt;
&lt;P&gt;The problem is that most people feel that&amp;nbsp;adding digits and other characters is just &lt;STRONG&gt;a burden&lt;/STRONG&gt;.&amp;nbsp;When the "password will expire today" dialog comes, they will be in a hurry to get a new password, maybe an easy-to-remember word, and then alter it in a few ways:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;1) First, the password needs to have a capital letter.&amp;nbsp;Most people will naturally choose the first letter from our English word to be capitalized.&amp;nbsp;So, a word like "flowers" becomes "Flowers".&lt;BR&gt;2) Second, the password needs to contain some digits. The password would look nicer (and easier to remember) when these digits are appended to the word. Even more,&amp;nbsp;people are&amp;nbsp;usually unimaginative here, and just append one digit, or in more complex cases, digit sequences like "123" or "01" or eventually their birthdate. &lt;BR&gt;3) Third, we need some non-alphanumeric characters. Well, let's see. If we replace an "s" with "$", "a" with "@" or "o" with zero, then we get what we want, right?&amp;nbsp;It is hard to resist the tentation to replace "s" with "$" at least (and not an "a" with "$"), and therefore getting a false sense of security.&amp;nbsp;In some cases&amp;nbsp;also using delimiter characters like "!" or "#" to separate the word from the digit sequence. &lt;/P&gt;
&lt;P&gt;So, with the example above, the altered&amp;nbsp;forms of the word "flowers" might be: "Fl0wer$" or "Flower$01" or "Fl0wers#123" and so on and so forth.&lt;/P&gt;
&lt;P&gt;The problem with these alteration&amp;nbsp;rules is that they are &lt;STRONG&gt;so predictable&lt;/STRONG&gt;. All the attacker has to do is to take the same&amp;nbsp;list of English words, and apply the rules above. He will probably get a longer list by, say&amp;nbsp;a factor of 10-100 which is not that much.&lt;/P&gt;
&lt;P&gt;In conclusion, it's not that hard to enter into the minds of regular people, and neither in the minds of attackers. So, if you used any of these rules above, then stop using them. Instead, &lt;A href="http://www.microsoft.com/athome/security/privacy/password.mspx"&gt;here&lt;/A&gt; are some rules to create strong passwords.&lt;/P&gt;
&lt;P&gt;P.S. As for me? I just uuidgen.exe to create a random sequence of digits.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=582771" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/adioltean/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Windows+XP/default.aspx">Windows XP</category></item><item><title>How to run Defrag on a scheduled basis</title><link>http://blogs.msdn.com/adioltean/archive/2006/04/07/570634.aspx</link><pubDate>Fri, 07 Apr 2006 10:18:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:570634</guid><dc:creator>AdiOltean</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.msdn.com/adioltean/comments/570634.aspx</comments><wfw:commentRss>http://blogs.msdn.com/adioltean/commentrss.aspx?PostID=570634</wfw:commentRss><description>&lt;P&gt;On Windows XP, it's simple. Just run this command and you are done:&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;schtasks /create /TN defrag /RU "NT AUTHORITY\SYSTEM" /SC weekly /TR "defrag %systemdrive%"&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=570634" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/adioltean/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Script+recipes/default.aspx">Script recipes</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Windows+XP/default.aspx">Windows XP</category><category domain="http://blogs.msdn.com/adioltean/archive/tags/Storage/default.aspx">Storage</category></item></channel></rss>