<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Windows Storage Team</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/san/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/san/feed.xml</link>
    <description>Windows Storage and Filesystems</description>
    <lastBuildDate>Sat, 11 Apr 2015 17:58:09 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Two new modules related to Storage Spaces for Windows PowerShell</title>
      <link>https://docs.microsoft.com/archive/blogs/san/two-new-modules-related-to-storage-spaces-for-windows-powershell</link>
      <pubDate>Fri, 19 Oct 2012 14:26:00 GMT</pubDate>
      <dc:creator><![CDATA[Bruce Langworthy - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/san/2012/10/19/two-new-modules-related-to-storage-spaces-for-windows-powershell/</guid>
      <description><![CDATA[Hello,  &#160;  I’ve just posted two new modules for Windows PowerShell that I wrote which are...]]></description>
      <content:encoded><![CDATA[<p>Hello,</p>  <p>&#160;</p>  <p>I’ve just posted two new modules for Windows PowerShell that I wrote which are designed to help with the management and diagnosis of Storage Spaces.</p>  <p>&#160;</p>  <p>These modules are;</p>  <p>&#160;</p>  <p><strong>StorageSpaces     <br /></strong>This module automates deployment of Storage Spaces and provides intent-based management.&#160; For example, instead of using many different cmdlets from the <strong>Storage</strong> module to create a Storage Space, Initialize it, partition it, and format it, all of these tasks are performed via a single cmdlet in Windows PowerShell. </p>  <p>Additionally these cmdlets will work in conjunction with a Failover Cluster using shared SAS storage with Storage Spaces to create a Cluster Shared Volume (CSV) in a single step as well.</p>  <p>Read more and download the module here;   <br /><a title="https://gallery.technet.microsoft.com/scriptcenter/Storage-Spaces-module-for-4be70a0c" href="https://gallery.technet.microsoft.com/scriptcenter/Storage-Spaces-module-for-4be70a0c">https://gallery.technet.microsoft.com/scriptcenter/Storage-Spaces-module-for-4be70a0c</a></p>  <p>&#160;</p>  <p><strong>Storage Spaces Performance Diagnostic     <br /></strong>This module can be used to diagnose issues where one or more disks in a Storage Pool are performing abnormally, which are resulting in a Storage Space performing slowly.</p>  <p>Read more, and download this module here;   <br /><a title="https://gallery.technet.microsoft.com/scriptcenter/Storage-Spaces-Performance-9366b756" href="https://gallery.technet.microsoft.com/scriptcenter/Storage-Spaces-Performance-9366b756">https://gallery.technet.microsoft.com/scriptcenter/Storage-Spaces-Performance-9366b756</a></p>  <p>Thanks, and I hope you find value in using these add-on modules for Windows PowerShell.</p>  <p>Also, I wish to take a moment to apologize to my Wife for the time I’ve spent over the last 2 years or so learning Windows PowerShell and writing these modules, as well as to thank her for not killing me during the process <img class="wlEmoticon wlEmoticon-smile" style="style" alt="Smile" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/7522.wlEmoticon-smile_4224CD34.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/7522.wlEmoticon_2D00_smile_5F00_4224CD34.png" /></p>  <p>&#160;</p>  <p>Thanks also to Wentao Deng for his assistance with the PowerShell remote calls for Failover Clustering management, as well as his assistance with testing and bug fixes during the course of this project.</p>  <p>&#160;</p>  <p>&#160;</p>  <p>Sincerely, </p>  <p>&#160;</p>  <p>Bruce Langworthy</p>]]></content:encoded>
    </item>
    <item>
      <title>Creating a Bootable USB Disk on Windows 8 for deploying Windows</title>
      <link>https://docs.microsoft.com/archive/blogs/san/creating-a-bootable-usb-disk-on-windows-8-for-deploying-windows</link>
      <pubDate>Thu, 04 Oct 2012 14:00:00 GMT</pubDate>
      <dc:creator><![CDATA[Bruce Langworthy - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/san/2012/10/04/creating-a-bootable-usb-disk-on-windows-8-for-deploying-windows/</guid>
      <description><![CDATA[As an introduction to some of the major improvements in managing your storage via PowerShell in the...]]></description>
      <content:encoded><![CDATA[<p><font size="2" face="Calibri">As an introduction to some of the major improvements in managing your storage via PowerShell in the Windows 8, I wanted to give a comparison of how you would go through the process of creating a bootable USB disk such as would be done for deploying Windows 8 to multiple computers.</font></p> <font size="2" face="Calibri"></font>  <p><font size="2" face="Calibri">Historically, this could have been achieved via <strong>Diskpart.exe,</strong> as long as I knew the correct disk number, as it was not easy to script this operation with DiskPart.</font></p>  <p><font face="Calibri"></font></p>  <h3><font color="#9b00d3" face="Calibri">My scenario for this post is the following;</font></h3>  <p><font size="2" face="Calibri">I have 2 USB disks connected to my machine, and I want to erase only one of these, make it bootable, and copy the Consumer Preview image to this disk for fast deployment on several machines.</font></p>  <p><font face="Calibri"></font></p>  <h3><font color="#9b00d3" face="Calibri">Prior method using DiskPart.exe</font></h3>  <p><font size="2" face="Calibri">First, I would need to do some research using <strong>Diskpart</strong>.exe or <strong>DiskMgmt</strong> and would need to figure out which of the disks I have was the one that mapped to my USB disk..</font></p> <font size="2" face="Calibri"></font>  <p><font size="2" face="Calibri">Using the <strong>Select Disk X</strong>, <strong>Detail disk</strong> commands in <strong>Diskpart</strong> against every disk, I could eventually determine which of the disks I have connected is the USB disk, which would have allowed me to prepare the disk. </font></p>  <p><font size="2" face="Calibri">The issue here is this is not really scriptable via <strong>DiskPa</strong>rt without building scripts to parse the output of <strong>DiskPart</strong> to find the correct disk.</font></p>  <p>&#160;</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/5153.image_5EE29E80.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/5153.image_5F00_5EE29E80.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/0451.image_thumb_7367EDFE.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/0451.image_5F00_thumb_5F00_7367EDFE.png" width="417" height="274" /></a></p>  <p><font size="2" face="Calibri">Followed by all of the appropriate commands to prepare this disk from <strong>diskpart</strong>.</font></p>  <p><font size="2" face="Calibri"></font></p>  <p><font size="2" face="Calibri">This method is painful, and I don’t like painful <img class="wlEmoticon wlEmoticon-smile" alt="Smile" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/3443.wlEmoticon-smile_6E6F7967.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/3443.wlEmoticon_2D00_smile_5F00_6E6F7967.png" /></font></p> <font face="Calibri"></font>  <h3><font face="Calibri"><font color="#9b00d3">Using Windows PowerShell to achieve this scenario using Windows 8:</font>&#160;</font></h3> <font face="Calibri"></font>  <p><em><font face="Calibri"><font size="2"><strong><font color="#ff0000">Warning</font></strong>: <font color="#ff0000">The Clear-Disk command does erase the disk(s) specified. Running these commands with multiple USB disks connected would erase <strong>all</strong> of the USB disks unless the results are filtered further.</font></font></font></em></p> <font size="2" face="Calibri"></font>  <p>&#160;</p>  <p><font size="2" face="Calibri">List all of the Disks that are connected</font></p>  <blockquote>   <p><font style="background-color: rgb(204, 204, 204);" size="2" face="Consolas">Get-Disk</font></p> </blockquote>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/0815.image_0AF268A5.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/0815.image_5F00_0AF268A5.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/8233.image_thumb_1F77B823.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/8233.image_5F00_thumb_5F00_1F77B823.png" width="531" height="88" /></a></p>  <p><font size="2" face="Calibri">Since I wanted to specifically use a specific USB disk for this process, I need to list only the USB-connected disks:</font></p>  <p><font size="2" face="Calibri">List all the disks that are connected via USB&#160;&#160;&#160;&#160; </font></p> <font size="2"></font>  <blockquote><font size="2"></font>    <p><font style="background-color: rgb(204, 204, 204);" size="2" face="Consolas">Get-Disk | where-object BusType -eq &quot;USB&quot;</font></p> </blockquote>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/4532.image_58226230.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/4532.image_5F00_58226230.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/7268.image_thumb_38075573.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/7268.image_5F00_thumb_5F00_38075573.png" width="536" height="61" /></a><font size="2" face="Calibri"></font></p>  <p><font size="2" face="Calibri">Since I have 2 USB disks connected (as seen above), and I only want clear and prepare the first one, I would need to either filter the list above further, or to specify the exact disk to manage, using one of the following approaches:</font></p>  <blockquote>   <p><font style="background-color: rgb(204, 204, 204);" size="2" face="Consolas">Get-Disk 7</font></p>   <font size="2"></font></blockquote> <font size="2"></font>  <blockquote><font size="2"></font>    <p><font size="2">or</font></p>   <font size="2"></font></blockquote> <font size="2"></font>  <p>&#160;</p> <font size="2"></font>  <blockquote><font size="2"></font>    <p><font style="background-color: rgb(204, 204, 204);" size="2" face="Consolas">Get-Disk | where-object Bustype –eq “USB” | where-object FriendlyName –like Kingston*</font></p> </blockquote>  <p>&#160; </p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/8738.image_49E3E940.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/8738.image_5F00_49E3E940.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/5280.image_thumb_57B62F3B.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/5280.image_5F00_thumb_5F00_57B62F3B.png" width="547" height="51" /></a></p>  <p>&#160;</p>  <p><font size="2" face="Calibri">Now that I know how to query for the disk I wanted to erase and prepare, how would I go about scripting this?</font></p>  <p>   <br /><font face="Consolas"><font style="background-color: rgb(204, 204, 204);" size="2">$Disk = Get-Disk </font></font><font face="Consolas"><font style="background-color: rgb(204, 204, 204);" size="2">| where-object Bustype –eq “USB” </font></font><font face="Consolas"><font style="background-color: rgb(204, 204, 204);" size="2">| where-object FriendlyName –like Kingston*</font></font></p>  <p>&#160;</p>  <p><font style="background-color: rgb(204, 204, 204);" size="2" face="Consolas">$Disk | Clear-Disk –RemoveData –Passthru `      <br />&#160;&#160;&#160;&#160;&#160; | Initialize-Disk -PartitionStyle MBR –Passthru `       <br />&#160;&#160;&#160;&#160;&#160; | New-Partition -IsActive -UseMaximumSize -DriveLetter U `       <br />&#160;&#160;&#160;&#160;&#160; | Format-Volume -NewFileSystemLabel &quot;Bootable USB&quot; -FileSystem NTFS</font></p>  <blockquote></blockquote> <font face="Consolas"><font size="2" face="Calibri"></font></font><font face="Consolas"><font size="2" face="Calibri">Now that the USB disk is prepared, how do I go about mounting the ISO image that I downloaded so that I can copy the files to the USB disk I just prepared?</font></font>   <p><font size="2" face="Calibri"></font></p>  <blockquote>   <p><font style="background-color: rgb(204, 204, 204);" size="2" face="Consolas">$ISOPath = &quot;C:\Windows8-ConsumerPreview\Windows8-ConsumerPreview-64bit-English.iso&quot;</font></p>   <font size="2"></font>    <p><font style="background-color: rgb(204, 204, 204);" size="2" face="Consolas">Mount-DiskImage $IsoPath        <br />        <br />Get-DiskImage $IsoPath | Get-Volume</font></p> </blockquote>  <p>&#160;</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/0827.image_6D97137D.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/0827.image_5F00_6D97137D.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/2068.image_thumb_7F73A74A.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/2068.image_5F00_thumb_5F00_7F73A74A.png" width="534" height="61" /></a></p>  <blockquote><font size="2" face="Calibri">     <p>By going a little further with this example, I could even automate the process of copying the installation files to the new disk, by using the following method to get the source and destination paths for use with Robocopy</p>   </font></blockquote>  <blockquote>   <p><font size="1" face="Consolas"></font><font style="background-color: rgb(204, 204, 204);"></font></p>    <p><font style="background-color: rgb(204, 204, 204);"></font></p> </blockquote>  <p><font style="background-color: rgb(204, 204, 204);"></font></p>  <blockquote>   <p><font style="background-color: rgb(204, 204, 204);" size="2" face="Consolas">$SourcePath&#160; = ((Get-Volume `        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; | where-object Filesystem -eq &quot;UDF&quot;).DriveLetter + ':\')&#160;&#160;&#160;&#160;&#160;&#160; </font></p>   <font style="background-color: rgb(204, 204, 204);" size="2" face="Consolas"></font>    <p><font style="background-color: rgb(204, 204, 204);" size="2" face="Consolas">$DestinationPath = (($Disk `        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font style="background-color: rgb(204, 204, 204);" size="2" face="Consolas">| Get-Partition).DriveLetter&#160; +':\')&#160;&#160; </font></p>    <p><font style="background-color: rgb(204, 204, 204);" size="2" face="Consolas">robocopy $SourcePath $DestinationPath /s</font></p> </blockquote>  <blockquote>   <p>&#160;</p>    <p>Thanks,</p>    <p>&#160;</p>    <p>Bruce Langworthy     <br />Senior Program Manager – Windows Storage and FileSystems</p> </blockquote>  <blockquote>   <p><font style="background-color: rgb(204, 204, 204);" size="1" face="Consolas"></font></p></blockquote>]]></content:encoded>
    </item>
    <item>
      <title>Determining disk health using Windows PowerShell on Windows Server 2012 and Windows 8</title>
      <link>https://docs.microsoft.com/archive/blogs/san/determining-disk-health-using-windows-powershell-on-windows-server-2012-and-windows-8</link>
      <pubDate>Wed, 26 Sep 2012 09:15:00 GMT</pubDate>
      <dc:creator><![CDATA[Bruce Langworthy - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/san/2012/09/26/determining-disk-health-using-windows-powershell-on-windows-server-2012-and-windows-8/</guid>
      <description><![CDATA[Last year, I had posted an article on how to view SMART data from a disk to determine the health of...]]></description>
      <content:encoded><![CDATA[<p>Last year, I had posted an article on how to view SMART data from a disk to determine the health of the disk on Windows 7 and Windows Server 2008 R2;</p>
<p>&nbsp;</p>
<p><a title="https://blogs.msdn.com/b/san/archive/2011/08/11/have-you-ever-wanted-to-know-if-your-disk-is-going-to-fail-before-it-does.aspx" href="https://blogs.msdn.com/b/san/archive/2011/08/11/have-you-ever-wanted-to-know-if-your-disk-is-going-to-fail-before-it-does.aspx">https://blogs.msdn.com/b/san/archive/2011/08/11/have-you-ever-wanted-to-know-if-your-disk-is-going-to-fail-before-it-does.aspx</a></p>
<p>&nbsp;</p>
<p>For Windows 8, we took this a step further with the addition of the <strong>Get-StorageReliabilityCounter</strong> cmdlet in the <strong>Storage</strong> module for Windows PowerShell.&nbsp;</p>
<p>This information can be obtained by passing either a Disk or a PhysicalDisk object (when using Storage Spaces) to this cmdlet. For example,</p>
<blockquote>
<p><span style="background-color: #cccccc;">Get-Disk 0 | Get-StorageReliabilityCounter</span></p>
<p>or</p>
<p><span style="background-color: #cccccc;">Get-PhysicalDisk &ndash;FriendlyName PhysicalDisk1 | Get-StorageReliabilityCounter</span></p>
</blockquote>
<p>&nbsp;</p>
<p>By reviewing this information is possible to make several types of determinations, such as:</p>
<p>&nbsp;</p>
<ul>
<li>What is the temperature of my Disk?</li>
<ul>
<li>Is my disk hotter than the manufacturer recommended maximum?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</li>
</ul>
</ul>
<p>&nbsp;</p>
<ul>
<li>Has my disk experienced any sort of read or write failures?&nbsp;&nbsp;&nbsp;&nbsp;</li>
</ul>
<p>&nbsp;</p>
<ul>
<li>Is my SSD disk approaching the end of its use (Via the Wear property).</li>
</ul>
<p>&nbsp;</p>
<ul>
<li>Has this disk experienced any long delays in reading or writing data</li>
</ul>
<p>It is important to note that some values are only of interest when compared with drives of the same model, and I wanted to give a couple of concrete examples for how to use these counters effectively:</p>
<p>&nbsp;</p>
<p align="left">&nbsp;</p>
<p align="left">&nbsp;</p>
<table style="width: 491px;" border="1" cellspacing="0" cellpadding="2">
<tbody>
<tr>
<td valign="top" width="184">
<blockquote style="margin-right: 0px;" dir="ltr">
<p align="center"><strong>PropertyName</strong></p>
</blockquote>
</td>
<td valign="top" width="305">
<blockquote style="margin-right: 0px;" dir="ltr">
<p align="center"><strong>Suggested Use</strong></p>
</blockquote>
</td>
</tr>
<tr>
<td valign="top" width="184">
<p style="margin-right: 0px;" dir="ltr" align="left">Read or Write failures</p>
</td>
<td valign="top" width="305">
<p style="margin-right: 0px;" dir="ltr" align="left">This counter is of interest without comparing to other drives.&nbsp; Any drive reporting read or write failures should be considered at risk.</p>
</td>
</tr>
<tr>
<td valign="top" width="184">
<p style="margin-right: 0px;" dir="ltr" align="left">Temperature</p>
</td>
<td valign="top" width="305">
<p style="margin-right: 0px;" dir="ltr" align="left">This counter is most useful when comparing with other drives of the same type and model. It may be normal to see notable differences in the normal operational temperature between dissimilar drive models.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
</td>
</tr>
<tr>
<td valign="top" width="184">
<p style="margin-right: 0px;" dir="ltr" align="left">Read or Write Latency</p>
</td>
<td valign="top" width="305">
<p style="margin-right: 0px;" dir="ltr" align="left">This counter is most useful when comparing with drives of the same type and model, as it would be expected to see differences when comparing different models.&nbsp; For example, a 15K RPM spinning disk would on average report lower latency then a disk spinning at 5400 RPM.</p>
</td>
</tr>
</tbody>
</table>
<p>In several cases during the release preview, this information was critical in diagnosing issues with disks in a Storage Spaces pool performing abnormally.&nbsp; These counters were used to easily identify drives which were experiencing long delays in read or write performance, which negatively impacted the performance of a Storage Space.</p>
<p>&nbsp;</p>
<p><strong>One note of caution:</strong> The display of this information is based the disk device correctly reporting these counters. Not all disks report these types of statistics. So the values reported per-disk may vary.</p>
<p>&nbsp;</p>
<p><strong><em>Example 1: Reliability Counter Information reported by a SAS disk which is part of a Storage Spaces pool.</em></strong></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/3108.image_767A569D.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/3108.image_5F00_767A569D.png"><img style="display: inline; background-image: none;" title="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/2626.image_thumb_36443D23.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/2626.image_5F00_thumb_5F00_36443D23.png" alt="image" width="606" height="304" border="0" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong><em>Example 2: Reliability Counter Information reported by a USB disk</em></strong></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/0572.image_760E23A8.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/0572.image_5F00_760E23A8.png"><img style="display: inline; background-image: none;" title="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/2438.image_thumb_55F316EB.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/2438.image_5F00_thumb_5F00_55F316EB.png" alt="image" width="574" height="379" border="0" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h1>More Information:</h1>
<p>Information provided by the <strong>Get-StorageReliabilityCounter</strong> cmdlet is obtained via log pages which are defined in the specification, SCSI Primary Commands 4 (SPC-4).&nbsp; For devices that report this information, the counter information is displayed using this cmdlet.</p>
<h1>&nbsp;</h1>
<h1><span style="font-size: medium;">Information for Drive Manufacturers:</span></h1>
<p>For more information about the Windows logo requirements for providing this information, please refer to the following article on MSDN:</p>
<p><a href="https://msdn.microsoft.com/en-us/library/windows/hardware/jj134356.aspx">https://msdn.microsoft.com/en-us/library/windows/hardware/jj134356.aspx</a></p>
<p>In the section titled <strong>Device.Storage.Hd.Scsi.ReliabilityCounters</strong></p>
<p>&nbsp;</p>
<p>Thanks,</p>
<p>&nbsp;</p>
<p><strong>Bruce</strong></p>]]></content:encoded>
    </item>
    <item>
      <title>ISO Mounting Scenarios</title>
      <link>https://docs.microsoft.com/archive/blogs/san/iso-mounting-scenarios</link>
      <pubDate>Fri, 21 Sep 2012 10:54:00 GMT</pubDate>
      <dc:creator><![CDATA[Atishay Kumar]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/san/2012/09/21/iso-mounting-scenarios/</guid>
      <description><![CDATA[We hope you had an opportunity to look at the ISO Mounting Windows 8 Blog post. Native support for...]]></description>
      <content:encoded><![CDATA[<p>We hope you had an opportunity to look at the <a href="https://blogs.msdn.com/b/b8/archive/2011/08/30/accessing-data-in-iso-and-vhd-files.aspx">ISO Mounting Windows 8 Blog post</a>. Native support for accessing ISO/VHD files was one of the most requested features for Windows 8. In Windows 8, you can directly mount ISO/VHD files from Windows Explorer and the content is available to you within clicks.&nbsp;</p>
<p>Here is a quick refresher on ISO and VHD files.</p>
<p>An ISO file is a file container that contains all information needed to put the contents on a CD or DVD or Blu-Ray. <a href="https://blogs.msdn.com/b/b8/archive/2011/08/30/accessing-data-in-iso-and-vhd-files.aspx">ISO Mounting Windows8 Blog post</a> explains the format well and we encourage you to read it for more information.</p>
<p>A Virtual Hard-Disk is a representation of a disk in a file which is treated as a physical disk by the Windows. Since it is a file, it can be moved around and provides portability unmatched by physical disks.&nbsp; For more in-depth information on VHD format, we encourage you to read the <a href="https://download.microsoft.com/download/f/f/e/ffef50a5-07dd-4cf8-aaa3-442c0673a029/Virtual%20Hard%20Disk%20Format%20Spec_10_18_06.doc">VHD File Format Specification</a>.</p>
<p>Note: A Virtual Hard Disk (VHD) is a different concept than a Virtual Disk as exposed by the Storage PowerShell module.&nbsp; For more information on Virtual Disks, see the blog post:&nbsp;&nbsp; <a href="https://blogs.msdn.com/b/san/archive/2012/06/26/an-introduction-to-storage-management-in-windows-server-2012.aspx">An Introduction to Storage Management in Windows Server 2012</a></p>
<p>In this blog post, we look at some common scenarios and PowerShell Cmdlets for ISO/VHD mounting.</p>
<p><strong><span style="font-size: medium;">Sharing Content on ISO / VHD File with Others</span></strong></p>
<p>Whether at home or at office, all of us have faced the need to access the contents of an ISO/VHD file. We want to share contents with others quickly and in an easily accessible manner. Windows 8 makes it easy.</p>
<p>To view the contents of an ISO file, you can mount an ISO/VHD by selecting &ldquo;Mount&rdquo; option in Explorer Ribbon, double click on the file or right click to select mount option. Windows Explorer will show you the contents immediately. Example shown here uses ISO image of Windows 8.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/6014.1.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47/6014.1.png"></a><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/3240.1.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47/3240.1.png"><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/3240.1.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47/3240.1.png" border="0" /></a><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/1122.1.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47/1122.1.png"></a><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/0181.1.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47/0181.1.png"></a></p>
<p>This post will not discuss mount and eject operations in details. <a href="https://blogs.msdn.com/b/b8/archive/2011/08/30/accessing-data-in-iso-and-vhd-files.aspx">ISO Mounting Windows 8 Blog post</a> covers basic operations in great depth.</p>
<p><span style="font-size: medium;">Installing software application using ISO Mounting</span></p>
<p>When software is distributed in form of ISOs, the ISO contents has to be accessible in order to install the software. With ISO Mounting, you don&rsquo;t have to burn the ISO to an optical disc or use third party software. However, there are cases where installing software after mounting the ISO file may not be very straight forward. We discuss two scenarios in this post.</p>
<p><em><span style="font-size: small;">Determining which executable to run in order to install a software application</span></em></p>
<p>When an optical disc containing software installation is inserted, if the software company has specified what executable to run, Windows will run it automatically for you. This behavior is commonly known as Autorun. Autorun is configurable but we will not discuss it in detail in this blog post. When the ISO is mounted, Windows creates a Virtual CD-ROM for you. To protect against malicious software, Windows blocks autorun on this Virtual CD-ROM.&nbsp; In order to figure out which executable to run, refer to the autorun.inf file located on the Virtual CD-ROM.</p>
<p>In the following example that uses &ldquo;Windows 8&rdquo; ISO image, autorun.inf tells the executable that should be run in order to install Windows 8. If the Virtual CD-ROM was assigned the drive letter d:, then setup.exe in the autorun.inf file would refer to d:\setup.exe.</p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/7367.2.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47/7367.2.png"><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/7367.2.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47/7367.2.png" border="0" /></a></p>
<p><em><span style="font-size: small;">Install a software application that requires multiple ISO files for installation</span></em></p>
<p>Some software applications require multiple discs for installation. When you put a disc in the optical drive and run the setup to install the software, the setup knows from where the setup is being run from and the associated drive letter. For example, if the optical drive has the drive letter d: associated with it, the setup knows that the setup files reside on d: drive. When the setup asks to take disc one out and put disc two in, setup may rely on the drive letter to know where to read the contents of disc two from.</p>
<p>In case of ISO Mounting, once disc one is ejected and the setup asks for disk two, ISO Mounting does not guarantee that the disc two will get the same drive letter upon mounting. The following example walks-through how to change the drive letter of a Virtual CD-ROM in order to complete the installation successfully.<br /><br />Open Disk Management by typing &ldquo;Disk Management&rdquo; in Start Screen and switch to Settings.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/7026.3.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47/7026.3.png"><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/7026.3.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47/7026.3.png" border="0" /></a><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/7345.3.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47/7345.3.png"></a><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/8446.3.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47/8446.3.png"></a></p>
<p>&nbsp;Disk Management UI will show the drive letter associated with the Virtual CD-ROM.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/4274.4.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47/4274.4.png"><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/4274.4.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47/4274.4.png" border="0" /></a></p>
<p>&nbsp;Right click on E: and select the option to &ldquo;Change Drive Letters and Paths&hellip;&rdquo;.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/5040.5.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47/5040.5.png"><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/5040.5.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47/5040.5.png" border="0" /></a></p>
<p>Select &ldquo;Change&rdquo; on the pop-up window to choose the desired drive letter. Windows 8 will now use the new drive letter for the Virtual CD-ROM.</p>
<p>&nbsp;</p>
<p><span style="font-size: medium;"><strong>ISO Mounting and Windows 8 Server</strong></span></p>
<p>ISO mounting is not available on a default installation of Window 8 Server. It is an optional feature that must be enabled in order to mount ISO/VHD files from Windows Explorer. Launch Server Manager by typing &ldquo;Server Manager&rdquo; in the Start Screen.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/1541.6.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47/1541.6.png"><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/1541.6.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47/1541.6.png" border="0" /></a></p>
<p>&nbsp;In Server Manager, click on Manage and select &ldquo;Add Roles and Features&rdquo;.</p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/7651.7.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47/7651.7.png"><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/7651.7.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47/7651.7.png" border="0" /></a></p>
<p>Navigate to Features and select &ldquo;Desktop Experience&rdquo;.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/5355.8.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47/5355.8.png"><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/5355.8.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47/5355.8.png" border="0" /></a></p>
<p>Alternatively, PowerShell also may be used to install Desktop-Experience package. The picture below demonstrates how to use PowerShell to install Desktop-Experience package.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/2500.9.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47/2500.9.png"><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/2500.9.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47/2500.9.png" border="0" /></a></p>
<p>The machine has to be rebooted before the changes would take effect.</p>
<p>Note that on Windows 8 server, VHD and ISO files can be mounted only by an administrator. This allows admins to control content available to server users.</p>
<p><strong><span style="font-size: medium;">ISO Mounting and PowerShell</span></strong></p>
<p>With Windows 8 Developer Preview we introduced you to native support for ISO/VHD Mounting. You gave us feedback, and we are delighted to know that you are excited about the feature. One of features requested by you was to provide scripting support for ISO/VHD Mounting and we have added PowerShell support to mount and eject ISO Files. We hope you enjoy the improvements.<br /><br />There are three Cmdlets for ISO mounting. Mount-DiskImage, Get-DiskImage and Dismount-DiskImage.<br /><br />Mount-DiskImage mounts a valid ISO/VHD file and requires&nbsp;full path of the file.</p>
<p style="padding-left: 60px;"><span style="font-family: courier new,courier;">Mount-DiskImage C:\Users\WinVMAdmin\Downloads\Windows8-ConsumerPreview-32bit-English.iso</span></p>
<p>The Get-DiskImage cmdlet returns information about one or more disk images (ISO or VHD). This cmdlet could also be used to determine if the specified ISO or VHD file is mounted or not.</p>
<p style="padding-left: 60px;"><span style="font-family: courier new,courier;">Get-DiskImage C:\Users\WinVMAdmin\Downloads\Windows8-ConsumerPreview-32bit-English.iso | Get-Volume</span></p>
<p>DisMount-DiskImage cmdlet can be used to eject an already mounted ISO/VHD file.</p>
<p style="padding-left: 60px;"><span style="font-family: courier new,courier;">DisMount-DiskImage C:\Users\WinVMAdmin\Downloads\Windows8-ConsumerPreview-32bit-English.iso</span></p>
<p>The following picture demonstrates the above Cmdlets</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/4503.10.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47/4503.10.png"><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/4503.10.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47/4503.10.png" border="0" /></a></p>
<p>Getting the drive letter of a mounted VHD requires the use of few other Cmdlets. Just like a physical storage disk could have multiple partitions, a VHD can contain multiple partitions.&nbsp; In order to get the drive letter(s) assigned to the partitions of the mounted VHD, we need to query for partitions and then get volume information of each partition.</p>
<p style="padding-left: 60px;"><span style="font-family: courier new,courier;">Get-DiskImage C:\Users\WinVMAdmin\Downloads\WS2008R2_EnterpriseCore_x64.vhd | Get-Disk | Get-Partition | Get-Volume</span></p>
<p>If only the drive letter is needed as output then following command would be helpful</p>
<p style="padding-left: 60px;"><span style="font-family: courier new,courier;">(Get-DiskImage C:\Users\WinVMAdmin\Downloads\WS2008R2_EnterpriseCore_x64.vhd | Get-Disk | Get-Partition | Get-Volume).DriveLetter</span></p>
<p>Get-DiskImage Cmdlet is demonstrated in following picture.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/6457.11.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47/6457.11.png"><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/6457.11.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47/6457.11.png" border="0" /></a></p>
<p>We would love to hear how you are using ISO Mounting. Thank you for reading and enjoy Windows 8!!</p>]]></content:encoded>
    </item>
    <item>
      <title>Updated : MPIO Guide for DSM Developers</title>
      <link>https://docs.microsoft.com/archive/blogs/san/updated-mpio-guide-for-dsm-developers</link>
      <pubDate>Fri, 03 Aug 2012 09:46:00 GMT</pubDate>
      <dc:creator><![CDATA[Bruce Langworthy - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/san/2012/08/03/updated-mpio-guide-for-dsm-developers/</guid>
      <description><![CDATA[Our guide on creating a DSM for MPIO for storage developers for Windows Server 2012 is now available...]]></description>
      <content:encoded><![CDATA[<p>Our guide on creating a DSM for MPIO for storage developers for Windows Server 2012 is now available at the link below:</p>  <p>&#160;</p>  <p><a title="https://www.microsoft.com/en-us/download/details.aspx?id=30454" href="https://www.microsoft.com/en-us/download/details.aspx?id=30454">https://www.microsoft.com/en-us/download/details.aspx?id=30454</a></p>  <p>&#160;</p>  <p>Thanks,</p>  <p>&#160;</p>  <p>Bruce</p>]]></content:encoded>
    </item>
    <item>
      <title>Users Guide for MPIO on Windows Server 2012</title>
      <link>https://docs.microsoft.com/archive/blogs/san/users-guide-for-mpio-on-windows-server-2012</link>
      <pubDate>Thu, 02 Aug 2012 10:16:00 GMT</pubDate>
      <dc:creator><![CDATA[Bruce Langworthy - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/san/2012/08/02/users-guide-for-mpio-on-windows-server-2012/</guid>
      <description><![CDATA[The fully updated version of the users guide for MPIO on Windows Server 2012 is now available here:...]]></description>
      <content:encoded><![CDATA[<p>The fully updated version of the users guide for MPIO on Windows Server 2012 is now available here:</p>  <p>&#160;</p>  <p><a title="https://www.microsoft.com/en-us/download/details.aspx?id=30450" href="https://www.microsoft.com/en-us/download/details.aspx?id=30450">https://www.microsoft.com/en-us/download/details.aspx?id=30450</a></p>  <p>&#160;</p>  <p>&#160;</p>  <p>&#160;</p>  <p>Thanks,</p>  <p>&#160;</p>  <p>Bruce</p>]]></content:encoded>
    </item>
    <item>
      <title>Managing iSCSI Initiator connections with Windows PowerShell on Windows Server 2012</title>
      <link>https://docs.microsoft.com/archive/blogs/san/managing-iscsi-initiator-connections-with-windows-powershell-on-windows-server-2012</link>
      <pubDate>Tue, 31 Jul 2012 15:39:00 GMT</pubDate>
      <dc:creator><![CDATA[Bruce Langworthy - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/san/2012/07/31/managing-iscsi-initiator-connections-with-windows-powershell-on-windows-server-2012/</guid>
      <description><![CDATA[Managing iSCSI Initiator Connections
Updated: 9/18/2012

This post covers iSCSI Initiator...]]></description>
      <content:encoded><![CDATA[<h3>Managing iSCSI Initiator Connections</h3>
<p><span style="font-size: x-small;" size="2">Updated: 9/18/2012</span></p>
<p><span style="font-size: x-small;" size="2"></span></p>
<p><span style="font-size: x-small;" size="2">This post covers iSCSI Initiator connection management using the <b>Iscsi </b>module for Windows PowerShell available with Windows Server 2012 and Windows 8.</span></p>
<p></p>
<p><em><span style="font-size: x-small;" size="2">Note: For additional details on management of Windows Disk, Partition, and Volume objects, please refer to the following article:</span></em></p>
<p></p>
<p><span style="font-size: x-small;" size="2">Managing Storage with Windows PowerShell on Windows Server 2012 <br /></span><a href="https://blogs.msdn.com/b/san/archive/2012/07/03/managing-storage-with-windows-powershell-on-windows-server-2012.aspx"><span style="font-size: x-small;" size="2">https://blogs.msdn.com/b/san/archive/2012/07/03/managing-storage-with-windows-powershell-on-windows-server-2012.aspx</span></a></p>
<p>&nbsp;</p>
<h4>Background:</h4>
<p><span style="font-size: x-small;" size="2">Prior to Windows Server 2012, iSCSI Initiator connection management via the command line was performed using the iSCSICLI.exe tool from a CMD prompt. The legacy tool iSCSICLI.exe is superseded by the iSCSI module for Windows PowerShell available on Windows Server 2012 and Windows 8 (only).</span></p>
<h4>Prerequisites</h4>
<p><span style="font-size: x-small;" size="2">The iSCSI module requires that the iSCSI Service and its associated firewall rule be enabled in order to report information back. This can be accomplished via either of the following methods:</span></p>
<p></p>
<ul>
<li><span style="font-size: x-small;" size="2">Open the iSCSI control panel: The first time that the iSCSI Initiator control panel is opened, you are prompted and asked if you would like to start the service automatically.</span>&nbsp;&nbsp;&nbsp;&nbsp;</li>
</ul>
<p>&nbsp;</p>
<ul>
<ul>
<li><span style="font-size: x-small;" size="2">Use the following commands in PowerShell;</span></li>
<ul>
<li><span style="font-family: Consolas; font-size: x-small; background-color: #cccccc;" face="Consolas" size="2">Set-Service -Name msiscsi -StartupType Automatic</span></li>
</ul>
</ul>
</ul>
<p></p>
<ul>
<ul>
<li><span style="font-family: Consolas; font-size: x-small; background-color: #cccccc;" face="Consolas" size="2">Start-Service msiscsi</span></li>
</ul>
</ul>
<p><span style="font-size: x-small;" size="2">Note: at a minimum, the Windows Firewall rule for the iSCSI Initiator Service must also be enabled for outgoing traffic.</span></p>
<h5>To list available firewall rules related to the MSiSCSI Service, use the following command:</h5>
<p><span style="font-family: Consolas; font-size: x-small; background-color: #cccccc;" face="Consolas" size="2">PS C:\WINDOWS\system32&gt; Get-NetFirewallServiceFilter -Service msiscsi | Get-NetFirewallRule | Select DisplayGroup,DisplayName,Enabled</span></p>
<p><span style="font-family: Consolas; font-size: xx-small;" face="Consolas" size="1"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/1780.image_7AD1EA26.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/1780.image_5F00_7AD1EA26.png"><img width="559" height="71" title="image" style="display: inline; background-image: none;" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/0216.image_thumb_47297DC8.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/0216.image_5F00_thumb_5F00_47297DC8.png" border="0" /></a></span></p>
<p></p>
<p>&nbsp;</p>
<h4>Connecting to a new iSCSI Target</h4>
<p><span style="font-size: x-small;" size="2">Connecting to a new iSCSI Target is a two-step process. First an iSCSI Target Portal is established using the New-iSCSITargetPortal cmdlet, and then a connection is established using the Connect-iSCSITarget cmdlet.</span></p>
<h5>Creating a new iSCSI Target Portal</h5>
<p><span style="font-size: x-small;" size="2">For example, I have a new iSCSI target named DeepSpace that I need to establish a connection with. I would complete the connection using the following command:</span></p>
<p></p>
<p><span style="font-family: Consolas; font-size: x-small; background-color: #cccccc;" face="Consolas" size="2">New-IscsiTargetPortal &ndash;TargetPortalAddress DeepSpace</span></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/2843.image_34E0B706.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/2843.image_5F00_34E0B706.png"><img width="587" height="108" title="image" style="display: inline; background-image: none;" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/1185.image_thumb_7FD427D5.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/1185.image_5F00_thumb_5F00_7FD427D5.png" border="0" /></a></p>
<h5>Viewing available iSCSI Targets</h5>
<p><span style="font-size: x-small;" size="2">After a new target portal is created, the iSCSI target, and its connection status are displayed via the Get-IscsiTarget cmdlet as shown below:</span></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/2656.image_78B4EB5D.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/2656.image_5F00_78B4EB5D.png"><img width="580" height="69" title="image" style="display: inline; background-image: none;" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/8055.image_thumb_06873159.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/8055.image_5F00_thumb_5F00_06873159.png" border="0" /></a></p>
<h5>Connecting to available iSCSI Targets</h5>
<p><span style="font-size: x-small;" size="2">To connect to all available iSCSI Targets, use the following command:</span></p>
<p></p>
<p><span style="font-family: Consolas; background-color: #cccccc;" face="Consolas"><span style="font-size: x-small;" size="2">Get-IscsiTarget | Connect-IscsiTarget</span> </span></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/7510.image_05019199.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/7510.image_5F00_05019199.png"><img width="334" height="88" title="image" style="display: inline; background-image: none;" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/6433.image_thumb_6B998E5E.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/6433.image_5F00_thumb_5F00_6B998E5E.png" border="0" /></a></p>
<h4>&nbsp;</h4>
<h4>&nbsp;</h4>
<h4>Listing iSCSI Connections and sessions:</h4>
<p><span style="font-size: x-small;" size="2">View currently connected iSCSI Sessions and connections using the following commands;</span></p>
<h5>To view iSCSI Connections:</h5>
<p><span style="font-family: Consolas; background-color: #cccccc;" face="Consolas">Get-iSCSIConnection</span></p>
<h5>To View iSCSI Sessions:</h5>
<p><span style="font-family: Consolas; font-size: x-small; background-color: #cccccc;" face="Consolas" size="2">Get-iSCSISession</span></p>
<h5>To list all Windows disks for a specific iSCSI session:</h5>
<p><span style="font-family: Consolas; font-size: x-small; background-color: #cccccc;" face="Consolas" size="2">Get-iSCSISession | Get-Disk</span></p>
<h5><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/4073.image_6A92CA9A.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/4073.image_5F00_6A92CA9A.png"><img width="565" height="62" title="image" style="display: inline; background-image: none;" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/3225.image_thumb_2A5CB120.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/3225.image_5F00_thumb_5F00_2A5CB120.png" border="0" /></a></h5>
<h4></h4>
<h4>Listing the iSCSI IQN for the iSCSI Initiator</h4>
<p><span style="font-size: x-small;" size="2">You can list the current iSCSI Qualified Name (IQN) by using the following command: The iSCSI IQN for the initiator is typically used when configuring masking sets with an iSCSI Target device to allow access by a specific initiator to an iSCSI Target device.</span></p>
<p></p>
<p><span style="font-family: Consolas; font-size: x-small; background-color: #cccccc;" face="Consolas" size="2">(Get-InitiatorPort).NodeAddress</span></p>
<h4>Configuring sessions to persist across reboots:</h4>
<p><span style="font-size: x-small;" size="2">An iSCSI Session that has a property of IsPersistent = $True will automatically attempt reconnection on a system reboot. For example, the connection below is not persistent:</span></p>
<p></p>
<p><span style="font-family: Consolas; font-size: x-small; background-color: #cccccc;" face="Consolas" size="2">PS C:\WINDOWS\system32&gt; Get-IscsiSession</span></p>
<p></p>
<p><span style="font-family: Consolas; font-size: x-small;" face="Consolas" size="2"> <br /></span><span style="font-family: Consolas;" face="Consolas"><span style="font-size: x-small;" size="2"><span style="background-color: #cccccc;">AuthenticationType&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : NONE <br />InitiatorInstanceName&nbsp;&nbsp; : ROOT\ISCSIPRT\0000_0 <br />InitiatorNodeAddress&nbsp;&nbsp;&nbsp; : iqn.1991-05.com.microsoft:deepcore.contoso.com <br />InitiatorPortalAddress&nbsp; : 0.0.0.0 <br />InitiatorSideIdentifier : 400001370000 <br />IsConnected&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : True <br />IsDataDigest&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : False <br />IsDiscovered&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : False <br />IsHeaderDigest&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : False <br />IsPersistent&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : False <br />NumberOfConnections&nbsp;&nbsp;&nbsp;&nbsp; : 1 <br />SessionIdentifier&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : fffffa80144f8430-4000013700000003 <br />TargetNodeAddress&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : iqn.1991-05.com.microsoft:deepspace-deepcore-target <br />TargetSideIdentifier&nbsp;&nbsp;&nbsp; : 0300 <br />PSComputerName&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :</span> </span></span></p>
<p></p>
<p>&nbsp;</p>
<p></p>
<p>&nbsp;</p>
<p></p>
<p><span style="font-size: x-small;" size="2">When connecting to a new iSCSI Target using the Connect-iSCSITarget cmdlet, persistence is managed via the &ndash;IsPersistent Boolean value.</span></p>
<p></p>
<p><span style="font-size: x-small;" size="2">For example, </span></p>
<p><span style="font-size: x-small;" size="2"><span style="font-family: Consolas; background-color: #cccccc;" face="Consolas">Get-iSCSITarget | Connect-IscsiTarget &ndash;IsPersistent $False</span> would prevent the new connection from persisting across reboots.</span></p>
<p></p>
<p><span style="font-size: x-small;" size="2">Note: Connections are persistent by default unless overridden by specifying &ndash;IsPersistent $False</span></p>
<p></p>
<p><span style="font-size: x-small;" size="2">For an existing session, if the session is not persistent, it can be made persistent by piping the session to the Register-iSCSISession cmdlet. For example:</span></p>
<p></p>
<p>&nbsp;</p>
<p></p>
<p></p>
<p></p>
<p><span style="font-family: Consolas; font-size: x-small; background-color: #cccccc;" face="Consolas" size="2">PS C:\WINDOWS\system32&gt; Get-IscsiSession | Where-Object IsPersistent -eq $False</span></p>
<p></p>
<p><span style="font-family: Consolas; font-size: x-small;" face="Consolas" size="2"> <br /></span><span style="font-size: x-small;" size="2"><span style="font-family: Consolas; background-color: #cccccc;" face="Consolas">AuthenticationType&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : NONE <br />InitiatorInstanceName&nbsp;&nbsp; : ROOT\ISCSIPRT\0000_0 <br />InitiatorNodeAddress&nbsp;&nbsp;&nbsp; : iqn.1991-05.com.microsoft:deepcore.contoso.com <br />InitiatorPortalAddress&nbsp; : 0.0.0.0 <br />InitiatorSideIdentifier : 400001370000 <br />IsConnected&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : True <br />IsDataDigest&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : False <br />IsDiscovered&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : False <br />IsHeaderDigest&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : False <br />IsPersistent&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : False <br />NumberOfConnections&nbsp;&nbsp;&nbsp;&nbsp; : 1 <br />SessionIdentifier&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : fffffa80144f8430-4000013700000003 <br />TargetNodeAddress&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : iqn.1991-05.com.microsoft:deepspace-deepcore-target <br />TargetSideIdentifier&nbsp;&nbsp;&nbsp; : 0300 <br />PSComputerName&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :</span> </span></p>
<p></p>
<p><span style="font-size: x-small;" size="2">In this case, since I have an iSCSI Session which is not persistent, I could pipe this object to Register-IscsiSession to make it persistent.</span></p>
<p><span style="font-family: Consolas; font-size: x-small; background-color: #cccccc;" face="Consolas" size="2">Get-IscsiSession | Register-IscsiSession</span></p>
<p>&nbsp;</p>
<h4>Connecting to an iSCSI Target when using CHAP Secrets</h4>
<p>&nbsp;</p>
<p>To connect to an iSCSI Target which requires the use of a CHAP secret, you can use the following cmdlet options, and select the appropriate type of CHAP secret to use in the&nbsp;&ndash;AuthenticationType parameter.</p>
<p>&nbsp;</p>
<p><span style="font-family: Consolas; background-color: #cccccc;" face="Consolas">Get-iScsiTarget | Connect-iScsitarget &ndash;AuthenticationType ONEWAYCHAP &ndash;ChapUserName &lt;username&gt; -ChapSecret &lt;secret&gt;</span></p>
<p><span style="font-family: Consolas; background-color: #cccccc;" face="Consolas"></span>&nbsp;</p>
<p></p>
<h4>Advanced Configuration Management: Using MPIO with iSCSI Connections.</h4>
<p>Connecting multiple network adapters in conjunction with iSCSI and MPIO:</p>
<p><span style="font-size: x-small;" size="2"><em>Note: MPIO is available on Windows Server versions only.</em></span></p>
<h5>Tip: List your IPv4 addresses using the Get-NetIPAddress cmdlet</h5>
<p><span style="font-size: x-small; background-color: #cccccc;" size="2">Get-NetIPAddress &ndash;AddressFamily IPv4 &ndash;PrefixOrigin DHCP</span></p>
<p></p>
<p>&nbsp;</p>
<p></p>
<p><span style="font-size: x-small;" size="2">For example, if I stored the output of the above command in the variable $Nics on a machine with 2 network adapters, then $Nics[0].IpAddress returns the IP address for my first NIC, and $Nics[1].Ipaddress returns the IP address for my second NIC.</span></p>
<p></p>
<p><span style="font-size: x-small;" size="2">For the rest of this example, I have used the above to populate two variables;</span></p>
<p></p>
<p><span style="font-family: Consolas; font-size: x-small;" face="Consolas" size="2">$Nic1 = $Nics[0]</span></p>
<p></p>
<p><span style="font-family: Consolas; font-size: x-small;" face="Consolas" size="2">$Nic2 = $Nics[1]</span></p>
<h6>Configuring MPIO to automatically claim devices:</h6>
<p><span style="font-size: x-small;" size="2">Tip: By configuring MPIO to automatically claim iSCSI devices (for example) before any are connected, you may be able to avoid an extra reboot when the disks are claimed.</span></p>
<p></p>
<p>&nbsp;</p>
<p></p>
<p><span style="font-size: x-small;" size="2">In the example below, I am installing the MPIO feature, enabling automatic claiming of all iSCSI disks, and setting the default load balance policy in MPIO to Round Robin:</span></p>
<p></p>
<p><span style="font-size: x-small;" size="2"><span style="font-family: Consolas; background-color: #cccccc;" face="Consolas"># Enable the MPIO Feature <br /></span><span style="font-family: Consolas; background-color: #cccccc;" face="Consolas">&nbsp;&nbsp;&nbsp;&nbsp; Enable-WindowsOptionalFeature -Online -FeatureName MultipathIO</span></span><span style="font-family: Consolas; font-size: x-small; background-color: #cccccc;" face="Consolas" size="2"> <br /> <br /></span><span style="font-size: x-small;" size="2"><span style="font-family: Consolas; background-color: #cccccc;" face="Consolas"># Enable automatic claiming of iSCSI devices for MPIO <br /></span><span style="font-family: Consolas; background-color: #cccccc;" face="Consolas">&nbsp;&nbsp;&nbsp;&nbsp; Enable-MSDSMAutomaticClaim -BusType iSCSI</span></span><span style="font-family: Consolas; font-size: x-small; background-color: #cccccc;" face="Consolas" size="2"> <br /> <br /></span><span style="font-size: x-small;" size="2"><span style="font-family: Consolas; background-color: #cccccc;" face="Consolas"># Set the default load balance policy of all newly claimed devices to Round Robin <br />&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: Consolas; background-color: #cccccc;" face="Consolas">Set-MSDSMGlobalDefaultLoadBalancePolicy -Policy RR</span></span></p>
<h6>Connecting with MPIO and iSCSI using multiple Network adapters</h6>
<p><span style="font-size: x-small;" size="2">First we will need to define the targetportal to point to the iSCSI Target. In my example below, the target portal is named DeepSpace</span></p>
<p></p>
<p><span style="font-family: Consolas; font-size: x-small; background-color: #cccccc;" face="Consolas" size="2">New-IscsiTargetPortal &ndash;TargetPortalAddress DeepSpace</span></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/6746.image_11263D86.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/6746.image_5F00_11263D86.png"><img width="602" height="156" title="image" style="display: inline; background-image: none;" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/7144.image_thumb_54FA71DD.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/7144.image_5F00_thumb_5F00_54FA71DD.png" border="0" /></a></p>
<p></p>
<p></p>
<p></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-size: x-small;" size="2">Lastly, we would create one MPIO-enabled iSCSI connection per network adapter using the following commands:</span></p>
<p></p>
<p><span style="font-family: Consolas; font-size: x-small; background-color: #cccccc;" face="Consolas" size="2">Get-IscsiTarget | Connect-IscsiTarget&nbsp; -IsPersistent $True &ndash;IsMultipathEnabled $True &ndash;InitiatorPortalAddress $Nic1.IPAddress</span></p>
<p></p>
<p><span style="font-family: Consolas; font-size: x-small; background-color: #cccccc;" face="Consolas" size="2">Get-IscsiTarget | Connect-IscsiTarget&nbsp; -IsPersistent $True &ndash;IsMultipathEnabled $True &ndash;InitiatorPortalAddress $Nic2.IPAddress</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/2330.image_14C45863.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/2330.image_5F00_14C45863.png"><img width="601" height="404" title="image" style="display: inline; background-image: none;" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/0218.image_thumb_5083F116.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/0218.image_5F00_thumb_5F00_5083F116.png" border="0" /></a></p>
<h6>Viewing connections to determine which Network Adapter is used</h6>
<p><span style="font-size: x-small;" size="2"><span style="background-color: #cccccc;">Get-iSCSIConnection</span> displays the IP address for the network adapter used with this connection(s). For example;</span></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/6560.image_1458256E.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/6560.image_5F00_1458256E.png"><img width="389" height="216" title="image" style="display: inline; background-image: none;" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/8306.image_thumb_5017BE21.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/8306.image_5F00_thumb_5F00_5017BE21.png" border="0" /></a></p>
<h6>Viewing advanced properties for a disk which is connected via iSCSI:</h6>
<p></p>
<p><span style="font-size: x-small;" size="2">The following example shows listing all disks associated with the active iSCSI Connection(s) in the system.</span>&nbsp;</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/5078.image_237FD882.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/5078.image_5F00_237FD882.png"><img width="667" height="70" title="image" style="display: inline; background-image: none;" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/2330.image_thumb_2A32E205.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/2330.image_5F00_thumb_5F00_2A32E205.png" border="0" /></a></p>
<p>This process can also be reversed to determine the iSCSI connections for a specific Disk object such as by passing the output of Get-Disk 1 to Get-iSCSIConnection.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h4>Additional References:</h4>
<h5>Complete list of cmdlets in the iSCSI module:</h5>
<p><span style="font-size: x-small;" size="2">For a complete listing of the cmdlets contained in the iSCSI module for Windows PowerShell, please refer to the following document on TechNet: <br /></span><a href="https://technet.microsoft.com/library/hh826099.aspx"><span style="font-size: x-small;" size="2">https://technet.microsoft.com/library/hh826099.aspx</span></a></p>
<p></p>
<p><span style="font-size: x-small;" size="2">iSCSI Initiator WMI V2 Classes for Windows Server 2012 and Windows 8 <br /></span><a href="https://msdn.microsoft.com/en-us/library/windows/desktop/hh968118(v=vs.85).aspx"><span style="font-size: x-small;" size="2">https://msdn.microsoft.com/en-us/library/windows/desktop/hh968118(v=vs.85).aspx</span></a></p>
<p>&nbsp;</p>
<p>Thanks,</p>
<p>&nbsp;</p>
<p>Bruce</p>]]></content:encoded>
    </item>
    <item>
      <title>Managing MPIO with Windows PowerShell on Windows Server 2012</title>
      <link>https://docs.microsoft.com/archive/blogs/san/managing-mpio-with-windows-powershell-on-windows-server-2012</link>
      <pubDate>Fri, 20 Jul 2012 16:44:00 GMT</pubDate>
      <dc:creator><![CDATA[Bruce Langworthy - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/san/2012/07/20/managing-mpio-with-windows-powershell-on-windows-server-2012/</guid>
      <description><![CDATA[Installing and Managing MPIO using PowerShell:  This post is intended as an overview of capabilities...]]></description>
      <content:encoded><![CDATA[<h2><a name="_Ref328569546"><font color="#4f81bd" size="4" face="Calibri">Installing and Managing MPIO using PowerShell:</font></a></h2>  <p><font size="2" face="Calibri">This post is intended as an overview of capabilities present in the MPIO module for managing MPIO on Windows Server 2012.      <br /></font></p> <font face="Calibri"></font>  <p><font size="2" face="Calibri"><em></em></font></p>  <p><font size="2" face="Calibri"><em>Note: The MPIO feature is available on Windows Server 2012 versions only.        <br /></em></font></p> <font size="2" face="Calibri"></font>  <p><font size="2" face="Calibri"></font></p>  <p><font size="2" face="Calibri">     <br />Use of the MPIO module in Windows&#160; PowerShell requires an “elevated” PowerShell window, opened with Administrator privileges.</font></p>  <h3><font face="Calibri"></font></h3>  <h3><font face="Calibri"></font></h3>  <h3>   <br /><a name="_Toc330293704"><font color="#4f81bd" face="Calibri">Query the installation state of MPIO:</font></a></h3>  <p><font size="2" face="Calibri">To determine if MPIO is currently installed, use the following command:</font></p>  <blockquote>   <p><font style="background-color: rgb(204,204,204)" size="2" face="Consolas">Get-WindowsOptionalFeature –Online –FeatureName MultiPathIO</font></p> </blockquote>  <p>&#160;</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/7610.clip_image002_53464BC9.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/7610.clip_5F00_image002_5F00_53464BC9.jpg"><font size="2"></font></a><font size="2"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/4061.clip_image002_4C270F51.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/4061.clip_5F00_image002_5F00_4C270F51.jpg"><img title="clip_image002" style="background-image: none; display: inline" border="0" alt="clip_image002" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/0743.clip_image002_thumb_358FF48B.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/0743.clip_5F00_image002_5F00_thumb_5F00_358FF48B.jpg" width="584" height="168" /></a></font></p>  <h3>&#160; </h3>  <h3><a name="_Toc330293705"><font color="#4f81bd" face="Calibri">Enable or Disable the MPIO Feature:</font></a></h3>  <p><font size="2" face="Calibri">If the MPIO feature is not currently installed, use the following command to enable the MPIO feature:</font></p>  <blockquote>   <p><font style="background-color: rgb(204,204,204)" size="2" face="Consolas">Enable-WindowsOptionalFeature –Online –FeatureName MultiPathIO</font></p>    <p>&#160;</p> </blockquote>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/4073.clip_image004_72F52591.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/4073.clip_5F00_image004_5F00_72F52591.jpg"><font size="2"></font></a><font size="2"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/4382.clip_image004_19C33BD2.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/4382.clip_5F00_image004_5F00_19C33BD2.jpg"><img title="clip_image004" style="background-image: none; display: inline" border="0" alt="clip_image004" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/1411.clip_image004_thumb_1508B4D9.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/1411.clip_5F00_image004_5F00_thumb_5F00_1508B4D9.jpg" width="589" height="92" /></a></font></p>  <p>&#160;</p>  <p><a name="_Toc330293706"><font color="#4f81bd" size="3" face="Calibri">To disable the MPIO feature, use the following command:</font></a></p>  <blockquote>   <p><font style="background-color: rgb(204,204,204)" size="2" face="Consolas">Disable-WindowsOptionalFeature –Online –FeatureName MultiPathIO</font></p> </blockquote>  <h3>&#160;</h3>  <h3><font size="2" face="Calibri">Listing commands available in the MPIO module:      <br /></font><font size="2" face="Calibri"><font style="font-weight: normal">The commands available in the MPIO module can be listed using get-command as shown below</font></font></h3>  <p><font size="2" face="Calibri"></font></p>  <p><font size="2" face="Calibri"><em>Note: Not all of these cmdlets are available in the Release Preview.</em></font></p>  <p>&#160;</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/0576.clip_image007_2B9FCF9F.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/0576.clip_5F00_image007_5F00_2B9FCF9F.png"><font size="2"></font></a><font size="2"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/8508.clip_image007_526DE5DF.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/8508.clip_5F00_image007_5F00_526DE5DF.png"><img title="clip_image007" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="clip_image007" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/3566.clip_image007_thumb_3855A97E.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/3566.clip_5F00_image007_5F00_thumb_5F00_3855A97E.png" width="593" height="240" /></a></font></p>  <p><font size="2"></font></p>  <p><font size="2" face="Calibri">     <br />      <br />Full help and example content for the MPIO module is available via the following method:</font></p>  <ul>   <li><font size="2" face="Calibri">In PowerShell, after importing the MPIO module or using any MPIO cmdlet, updated help can be downloaded from the internet by running the following command:        <br /></font>      <ul>       <li><font size="2" face="Calibri"><font style="background-color: rgb(204,204,204)">Update-Help</font>             <br /></font></li>     </ul>   </li> </ul>  <h2><a name="_Toc327274167"><font color="#4f81bd" size="4" face="Calibri">Obtaining additional PowerShell help and examples</font></a></h2>  <p><font size="2" face="Calibri">For a complete list of available PowerShell cmdlets in the MPIO module, including usage and examples, please refer to the following TechNet site:</font></p>  <p><font size="2" face="Calibri"></font></p>  <blockquote>   <p><b><font size="2" face="Calibri">MPIO Cmdlets in Windows PowerShell          <br /></font></b><a href="https://technet.microsoft.com/library/hh826113.aspx"><font color="#0000ff" size="2" face="Calibri">https://technet.microsoft.com/library/hh826113.aspx</font></a></p> </blockquote>  <p><font size="2" face="Calibri"></font></p>  <p><font size="2" face="Calibri"></font></p>  <p><font size="2" face="Calibri">You can also obtain help for individual commands by specifying the cmdlet with Get-Help, such as shown below:</font></p>  <p><font size="2"><font style="background-color: rgb(204,204,204)">Get-Help Get-MPIOAvailableHW</font> </font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/3302.clip_image009_793BFC1F.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/3302.clip_5F00_image009_5F00_793BFC1F.jpg"><font size="2"></font></a><font size="2"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/4477.clip_image009_200A1260.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/4477.clip_5F00_image009_5F00_200A1260.jpg"><img title="clip_image009" style="background-image: none; display: inline" border="0" alt="clip_image009" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/7367.clip_image009_thumb_5EB78CC9.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/7367.clip_5F00_image009_5F00_thumb_5F00_5EB78CC9.jpg" width="590" height="280" /></a></font></p>  <h2>   <br />    <br /><a name="_Toc327274168"><font color="#4f81bd" size="4" face="Calibri">Obtaining and updating help for Windows PowerShell cmdlets</font></a></h2>  <p><font size="2" face="Calibri">In Windows 8, PowerShell modules which ship with Windows do not include help content “in-box” instead this content is provided on the Internet, and may be updated via PowerShell from a computer which has Internet access.</font></p>  <p><font size="2" face="Calibri">Once a PowerShell module has been imported into the current PowerShell session, the help content may be downloaded and updated via the following command:</font></p>  <blockquote>   <p><font size="2"></font></p>    <p><font style="background-color: rgb(204,204,204)" size="2">Update-Help </font></p> </blockquote>  <p><font size="2" face="Calibri"></font></p>  <p><font size="2" face="Calibri"><em>Note: the –Force parameter must be used if attempting to update more than once per 24 hour period.</em></font></p> <em></em>  <p><font size="2" face="Calibri"></font></p>  <p><font size="2" face="Calibri">The get-help cmdlet offers multiple levels of verbosity, which include</font></p>  <ul>   <li><font size="2" face="Calibri">No switch specified, only basic help is returned.        <br /></font></li>    <li><font size="2" face="Calibri">Detailed provides detailed help        <br /></font></li>    <li><font size="2" face="Calibri">Example provides examples of the cmdlet in use.        <br /></font></li>    <li><font size="2" face="Calibri">Full provides all available help content for the specified cmdlet.</font> </li> </ul>  <p><font size="2" face="Calibri"></font></p>  <p><font size="2" face="Calibri">For example, in order to obtain script examples for the Get-MPIOAvailableHW cmdlet, the following command is utilized:</font></p>  <blockquote>   <p><font size="2"></font></p>    <p><font style="background-color: rgb(204,204,204)" size="2">Get-Help Get-MPIOAvailableHW –Examples</font></p> </blockquote>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/5556.clip_image011_4AE27672.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/5556.clip_5F00_image011_5F00_4AE27672.jpg"><font size="2"></font></a><font size="2"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/2816.clip_image011_1F9DDF6B.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/2816.clip_5F00_image011_5F00_1F9DDF6B.jpg"><img title="clip_image011" style="background-image: none; display: inline" border="0" alt="clip_image011" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/1817.clip_image011_thumb_6C1D9FCF.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/1817.clip_5F00_image011_5F00_thumb_5F00_6C1D9FCF.jpg" width="588" height="202" /></a></font></p>  <h2><font color="#4f81bd" size="4" face="Calibri">Script Example: Configuring MPIO using PowerShell:</font></h2>  <p><font size="2" face="Calibri">In this example, I wish to perform the following tasks:</font></p>  <p><font size="2" face="Calibri">Tip: If these steps are performed prior to connecting devices of the desired BusType, you can typically avoid the need for a restart.</font></p>  <ul>   <li><font size="2" face="Calibri">Install the MPIO feature on a new Windows Server 2012 installation.        <br /></font></li>    <li><font size="2" face="Calibri">Configure MPIO to automatically claim all iSCSI devices.        <br /></font></li>    <li><font size="2" face="Calibri">Configure the default Load Balance policy for Round Robin.        <br /></font></li>    <li><font size="2" face="Calibri">Set the Windows Disk timeout to 60 seconds.</font>       <br />      <br /></li> </ul>  <p><font size="2" face="Calibri"></font></p>  <p><font size="2" face="Calibri">Here is what this script would look like:</font></p>  <p><font size="2"></font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/6116.image_3711109F.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/6116.image_5F00_3711109F.png"><img title="image" style="background-image: none; display: inline" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/7776.image_thumb_44E3569A.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/7776.image_5F00_thumb_5F00_44E3569A.png" width="590" height="158" /></a></p>  <p><font face="Consolas"></font></p>  <p><font size="2"></font></p>  <p><font size="2"></font></p>  <p><font size="2"></font></p> <b><font size="2"></font></b>  <h2>   <br />    <br /><a name="_Toc330293710"><font color="#4f81bd" size="2" face="Calibri"></font></a></h2>  <h2><a name="_Toc330293710"><font color="#4f81bd" size="4" face="Calibri">Scripting the Configuration of MPIO Timer Values</font></a></h2>  <p><font size="2" face="Calibri">Timers for MPIO can be managed using the Get-MPIOSetting and Set-MPIOSetting PowerShell cmdlets:</font></p>  <p><font size="2" face="Calibri"></font></p>  <p><font size="2" face="Calibri">Example: Viewing the current MPIO settings.</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/5554.clip_image012_038D2080.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/5554.clip_5F00_image012_5F00_038D2080.png"><font size="2"></font></a><font size="2"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/0172.clip_image012_2A5B36C0.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/0172.clip_5F00_image012_5F00_2A5B36C0.png"><img title="clip_image012" style="background-image: none; display: inline" border="0" alt="clip_image012" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/5875.clip_image012_thumb_51294D00.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/5875.clip_5F00_image012_5F00_thumb_5F00_51294D00.png" width="310" height="162" /></a></font></p>  <h4><font size="2"></font></h4>  <h4><font size="2" face="Calibri">     <br />      <br /></font></h4>  <h3><font color="#4f81bd">Additional References:</font></h3>  <p><font size="2" face="Calibri">MPIO PowerShell cmdlets list and help documentation:      <br /></font><a href="https://technet.microsoft.com/library/hh826113.aspx"><font size="2" face="Calibri">https://technet.microsoft.com/library/hh826113.aspx</font></a></p>  <p><font size="2"></font></p>]]></content:encoded>
    </item>
    <item>
      <title>Managing Storage with Windows PowerShell on Windows Server 2012</title>
      <link>https://docs.microsoft.com/archive/blogs/san/managing-storage-with-windows-powershell-on-windows-server-2012</link>
      <pubDate>Tue, 03 Jul 2012 14:46:00 GMT</pubDate>
      <dc:creator><![CDATA[Bruce Langworthy - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/san/2012/07/03/managing-storage-with-windows-powershell-on-windows-server-2012/</guid>
      <description><![CDATA[Managing local Windows Storage  This post covers basic provisioning operations against local Windows...]]></description>
      <content:encoded><![CDATA[<h3><font size="3" face="Calibri">Managing local Windows Storage</font></h3>  <p><font size="2" face="Calibri">This post covers basic provisioning operations against local Windows storage resources using the <b>Storage</b> module for Windows PowerShell. </font></p>  <p><font size="2" face="Calibri">Note: I will cover using the Storage module in combination with a Storage Management Provider to manage a storage subsystem (array) in a subsequent post.</font></p>  <p><font size="2" face="Calibri"></font></p>  <p><font size="2" face="Calibri">The Disk, Partition, and Volume objects are associated as shown in the figure below. When starting from a new (blank) disk, you first initialize the disk to create a partition, and then you create a Volume with a file system such as NTFS. </font></p>  <p>&#160;</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/1374.clip_image002_6FA91BC5.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/1374.clip_5F00_image002_5F00_6FA91BC5.png"><font face="Calibri"><img title="clip_image002" style="margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;" border="0" alt="clip_image002" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/7635.clip_image002_thumb_16773206.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/7635.clip_5F00_image002_5F00_thumb_5F00_16773206.png" width="152" height="204" /></font></a></p>  <p><font size="2" face="Calibri"></font></p>  <p><font size="2" face="Calibri">The following sections discuss the operations that you can perform with each type of object – Disk, Partition, and Volume. They also discuss setting the policy of whether to automatically mount new disks, and how to use the various cmdlets to format a new disk for use.</font></p>  <h3><font size="3" face="Calibri">Disk</font></h3>  <p><font size="2" face="Calibri">A Disk object represents a disk as seen by a Windows computer, and does not require an available management provider. An example of a Disk object is a disk displayed in the Disk Management snap-in.</font></p>  <h4>Listing all disks in the system</h4>  <p><font size="2" face="Calibri">To list all Disks visible to the operating system, type: </font></p>  <p><font size="2" face="Calibri">Get-Disk</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/5635.image_4C11C022.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/5635.image_5F00_4C11C022.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/2086.image_thumb_0FE5F47A.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/2086.image_5F00_thumb_5F00_0FE5F47A.png" width="581" height="86" /></a></p>  <h4>Listing only the system disk or all disks except the system disk</h4>  <p><font size="2" face="Calibri">To list only the system disk, type the following command: </font></p>  <p><font style="background-color: rgb(204, 204, 204);" size="2" face="Consolas">Get-Disk | Where-Object IsSystem -eq $True</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/3666.image_36B40ABA.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/3666.image_5F00_36B40ABA.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/6712.image_thumb_2F94CE42.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/6712.image_5F00_thumb_5F00_2F94CE42.png" width="590" height="63" /></a></p>  <p><font size="2" face="Calibri">To list all disks except the system disk, instead type this command, which pipes the output of the Get-Disk cmdlet to the Where-Object cmdlet:</font></p>  <p><font style="background-color: rgb(204, 204, 204);" size="2" face="Consolas">Get-Disk | where-object IsSystem -eq $False</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/0458.image_1D4C0780.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/0458.image_5F00_1D4C0780.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/2185.image_thumb_162CCB08.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/2185.image_5F00_thumb_5F00_162CCB08.png" width="595" height="80" /></a></p>  <h4>Listing all disks for a specific storage bus</h4>  <p><font size="2" face="Calibri">To list all disks attached via a specific storage bus, type the following command, replacing &lt;BusType&gt; with the bus you want to query:</font></p>  <p><font style="background-color: rgb(204, 204, 204);" size="2" face="Consolas">Get-Disk | Where-Object -Eq &lt;BusType&gt;</font></p>  <p><font size="2" face="Calibri">For example, to list all of the Storage Spaces that are connected, query disks connected via the “Spaces” bus. This method can also be used for other bus types, such as iSCSI and USB:</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/7536.image_78C75DB9.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/7536.image_5F00_78C75DB9.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/8206.image_thumb_667E96F7.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/8206.image_5F00_thumb_5F00_667E96F7.png" width="596" height="76" /></a></p>  <h4>Clearing all of the partitions and volumes from a disk</h4>  <p><font size="2" face="Calibri">To clear all partitions and volumes from a disk, backup all data on all volumes on the disk, and then type the following command:</font></p>  <p><font face="Calibri"><font size="2"><b><font color="#ff0000">Warning</font>:</b> This is operation cannot be undone; it will clear all partitions and volumes from the disk and allows the disk to be re-initialized and create a new partition and volume.</font></font></p>  <p><font style="background-color: rgb(204, 204, 204);" size="2" face="Consolas">Clear-Disk 6 -RemoveData</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/7120.image_317207C7.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/7120.image_5F00_317207C7.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/1856.image_thumb_6D31A07A.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/1856.image_5F00_thumb_5F00_6D31A07A.png" width="593" height="176" /></a></p>  <p><font size="2" face="Calibri">Note: If the specified disk contains an OEM partition, such as for system recovery, it is also necessary to specify the –RemoveOEM switch when using the clear-disk cmdlet.</font></p>  <h4>Initializing a disk</h4>  <p><font size="2" face="Calibri">To initialize a disk to allow creation of a partition and volume, type the following command, where &lt;DiskNumber&gt; is the number of the disk to initialize:</font></p>  <p><font style="background-color: rgb(204, 204, 204);" size="2" face="Consolas">Initialize-Disk &lt;DiskNumber&gt;</font></p>  <p><font size="2" face="Calibri">Note: All disks are initialized as GPT by default unless otherwise specified.</font></p>  <p><font size="2" face="Calibri">To initialize a disk as MBR, use the –PartitionStyle parameter. For example:</font></p>  <p><font style="background-color: rgb(204, 204, 204);" size="2" face="Consolas">Initialize-Disk 4 –PartitionStyle MBR</font></p>  <h4>Listing all disks that are offline</h4>  <p><font size="2" face="Calibri">To list all disks that are currently offline, type the following command:     <br /><font style="background-color: rgb(204, 204, 204);" face="Consolas">Get-Disk | Where-Object IsOffline –Eq $True</font></font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/0361.image_5120E18F.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/0361.image_5F00_5120E18F.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/1832.image_thumb_3105D4D2.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/1832.image_5F00_thumb_5F00_3105D4D2.png" width="585" height="62" /></a></p>  <h4>Bringing all offline disks online</h4>  <p><font size="2" face="Calibri">To bring all disks that are currently offline back online, type the following command:</font></p>  <p><font style="background-color: rgb(204, 204, 204);" size="2" face="Consolas">Get-Disk | Where-Object IsOffline –Eq $True | Set-Disk –IsOffline $False</font></p>  <h3><font face="Calibri">Partition</font></h3>  <p><font size="2" face="Calibri">A Disk object can contain one or more logical regions called <em>partitions</em>, which are represented by a Partition object. With the exception of special purpose partitions such as a Microsoft Reserved (MSR), or OEM recovery partition, Microsoft recommends creating one data partition per disk.</font></p>  <h5><font size="2" face="Calibri">Listing all of the partitions on all disks</font></h5>  <p><font size="2" face="Calibri">To list all partitions on all disks, type the following command:</font></p>  <p><font size="2" face="Calibri">Get-Partition</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/8787.image_10EAC815.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/8787.image_5F00_10EAC815.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/7711.image_thumb_1EBD0E10.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/7711.image_5F00_thumb_5F00_1EBD0E10.png" width="582" height="356" /></a></p>  <h4><font face="Calibri">Listing all of the partitions on a specific disk</font></h4>  <p><font size="2" face="Calibri">To list all partitions on a specific disk, type the following command, replacing &lt;DiskNumber&gt; with the number of the appropriate disk:</font></p>  <p><font style="background-color: rgb(204, 204, 204);" size="2" face="Consolas">Get-Partition –DiskNumber &lt;DiskNumber&gt;</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/5657.image_2C8F540B.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/5657.image_5F00_2C8F540B.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/6237.image_thumb_0C74474E.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/6237.image_5F00_thumb_5F00_0C74474E.png" width="588" height="123" /></a></p>  <h4><font face="Calibri">Creating a new partition on a new disk</font></h4>  <p><font size="2" face="Calibri">To create a new partition on a blank disk, first use the Initialize-Disk cmdlet, then type the following command, replacing &lt;DiskNumber&gt; with the number of the appropriate disk:</font></p>  <p><font style="background-color: rgb(204, 204, 204);" size="2" face="Consolas">New-Partition –DiskNumber &lt;DiskNumber&gt; -UseMaximumSize -AssignDriveLetter</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/5460.image_5767B81D.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/5460.image_5F00_5767B81D.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/6131.image_thumb_7E35CE5D.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/6131.image_5F00_thumb_5F00_7E35CE5D.png" width="584" height="110" /></a></p>  <h3><font face="Calibri">Volume</font></h3>  <p><font face="Calibri"><font size="2">A Volume object is the highest level object in the Disk-Partition-Volume hierarchy and represents a Partition object that has been formatted with a file system such as NTFS or ReFS and is available for data storage.</font> </font></p>  <h3><font face="Calibri">Listing all volumes</font></h3>  <p><font size="2" face="Calibri">To list all volumes accessible to Windows, type:</font></p>  <p><font style="background-color: rgb(204, 204, 204);" size="2" face="Consolas">Get-Volume</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/1057.image_05166117.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/1057.image_5F00_05166117.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/2541.image_thumb_0BC96A9A.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/2541.image_5F00_thumb_5F00_0BC96A9A.png" width="584" height="94" /></a></p>  <h4><font face="Calibri">Listing the volume for a specific drive letter</font></h4>  <p><font size="2" face="Calibri">To list the volume for a specific drive letter, type the following, replacing &lt;DriveLetter&gt; with the letter of the drive you want to view:</font></p>  <p><font style="background-color: rgb(204, 204, 204);" size="2" face="Consolas">Get-Volume –DriveLetter &lt;DriveLetter&gt;</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/6735.image_127C741D.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/6735.image_5F00_127C741D.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/7824.image_thumb_5D6FE4EC.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/7824.image_5F00_thumb_5F00_5D6FE4EC.png" width="587" height="60" /></a></p>  <h4><font face="Calibri">Formatting a volume</font></h4>  <p><font size="2" face="Calibri">To format a volume with the NTFS file system, type the following, replacing &lt;DriveLetter&gt; with the letter of the drive you want to format:</font></p>  <p><font style="background-color: rgb(204, 204, 204);" size="2" face="Consolas">Format-Volume -DriveLetter &lt;DriveLetter&gt;</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/8715.image_043DFB2D.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/8715.image_5F00_043DFB2D.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/0804.image_thumb_2B0C116D.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/0804.image_5F00_thumb_5F00_2B0C116D.png" width="585" height="98" /></a></p>  <h3><font face="Calibri">Storage Settings object</font></h3>  <p><font size="2" face="Calibri">The new disk policy (previously known as the SAN Policy) is the policy Windows uses to determine whether Windows should automatically ‘mount’ disks that are detected as new.</font></p>  <h4><font face="Calibri">Viewing the new disk policy </font></h4>  <p><font size="2" face="Calibri">To view the new disk policy, type the following command:</font></p>  <p><font style="background-color: rgb(204, 204, 204);" size="2" face="Consolas">Get-StorageSetting | Select-Object NewDiskPolicy</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/1464.image_51DA27AD.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/1464.image_5F00_51DA27AD.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/0486.image_thumb_1CCD987D.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/0486.image_5F00_thumb_5F00_1CCD987D.png" width="332" height="60" /></a></p>  <h4><font face="Calibri">Set the NewDiskPolicy</font></h4>  <p><font size="2" face="Calibri">To set the new disk policy, type the following command:</font></p>  <p><font style="background-color: rgb(204, 204, 204);" size="2" face="Consolas">Set-StorageSetting –NewDiskPolicy OfflineShared</font></p>  <p>&#160;</p>  <p><font size="2" face="Calibri">Note: The default setting for NewDiskPolicy on Windows 8 is OnlineAll. The default setting on all Windows Server 2012 editions is OfflineShared.</font></p>  <table cellspacing="0" cellpadding="0" border="1"><tbody>     <tr>       <td valign="top" width="319">         <p><b><font face="Calibri">Policy Setting</font></b></p>       </td>        <td valign="top" width="319">         <p><b><font face="Calibri">Effect</font></b></p>       </td>     </tr>      <tr>       <td valign="top" width="319">         <p><font face="Calibri">OfflineAll</font></p>       </td>        <td valign="top" width="319">         <p><font face="Calibri">All new disks are left offline by default.</font></p>       </td>     </tr>      <tr>       <td valign="top" width="319">         <p><font face="Calibri">OfflineInternal</font></p>       </td>        <td valign="top" width="319">         <p><font face="Calibri">All disks on busses that are detected as internal are left offline as default.</font></p>       </td>     </tr>      <tr>       <td valign="top" width="319">         <p><font face="Calibri">OfflineShared</font></p>       </td>        <td valign="top" width="319">         <p><font face="Calibri">All Disks on sharable busses, such as iSCSI, FC, or SAS are left offline by default</font></p>       </td>     </tr>      <tr>       <td valign="top" width="319">         <p><font face="Calibri">OnlineAll</font></p>       </td>        <td valign="top" width="319">         <p><font face="Calibri">All disks are automatically brought online.</font></p>       </td>     </tr>   </tbody></table>  <h4><font face="Calibri">Combined Example: Format a New Disk</font></h4>  <p><font size="2" face="Calibri">To format a new disk that has not been initialized, first we should get all Disk objects and then pipe the objects to the Where-Object cmdlet to select only disks with the RAW partition style (which indicates that the disks haven’t yet been initialized). To do so, type the following command:</font></p>  <p><font style="background-color: rgb(204, 204, 204);" size="2" face="Consolas">Get-Disk | Where-Object PartitionStyle –Eq &quot;RAW&quot;</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/5076.image_4E97AFD1.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/5076.image_5F00_4E97AFD1.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/6646.image_thumb_2E7CA314.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/6646.image_5F00_thumb_5F00_2E7CA314.png" width="582" height="64" /></a></p>  <p><font size="2" face="Calibri">Then, use the Initialize-Disk cmdlet to initialize the disk. After that, use the New-Partition cmdlet to create a partition on the disk, and pipe the output to the Format-Volume cmdlet to format the volume with the NTFS file system. To do so, type the following commands:</font></p>  <p><font style="background-color: rgb(204, 204, 204);" size="2" face="Consolas">Initialize-disk 3</font></p>  <p><font face="Calibri"><font style="background-color: rgb(204, 204, 204);" size="2" face="Consolas">New-Partition -DiskNumber 3 -UseMaximumSize -AssignDriveLetter | Format-Volume -NewFileSystemLabel &quot;Mirror&quot; -FileSystem NTFS</font> </font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/7217.image_3C4EE90F.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/7217.image_5F00_3C4EE90F.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/1854.image_thumb_4A212F0A.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/1854.image_5F00_thumb_5F00_4A212F0A.png" width="584" height="120" /></a></p>        <p>Bruce Langworthy</p>  <p>Senior Program Manager – Windows Storage and Filesystems</p>]]></content:encoded>
    </item>
    <item>
      <title>Introduction to Storage Management on Windows Server 2012 (Part 2)</title>
      <link>https://docs.microsoft.com/archive/blogs/san/introduction-to-storage-management-on-windows-server-2012-part-2</link>
      <pubDate>Mon, 02 Jul 2012 19:43:27 GMT</pubDate>
      <dc:creator><![CDATA[Bruce Langworthy - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/san/2012/07/02/introduction-to-storage-management-on-windows-server-2012-part-2/</guid>
      <description><![CDATA[Understanding Custom object views in the Storage Module for Windows PowerShell  Before I delve into...]]></description>
      <content:encoded><![CDATA[<h3>Understanding Custom object views in the Storage Module for Windows PowerShell</h3>  <p><font size="2" face="Calibri">Before I delve into the actual usage of the cmdlets present in the Storage module, I wanted to explain a bit about how the parameters and information are displayed. The default view of most <strong>Storage</strong> cmdlets display only the most commonly accessed properties of an object, which can be a little confusing unless you know there are other parameters that you can access.</font></p>  <p><font size="2" face="Calibri"></font></p>  <p><font size="2" face="Calibri">For the first article in this series, see the post below:</font></p>  <p><a title="https://blogs.msdn.com/b/san/archive/2012/06/26/an-introduction-to-storage-management-in-windows-server-2012.aspx" href="https://blogs.msdn.com/b/san/archive/2012/06/26/an-introduction-to-storage-management-in-windows-server-2012.aspx">https://blogs.msdn.com/b/san/archive/2012/06/26/an-introduction-to-storage-management-in-windows-server-2012.aspx</a></p>  <p><font size="2" face="Calibri"></font></p>  <p><font size="2" face="Calibri">The Storage module uses a custom object format that varies the parameters returned based on whether the object is viewed in table or list format. This is done so that the default (table) view is easy to read. </font></p>  <p><font size="2" face="Calibri">To display an expanded set of properties, use the Format-List cmdlet shown in Figure 1. For example, Get-Disk | Format-List. </font></p>  <p><font size="2" face="Calibri">Note: In the figure below, FL is an alias to Format-List.</font></p>  <p><font face="Calibri"><font size="2">To view a complete list of properties, use the Format-List * command shown in Figure 3. For example, Get-Disk | Format-List *).</font> </font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/4341.image_7BA86288.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/4341.image_5F00_7BA86288.png"><img style="display: inline; background-image: none;" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/2768.image_thumb_42255291.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/2768.image_5F00_thumb_5F00_42255291.png" width="582" height="62" /></a></p>  <p><font face="Calibri">Figure 1: The default (table) view for Get-Disk</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/1033.image_68F368D1.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/1033.image_5F00_68F368D1.png"><img style="display: inline; background-image: none;" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/7484.image_thumb_368F9552.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/7484.image_5F00_thumb_5F00_368F9552.png" width="587" height="176" /></a></p>  <p><font face="Calibri">Figure 2: The list view for Get-Disk</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/6406.image_1A7ED667.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/6406.image_5F00_1A7ED667.png"><img style="display: inline; background-image: none;" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/0143.image_thumb_563E6F1A.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/0143.image_5F00_thumb_5F00_563E6F1A.png" width="593" height="345" /></a></p>  <p><font face="Calibri">Figure 3: The list view of <b>ALL </b>object properties for Get-Disk. (Using Format-List *)</font></p>  <h3>Available Windows PowerShell modules related to managing Storage</h3>  <p><font size="2" face="Calibri">Storage Management scenarios are managed via Windows PowerShell in Windows Server 2012 and Windows 8 using the following modules:</font></p>  <p><font size="2" face="Calibri"></font></p>  <p><font size="2" face="Calibri"></font></p>  <table border="1" cellspacing="0" cellpadding="0"><tbody>     <tr>       <td valign="top" width="319">         <p><b><font size="2" face="Calibri">Module name</font></b></p>       </td>        <td valign="top" width="312">         <p><b><font size="2" face="Calibri">Purpose</font></b></p>       </td>     </tr>      <tr>       <td valign="top" width="319">         <p><b><font size="2" face="Calibri">Storage</font></b></p>       </td>        <td valign="top" width="312">         <p><font size="2" face="Calibri">Provides management interfaces for local storage and storage objects exposed via a Storage Management Provider</font></p>       </td>     </tr>      <tr>       <td valign="top" width="319">         <p><b><font size="2" face="Calibri">MPIO</font></b></p>       </td>        <td valign="top" width="312">         <p><font size="2" face="Calibri">Allows configuration of the Multipath I/O (MPIO) feature. (Windows Server 2012 only).</font></p>       </td>     </tr>      <tr>       <td valign="top" width="319">         <p><b><font size="2" face="Calibri">iSCSI</font></b></p>       </td>        <td valign="top" width="312">         <p><font size="2" face="Calibri">Provides iSCSI initiator connection management</font></p>       </td>     </tr>   </tbody></table>  <p><font size="2" face="Calibri">To obtain a list of the commands in any of these modules, use the following commands in Windows PowerShell:</font></p>  <p><font size="2" face="Calibri"><font style="background-color: rgb(204, 204, 204);" face="Courier New">Get-Command –Module &lt;ModuleName&gt;</font> </font></p>  <p><font size="2" face="Calibri">For example, to obtain a list of all of the Windows PowerShell cmdlets in the Storage module, use the following commands:</font></p>  <p><font style="background-color: rgb(204, 204, 204);" size="2" face="Courier New">Get-Command –Module Storage</font></p>  <h3><a name="_Toc328249169">Obtaining and Updating help for Windows PowerShell Modules:</a></h3>  <p><font size="2" face="Calibri">In Windows 8, Windows PowerShell Help includes only a basic listing of parameters “in-box”. The complete Help is published to Microsoft TechNet, and you can update Windows PowerShell to include this Help from any computer that has Internet access.</font></p>  <p><font size="2" face="Calibri">Once a Windows PowerShell module has been imported into the current Windows PowerShell session, the help content may be downloaded and updated via the following command:</font></p>  <blockquote>   <p><font size="2" face="Calibri"><font style="background-color: rgb(204, 204, 204);">Update-Help</font> </font></p>  </blockquote>  <p><font size="2" face="Calibri">Note: the –Force parameter must be used if attempting to update more than once per 24 hour period.</font></p>  <p><font size="2" face="Calibri">To display help for a specific cmdlet, use the following command:</font></p>  <blockquote>   <p><font style="background-color: rgb(204, 204, 204);" size="2" face="Courier New">Get-Help &lt;Cmdlet&gt;</font></p>  </blockquote>  <p><font size="2" face="Calibri">For example, to get help for the Get-Disk cmdlet, use</font></p>  <blockquote>   <p><font style="background-color: rgb(204, 204, 204);" size="2" face="Courier New">Get-Help Get-Disk</font></p>  </blockquote>  <p><font size="2" face="Calibri">The get-help cmdlet offers multiple levels of verbosity, which include</font></p>  <blockquote></blockquote>  <ul>   <li><font size="2" face="Calibri">No parameter specified, only basic help is displayed.</font></li>    <li><font size="2" face="Calibri">Detailed provides detailed help</font></li>    <li><font size="2" face="Calibri">Example provides examples of the cmdlet in use.</font></li>    <li><font size="2" face="Calibri">Full provides all available help content for the specified cmdlet.</font></li>  </ul>  <blockquote></blockquote>  <p><font size="2" face="Calibri">For example, to obtain script examples for the Get-Disk cmdlet, use the following command:</font></p>  <blockquote>   <p><font style="background-color: rgb(204, 204, 204);" size="2" face="Courier New">Get-Help Get-Disk –Examples</font></p>  </blockquote>  <p><font size="2" face="Calibri">This returns output similar to the following:</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/4338.image_681B02E7.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/4338.image_5F00_681B02E7.png"><img style="display: inline; background-image: none;" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/4341.image_thumb_75ED48E2.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/4341.image_5F00_thumb_5F00_75ED48E2.png" width="549" height="358" /></a></p>  <p><font face="Calibri">Figure 4: The Help examples included with the Get-Disk cmdlet</font></p>  <p><font size="2" face="Calibri">Windows 8 and Windows Server 2012 contain the Storage Management API, associated WMI classes, and the <b>Storage </b>module for Windows PowerShell.</font></p>  <p><i><font size="2" face="Calibri">Note: Windows PowerShell and the Storage module are not available by default in Windows PE. I will cover in a subsequent post building a custom Windows PE image that includes the Storage module and Windows PowerShell optional components for Windows PE.</font></i></p>  <p><font size="2" face="Calibri">The Windows Standards-Based Storage Management Service is available only on Windows Server 2012, and is required for the use of SMI-S providers with Storage Management (it is also not available from Windows PE).</font></p>  <h4><a name="_Toc328249173"><font size="2" face="Calibri">Other available management interfaces for storage:</font></a></h4>  <h5><a name="_Toc328249174"><font size="2" face="Calibri">Storage Spaces Control Panel</font></a></h5>  <p><font size="2" face="Calibri">Windows 8 includes the Storage Spaces control panel item, shown in Figure 5. The Storage Spaces control panel item provides a simple user interface that end-users can use to configure and manage the Storage Spaces subsystem for personal storage. It cannot be used for management of other Storage Management Providers, and is available only on Windows 8.</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/2768.image_07C9DCB0.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/2768.image_5F00_07C9DCB0.png"><img style="display: inline; background-image: none;" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/3348.image_thumb_19A6707D.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/3348.image_5F00_thumb_5F00_19A6707D.png" width="531" height="545" /></a></p>  <p><font face="Calibri">Figure 5: Storage Spaces in Control Panel in Windows 8</font></p>  <h5><a name="_Toc328249175"><font size="2" face="Calibri">File and Storage Services canvas in Server Manager </font></a></h5>  <p><font size="2" face="Calibri">Windows Server 2012 includes the File and Storage Services role in Server Manager, which enables you to remotely manage multiple file servers from a single window, including Storage Spaces, and other installed Storage Management Providers or SMI-S providers.</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/1680.image_1F66C470.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/1680.image_5F00_1F66C470.png"><img style="display: inline; background-image: none;" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/08/47/metablogapi/5383.image_thumb_11284B80.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-08-47-metablogapi/5383.image_5F00_thumb_5F00_11284B80.png" width="535" height="408" /></a></p>  <p><font face="Calibri">Figure 6: File and Storage Services in Server Manager in Windows Server 2012</font></p>  <h4><a name="_Toc328249177"><font face="Calibri">Windows Management Instrumentation (WMI</font></a><font face="Calibri">)</font></h4>  <p><font face="Calibri"><font size="2">Windows 8 and Windows Server 2012 include a rich set of management classes intended for use by developers creating management applications for storage</font>. </font></p>  <p><font face="Calibri"></font></p>]]></content:encoded>
    </item>
  </channel>
</rss>