<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Playing around with get-nadisk to pull volume information in Microsoft Virtualization Discussions</title>
    <link>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Playing-around-with-get-nadisk-to-pull-volume-information/m-p/42736#M2042</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Last updated for the day...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I forgot the most important part.. disk ID numbers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Function Diskinfo&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach ($disk in $shelf)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $diskname = $disk.name&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write-host "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Disk ID:"&amp;nbsp;&amp;nbsp; $diskname &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out-file $outfile -inputobject&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Disk ID:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $diskname "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -append &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if ($shelf -ne $null)&lt;/P&gt;&lt;P&gt;#Call function disk info&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; diskinfo&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 13 Jul 2012 18:26:48 GMT</pubDate>
    <dc:creator>JGPSHNTAP</dc:creator>
    <dc:date>2012-07-13T18:26:48Z</dc:date>
    <item>
      <title>Playing around with get-nadisk to pull volume information</title>
      <link>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Playing-around-with-get-nadisk-to-pull-volume-information/m-p/42702#M2033</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;So, i'm at it again... Just playing around and thinking of things I can mess around with and we ran across an issue where we had specific shelf issues in our environment and I wanted to know immediately what volumes were affected.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Yah, I can go to my autosupports and backtrack through aggregates, but that's not fun... &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So, I'm just messing around with a simple query on the disk but i'm having trouble getting the entire picture...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here's where i'm at so far..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;$hosts = @("filer1a","filer1b")&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;$hosts | % {&lt;/P&gt;&lt;P&gt;Write-host Connecting to Filer: $_&lt;/P&gt;&lt;P&gt;$c&amp;nbsp; = connect-nacontroller $_&lt;/P&gt;&lt;P&gt;$shelf = get-nadisk | ? {($_.name -like "*1b*" -or $_.name -like "*2b*") -and $_.shelf -eq "3" -and $_.aggregate -ne $null} &lt;/P&gt;&lt;P&gt;$shelf | Ft -groupby @{E ={$C};Label="Filer"} -autosize&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tthat will give me a clear picture of which filer owns the disks on channel 1b/2b shelf 3, but I want to turn this into what volumes are part of this...&amp;nbsp;&amp;nbsp; My powershell skills are just not taking me to where I need to be at this moment, but i'm giving it a shot.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I know the get-nadisk has an aggregate property and I planned on looping that into this&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;get-navol -aggregate $_.aggregate,&amp;nbsp; but i'm having trouble putting it all together.. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I need to understand that $shelf should have all the properties and why can't I just do something like $shelf.aggregate.&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can someone point me in the right direction... &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Jun 2025 06:22:49 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Playing-around-with-get-nadisk-to-pull-volume-information/m-p/42702#M2033</guid>
      <dc:creator>JGPSHNTAP</dc:creator>
      <dc:date>2025-06-05T06:22:49Z</dc:date>
    </item>
    <item>
      <title>Re: Playing around with get-nadisk to pull volume information</title>
      <link>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Playing-around-with-get-nadisk-to-pull-volume-information/m-p/42707#M2035</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Shelves don't map directly to aggregates, disks do.&amp;nbsp; So the shelves in a disk may be part of 0, 1, or many aggregates. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In your script you could add a couple lines like the following to enumerate the related vols:&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;$aggrs = $shelf | select -Unique Aggregate | select -Expand Aggregate&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;$vols = $aggrs | % {get-navol -Aggregate $_}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note that those vols/aggregates might spill over into other shelves even if you didn't set it up that way initially (e.g. when replacing a failed disk).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Great question, and nice script example by the way.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Jul 2012 14:55:39 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Playing-around-with-get-nadisk-to-pull-volume-information/m-p/42707#M2035</guid>
      <dc:creator>timothyn</dc:creator>
      <dc:date>2012-07-13T14:55:39Z</dc:date>
    </item>
    <item>
      <title>Re: Playing around with get-nadisk to pull volume information</title>
      <link>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Playing-around-with-get-nadisk-to-pull-volume-information/m-p/42712#M2037</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here is some code I was playing with before Eric's response. It is not the most elegant of solutions and doesn't account for the channels, hope it is of some use.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Actually, thinking about it, this code will probably only work if you have 1 loop or stack due to the selections based on the shelf ID. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;$hosts | % {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write-host Connecting to Filer: $_&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $c&amp;nbsp; = Connect-NaController $_&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #Select distinct shelves from controller&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $shelves = Get-NaShelf | select-object id -unique&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach ($s in $shelves) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write-Host "Shelf: " $s.ID&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $disks = Get-NaDisk | ? {$_.shelf -eq $s.ID}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #select distinct aggregates from output&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $aggregates = (Get-NaDisk | ? {($_.shelf -eq $s.ID) -and ($_.aggregate -ne $null)}) | select-object aggregate -unique&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ($aggregates -ne $null) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #select volumes from aggregates&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach ($a in $aggregates)&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $vols = Get-NaVol -aggregate $a.Aggregate&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write-Host "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Aggregate: " $a.Aggregate&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write-Host "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Volumes: "&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach ($v in $vols) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write-Host "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; " $v.Name&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Jul 2012 15:15:49 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Playing-around-with-get-nadisk-to-pull-volume-information/m-p/42712#M2037</guid>
      <dc:creator>ashleycook</dc:creator>
      <dc:date>2012-07-13T15:15:49Z</dc:date>
    </item>
    <item>
      <title>Re: Playing around with get-nadisk to pull volume information</title>
      <link>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Playing-around-with-get-nadisk-to-pull-volume-information/m-p/42716#M2038</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Eric,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thx for the input as usual... Im playing around with it, but not quite getting exactly what I want.. maybe I should group my output by aggregate and filer...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here's the last line I put in&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;$vols | Select Name,State,Aggregate | Ft -groupby @{E = {$_.aggregate};Label="Aggregate"} -autosize &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sort of gives me an overall picture of ok, disks on a specified channel contain these disks, which are part of these aggregates, and here's the volume and the status.... &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I will keep playin around with it.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Jul 2012 15:30:24 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Playing-around-with-get-nadisk-to-pull-volume-information/m-p/42716#M2038</guid>
      <dc:creator>JGPSHNTAP</dc:creator>
      <dc:date>2012-07-13T15:30:24Z</dc:date>
    </item>
    <item>
      <title>Re: Playing around with get-nadisk to pull volume information</title>
      <link>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Playing-around-with-get-nadisk-to-pull-volume-information/m-p/42721#M2039</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ashley -&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Great job.. I'm diggin yours... I like the formatting of it a lot better than mine.. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What we should do is add the disk ID numbers, so for example it could say&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Shelf 1:&amp;nbsp; Disks 1a.10 1a.11 1a.22 &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;etc...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Jul 2012 15:36:47 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Playing-around-with-get-nadisk-to-pull-volume-information/m-p/42721#M2039</guid>
      <dc:creator>JGPSHNTAP</dc:creator>
      <dc:date>2012-07-13T15:36:47Z</dc:date>
    </item>
    <item>
      <title>Re: Playing around with get-nadisk to pull volume information</title>
      <link>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Playing-around-with-get-nadisk-to-pull-volume-information/m-p/42725#M2040</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Well,&amp;nbsp; here is a little addition.. Not quite thrilled with it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;Foreach ($d in $disks) {&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt; Write-host "&amp;nbsp;&amp;nbsp;&amp;nbsp; Disks: " $d.name&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;}&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So.. What's interesting is i'm specifically looking for issues on channel 1b/2b.&amp;nbsp; But when I run your script it's telling me way too much information for shelf 3.&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'll keep playin around..&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Jul 2012 15:47:59 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Playing-around-with-get-nadisk-to-pull-volume-information/m-p/42725#M2040</guid>
      <dc:creator>JGPSHNTAP</dc:creator>
      <dc:date>2012-07-13T15:47:59Z</dc:date>
    </item>
    <item>
      <title>Re: Playing around with get-nadisk to pull volume information</title>
      <link>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Playing-around-with-get-nadisk-to-pull-volume-information/m-p/42731#M2041</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ok, so i'm sure this can be done prettier or more efficient, but this is what I got so far... I am explicitly defining my search criteria.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;### File Constants&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $date = (get-date).toString('dd-MMM-yyyy_h-mm-ss')&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $ext = ".log"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $outfile = "fileclusters_clu_" + $date + $ext&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FUNCTION shelfinfo&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $aggrs = $shelf | select -Unique Aggregate | select -Expand Aggregate&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $vols = $aggrs | % {get-navol -Aggregate $_} &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $volumes =&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $vols | Select Name,State,Aggregate | Ft -groupby @{E = {$_.aggregate};Label="Aggregate"} -autosize&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $volumes &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $volumes | Out-file $outfile -append&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;$hosts = @("filer1a","filer1b")&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;$hosts | % {&lt;/P&gt;&lt;P&gt;Write-host Connecting to Filer: $_&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; out-file $outfile -inputobject "Connecting to filer: $_ " -append &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;$Shelfnumber = "3"&lt;/P&gt;&lt;P&gt;$c&amp;nbsp; = connect-nacontroller $_&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write-host "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Shelf Number $shelfnumber on Channel 1b/2b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Out-file $outfile -inputobject "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Shelf Number $shelfnumber on Channel 1b/2b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; " -append &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;$shelf = get-nadisk | ? {($_.name -like "*1b*" -or $_.name -like "*2b*") -and $_.shelf -eq $shelfnumber -and $_.aggregate -ne $null} &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;# Call Shelf info&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ($shelf -ne $null) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; shelfinfo&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;## Next Host&lt;/P&gt;&lt;P&gt;$hosts = @("filer2a","filer2b")&lt;/P&gt;&lt;P&gt;$hosts | % {&lt;/P&gt;&lt;P&gt;Write-host Connecting to Filer: $_&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; out-file $outfile -inputobject "Connecting to filer: $_ " -append &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;$Shelfnumber = "1"&lt;/P&gt;&lt;P&gt;$c&amp;nbsp; = connect-nacontroller $_&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write-host "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Shelf Number $shelfnumber on Channel 1b/2b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Out-file $outfile -inputobject "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Shelf Number $shelfnumber on Channel 1b/2b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; " -append &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;$shelf = get-nadisk | ? {($_.name -like "*1b*" -or $_.name -like "*2b*") -and $_.shelf -eq $shelfnumber -and $_.aggregate -ne $null} &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;# Call Shelf info&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ($shelf -ne $null) &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; shelfinfo&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Jul 2012 18:02:59 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Playing-around-with-get-nadisk-to-pull-volume-information/m-p/42731#M2041</guid>
      <dc:creator>JGPSHNTAP</dc:creator>
      <dc:date>2012-07-13T18:02:59Z</dc:date>
    </item>
    <item>
      <title>Re: Playing around with get-nadisk to pull volume information</title>
      <link>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Playing-around-with-get-nadisk-to-pull-volume-information/m-p/42736#M2042</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Last updated for the day...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I forgot the most important part.. disk ID numbers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Function Diskinfo&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach ($disk in $shelf)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $diskname = $disk.name&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write-host "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Disk ID:"&amp;nbsp;&amp;nbsp; $diskname &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out-file $outfile -inputobject&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Disk ID:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $diskname "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -append &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if ($shelf -ne $null)&lt;/P&gt;&lt;P&gt;#Call function disk info&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; diskinfo&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Jul 2012 18:26:48 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Playing-around-with-get-nadisk-to-pull-volume-information/m-p/42736#M2042</guid>
      <dc:creator>JGPSHNTAP</dc:creator>
      <dc:date>2012-07-13T18:26:48Z</dc:date>
    </item>
    <item>
      <title>Re: Playing around with get-nadisk to pull volume information</title>
      <link>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Playing-around-with-get-nadisk-to-pull-volume-information/m-p/42741#M2043</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Nice, that is looking good.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do you have more that one loop or stack on the system you ran my code against? I'm being quite harsh in how I determine how many shelves are on the system.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What I did was to identify shelves based purely on their ID:&lt;/P&gt;&lt;P&gt;$shelves = Get-NaShelf | select-object id -unique&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In my case this isn't an issue as there is only a single stack of shelves, so what I end up with is one list which makes a big assumption that two shelves with the same ID are actually the same shelf. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My memory is a little hazy on this, but I think if you were to have two separate stacks or loops, then it would be permissible to have the same shelf ID present on separate stacks/loops. The consequence of this is when I run this:&lt;/P&gt;&lt;P&gt;$disks = Get-NaDisk | ? {$_.shelf -eq $s.ID}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The returned result would be that $disks would contain all disks which shared a common shelf ID. Essentially this would amalgamate the results if you had duplicate shelf IDs, which consequently would bear little resemblance to reality.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As I say, I've only got one stack here so it is difficult to test, but I think the below substitutions would give a more accurate output:&lt;/P&gt;&lt;P&gt;$shelves = Get-NaShelf -Controller $c&lt;/P&gt;&lt;P&gt;$disks = Get-NaDisk | ? {($_.shelf -eq $s.ID) -and ($_.name -like $s.channel+"*")}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For completeness, it looks something like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __jive_macro_name="quote" class="jive_text_macro jive_macro_quote" modifiedtitle="true"&gt;&lt;P&gt;$hosts = @("filer1a","filer1b")&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;$hosts | % {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write-host Connecting to Filer: $_&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $c&amp;nbsp; = Connect-NaController $_&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #Select distinct shelves from controller&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $shelves = Get-NaShelf -Controller $c&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach ($s in $shelves) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write-Host "Shelf: " $s.ID " Channel: " $s.channel&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $disks = Get-NaDisk | ? {($_.shelf -eq $s.ID) -and ($_.name -like $s.channel+"*")}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #select distinct aggregates from output&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $aggregates = (Get-NaDisk | ? {($_.shelf -eq $s.ID) -and ($_.aggregate -ne $null)}) | select-object aggregate -unique&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ($aggregates -ne $null) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #select volumes from aggregates&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach ($a in $aggregates)&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $vols = Get-NaVol -aggregate $a.Aggregate&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write-Host "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Aggregate: " $a.Aggregate&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write-Host "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Volumes: "&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach ($v in $vols) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write-Host "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; " $v.Name&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write-Host "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Disks: "&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach ($d in $disks)&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Write-Host "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; " $d&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Jul 2012 10:15:09 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Playing-around-with-get-nadisk-to-pull-volume-information/m-p/42741#M2043</guid>
      <dc:creator>ashleycook</dc:creator>
      <dc:date>2012-07-16T10:15:09Z</dc:date>
    </item>
    <item>
      <title>Re: Playing around with get-nadisk to pull volume information</title>
      <link>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Playing-around-with-get-nadisk-to-pull-volume-information/m-p/42745#M2044</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You're absolutely correct that you could have multiple shelves with the same integer ID.&amp;nbsp; Even worse it's also possible that you have multiple paths to the same shelf in which case one shelf will show up twice on different channels (very common with MetroClusters).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I usually use the ShelfUid property (an 8 byte random ID) to determine uniqueness:&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;Get-NaShelf | group ShelfUid &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But since disks don't have that info, Ashley is absolutely right.&amp;nbsp; I'd add that for completeness you'll need to match on the Name or SecondaryName properties of the shelf:&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;get-nadisk | ? {($_.Name -match $shelf.Channel &lt;STRONG&gt;-or $_.SecondaryName -match $shelf.Channel&lt;/STRONG&gt;) -and $_.Shelf -eq $shelf.ID}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;That's getting pretty ugly, so a function/cmdlet might be in order:&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;function Get-NaDiskByShelf&amp;nbsp; {&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [CmdletBinding()]&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Param&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Shelf&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Parameter(Mandatory=$true,&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ValueFromPipeline=$true,&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Position=0)]&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $Shelf&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Get-NaDisk | &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Where {$_.Name -match $Shelf.Channel -or $_.SecondaryName -match $Shelf.Channel} |&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Where {$_.Shelf -eq $Shelf.ID}&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;so you can do this...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;PS C:\&amp;gt; $shelf | Get-NaDiskByShelf &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Shelf Bay Status UsedSpace PhysSpace RPM FW&amp;nbsp;&amp;nbsp; Model&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Pool Aggregate&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;----&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ----- --- ------ --------- --------- --- --&amp;nbsp;&amp;nbsp; -----&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ---- ---------&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;tsbrocade5100-13:10.18&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp; parity&amp;nbsp;&amp;nbsp;&amp;nbsp; 266 GB&amp;nbsp;&amp;nbsp;&amp;nbsp; 274 GB 15k NA02 X279_S15K5288F15&amp;nbsp; 1&amp;nbsp;&amp;nbsp; aggr0&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;tsbrocade5100-13:10.21&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&amp;nbsp; spare&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 266 GB&amp;nbsp;&amp;nbsp;&amp;nbsp; 274 GB 15k NA02 X279_S15K5288F15&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;tsbrocade5100-13:10.22&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp; 6&amp;nbsp; spare&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 266 GB&amp;nbsp;&amp;nbsp;&amp;nbsp; 274 GB 15k NA02 X279_S15K5288F15&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;...&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;tsbrocade5100-14:10.16&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp; data&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 266 GB&amp;nbsp;&amp;nbsp;&amp;nbsp; 274 GB 15k NA02 X279_S15K5288F15&amp;nbsp; 1&amp;nbsp;&amp;nbsp; aggr0&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;... &lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Jul 2012 14:37:58 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Playing-around-with-get-nadisk-to-pull-volume-information/m-p/42745#M2044</guid>
      <dc:creator>timothyn</dc:creator>
      <dc:date>2012-07-16T14:37:58Z</dc:date>
    </item>
    <item>
      <title>Re: Playing around with get-nadisk to pull volume information</title>
      <link>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Playing-around-with-get-nadisk-to-pull-volume-information/m-p/42750#M2045</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This post has taken on some good info!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Jul 2012 15:19:35 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Playing-around-with-get-nadisk-to-pull-volume-information/m-p/42750#M2045</guid>
      <dc:creator>JGPSHNTAP</dc:creator>
      <dc:date>2012-07-16T15:19:35Z</dc:date>
    </item>
  </channel>
</rss>

