<?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: How to extend/optimize this multi vc datastore inventory script in VMware PowerCLI Discussions</title>
    <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/How-to-extend-optimize-this-multi-vc-datastore-inventory-script/m-p/437162#M9221</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;In &lt;STRONG&gt;method 1&lt;/STRONG&gt; you can avoid that the script stops when the VC is in trouble by adding the -ErrorAction SilentlyContinue parameter on the Connect-VIServer.&lt;/P&gt;&lt;P&gt;You will have to test yourself if the connected worked or not, and depending on the result retrieve the data or not.&lt;/P&gt;&lt;P&gt;Something like this&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN style="color: #800080;"&gt;$vcName&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #FF0000;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #800000;"&gt;"MyVC"&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #800080;"&gt;&lt;BR /&gt;&lt;BR /&gt;$vc&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #FF0000;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #5F9EA0;"&gt;Connect-VIServer&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #5F9EA0;"&gt;-Server&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #800080;"&gt;$vcName&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #5F9EA0;"&gt;-ErrorAction&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0000FF;"&gt;SilentlyContinue&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #0000FF;"&gt;if&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #800080;"&gt;$vc&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #8B4513;"&gt;IsConnected&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;){
&lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;# Collect the date
&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;}
&lt;/SPAN&gt;&lt;SPAN style="color: #0000FF;"&gt;else&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;{
&lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;# Connection to VC failed, display error message
&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #5F9EA0;"&gt;Write-Error&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #800000;"&gt;"Connection to $($vcName) failed !"&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;&lt;BR /&gt;}&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Method 2&lt;/STRONG&gt; can indeed take a considerable time in a larger environment.&lt;/P&gt;&lt;P&gt;Here you can optimise the speed by using the Get-View cmdlet and by using the Property parameter.&lt;/P&gt;&lt;P&gt;Like this&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN style="color: #5F9EA0;"&gt;Get-View&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #5F9EA0;"&gt;-ViewType&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0000FF;"&gt;HostSystem&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #5F9EA0;"&gt;-Property&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #800000;"&gt;"Name"&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="color: #800000;"&gt;"VM"&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and limit the properties to only the ones you need in the script.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Method 4&lt;/STRONG&gt; would my personal choice, you run/schedule the inventory script from a single station and you use a PowerShell feature to "multi-thread".&lt;/P&gt;&lt;P&gt;But be aware that the Start-Job in combination with a PowerCLI script needs some specific coding in your script.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 28 Apr 2013 14:45:10 GMT</pubDate>
    <dc:creator>LucD</dc:creator>
    <dc:date>2013-04-28T14:45:10Z</dc:date>
    <item>
      <title>How to extend/optimize this multi vc datastore inventory script</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/How-to-extend-optimize-this-multi-vc-datastore-inventory-script/m-p/437153#M9212</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Trying to setup a script for datastore inventory. This is what i have so far.&lt;/P&gt;&lt;P&gt;I would like to extend this datastore inventory script.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.) How to add additional&amp;nbsp; properties to this script?&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $row.HostsConnected (i.e. as one joined string esxhost1|esxhost2|esxhost3), &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $row.VMsHosted (i.e. as one joined string VM1|VM2|VM3) &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $row.SiocEnabled (True/False), &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $row.PartofStorageCluster (True/False)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $row.LUNUUID (yes LUNUUID (fast method there) of Datastore_Name processed during for each loop)&lt;BR /&gt; &lt;/P&gt;&lt;P&gt;working on&lt;/P&gt;&lt;P&gt;vSphere 5.1.x infra&lt;/P&gt;&lt;P&gt;Powercli 5.1.x&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks is advance&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;# start script&lt;BR /&gt;$LogTimeStamp = (Get-Date).ToString("dd-MM-yyyy_HH_mm")&lt;BR /&gt;$ScanDate = Get-Date -format "yyyy-MM-dd"&lt;BR /&gt;$ScanTime = Get-Date -format "HH:mm"&lt;BR /&gt;$ScanDateTimeStamp= Get-Date -format "yyyy-MM-dd HH:mm:00.000"&lt;/P&gt;&lt;P&gt;Set-PowerCLIConfiguration -DefaultVIServerMode multiple -Confirm:$false&lt;BR /&gt;Connect-Viserver "vCenter1.mydomain.corp", "vCenter2.mydomain.corp"&lt;/P&gt;&lt;P&gt;$currDir = Split-path -parent $MyInvocation.MyCommand.Definition&lt;BR /&gt;$outputFile = $currDir + "\All_VC" + "_" + $LogTimeStamp + "_datastore_inventory.csv"&lt;/P&gt;&lt;P&gt;if (Test-Path $outputFile)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Remove-Item $outputFile&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;cls&lt;BR /&gt;$clusterColl = @(Get-Cluster) | Sort-Object Name&lt;/P&gt;&lt;P&gt;$i=0&lt;BR /&gt;$b=0&lt;BR /&gt;$b = $clusterColl.Count&lt;/P&gt;&lt;P&gt;$report = New-Object Collections.Generic.LinkedList[PSObject]&lt;BR /&gt;foreach($dc in get-datacenter) {&lt;BR /&gt; foreach($cluster in Get-Cluster -Location $dc) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $i++&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; write-progress "Please wait....Datastore inventory in progress..." "Cluster ($i of $b) &amp;gt;&amp;gt; $cluster" 1 -perc (($i / $b)*100)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $VMHost = $cluster | Get-VMHost | select -First 1&lt;BR /&gt; write-progress "Selected vSphere server: " "vSphere server &amp;gt;&amp;gt; $VMHost" 2 -perc 100 -parentid 1&lt;BR /&gt; $VMHost | Get-DataStore | Where-Object { $_.Name -notlike "*local*"} | Sort-Object Name | get-view | %{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $row = "" | Select-Object Rec_ID, ScanDate, ScanTime, Infra, vCenter, Datacenter,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Cluster, Datastore_Name, DeviceID, BlockSizeMB,Vmfsupgradable,Version,Type,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MaxBlocks,URL, VMs, VMsHosted, Hosts, HostsConnected, Capacity_GB, Used_spaceGB, Free_spaceGB, PercentFree, PercentUsed, LUN_UUID, ScanDateTimeStamp&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $row.Rec_ID=""&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $row.ScanDate = $ScanDate&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $row.ScanTime = $ScanTime&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $row.ScanDateTimeStamp=$ScanDateTimeStamp&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $row.vCenter=$VMHost.extensiondata.Client.ServiceUrl.Split('/')[2].replace(":443","")&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; Switch ($row.vCenter) {&lt;BR /&gt;&amp;nbsp; "vCenter1.mydomain.corp" {$row.Infra="TDA"}&lt;BR /&gt;&amp;nbsp; "vCenter1.mydomain.corp" {$row.Infra="PROD"}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $row.Datacenter = [string]$dc.Name&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $row.Cluster = [string]$Cluster.Name&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $row.Datastore_Name = [string]$($_.info.Name)&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ($_.info.URL.StartsWith("netfs")) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; # write-host "Exclude NFS datastores"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $row.Capacity_GB = [int]([math]::round($($_.info.vmfs.Capacity / 1024/1024/1024),2))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $row.Free_spaceGB = [int]([math]::round($($_.info.Freespace / 1024/1024/1024),2))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $row.Used_spaceGB = [int]([math]::round($row.Capacity_GB - $row.Free_spaceGB,2))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $row.PercentFree = [int][math]::round(($row.Free_spaceGB / $row.Capacity_GB * 100),2)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $row.PercentUsed = [int]100 - $row.PercentFree&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $row.VMs=[int]$($_.vm.count)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $row.VMsHosted="..."&lt;BR /&gt;&amp;nbsp; $row.Hosts=[int]$($_.host.count)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $row.HostsConnected="..."&lt;BR /&gt;&amp;nbsp; $row.DeviceID=[string]$($_.info.Vmfs.Extent[0].DiskName)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $row.BlockSizeMB=[int]$($_.info.vmfs.BlockSizeMB)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $row.Version=[string]$($_.info.vmfs.Version)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $row.Type=[string]$($_.info.vmfs.Type)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $Row.MaxBlocks=[int]$($_.info.vmfs.MaxBlocks) &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $Row.URL=[string]$($_.info.URL) &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $Row.vmfsupgradable=[bool]$($_.info.vmfs.vmfsupgradable)&lt;BR /&gt;&amp;nbsp; $Report.AddLast($row) | Out-Null&lt;BR /&gt;&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; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;$report | Sort-Object Free_spaceGB -Descending | Export-Csv -NoTypeInformation -Path $outputFile&lt;/P&gt;&lt;P&gt;# end script&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Apr 2013 21:24:46 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/How-to-extend-optimize-this-multi-vc-datastore-inventory-script/m-p/437153#M9212</guid>
      <dc:creator>A_S</dc:creator>
      <dc:date>2013-04-26T21:24:46Z</dc:date>
    </item>
    <item>
      <title>Re: How to extend/optimize this multi vc datastore inventory script</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/How-to-extend-optimize-this-multi-vc-datastore-inventory-script/m-p/437154#M9213</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;These are already 4 of the 5 properties&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #800080;"&gt;$row&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #0000FF;"&gt;HostsConnected&lt;/SPAN&gt;&lt;SPAN style="color: #FF0000;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; [&lt;/SPAN&gt;&lt;SPAN style="color: #0000FF;"&gt;string&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;]&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;::&lt;/SPAN&gt;&lt;SPAN style="color: #8B4513;"&gt;Join&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #800000;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #800000;"&gt;|&lt;/SPAN&gt;&lt;SPAN style="color: #800000;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;,&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&lt;/SPAN&gt;&lt;SPAN style="color: #5F9EA0;"&gt;Get-View&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; (&lt;/SPAN&gt;&lt;SPAN style="color: #000080;"&gt;$_&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #8B4513;"&gt;ExtensionData&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #8B4513;"&gt;Host&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0000FF;"&gt;|&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0000FF;"&gt;Select&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #5F9EA0;"&gt;-ExpandProperty&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0000FF;"&gt;Key&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;) &lt;/SPAN&gt;&lt;SPAN style="color: #0000FF;"&gt;|&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #FF0000;"&gt;%&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt;&lt;SPAN style="color: #000080;"&gt;$_&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #8B4513;"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #8B4513;"&gt;Split&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #800000;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #800000;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #800000;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)[&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;0&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;]}))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #800080;"&gt;$row&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #0000FF;"&gt;VMsHosted&lt;/SPAN&gt;&lt;SPAN style="color: #FF0000;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; [&lt;/SPAN&gt;&lt;SPAN style="color: #0000FF;"&gt;string&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;::&lt;/SPAN&gt;&lt;SPAN style="color: #0000FF;"&gt;Join&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #800000;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #800000;"&gt;|&lt;/SPAN&gt;&lt;SPAN style="color: #800000;"&gt;'&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #5F9EA0;"&gt;Get-View&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000080;"&gt;$_&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #8B4513;"&gt;ExtensionData&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #8B4513;"&gt;VM&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0000FF;"&gt;|&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #FF0000;"&gt;%&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;{&lt;/SPAN&gt;&lt;SPAN style="color: #000080;"&gt;$_&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #0000FF;"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;}))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #800080;"&gt;$row&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #8B4513;"&gt;SIOC&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #FF0000;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000080;"&gt;$_&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #8B4513;"&gt;StorageIOCOntrolEnabled&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #800080;"&gt;$row&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #8B4513;"&gt;PartofStorageCluster&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #FF0000;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000080;"&gt;$_&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #8B4513;"&gt;ParentFolderId&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #FF0000;"&gt;-match&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #800000;"&gt;"StoragePod"&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm not completely sure what you mean with the LUNUUID (fast method) ?&lt;/P&gt;&lt;P&gt;Is the the CanonicalName for the LUN(s) that form the extents of the datastore ?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Apr 2013 23:40:24 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/How-to-extend-optimize-this-multi-vc-datastore-inventory-script/m-p/437154#M9213</guid>
      <dc:creator>LucD</dc:creator>
      <dc:date>2013-04-26T23:40:24Z</dc:date>
    </item>
    <item>
      <title>Re: How to extend/optimize this multi vc datastore inventory script</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/How-to-extend-optimize-this-multi-vc-datastore-inventory-script/m-p/437155#M9214</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you for taking time (what, it's almost 02:00 a clock in Belgium, don't you sleep ever?).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I like your oneliners in orders to retrieve these properties. They are correct syntatically (if i use them outside of this script) but for some reason they end up with errors inside this script. I suspect that it has to do with the way how the loop for datastore is defined and every time when i try to call something by utilizing .extensiondata then it fails with &lt;STRONG&gt;The argument is null or empty.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;I guess this part of a script already does get-view which makes the .extensiondata not usable.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;$VMHost | Get-DataStore | Where-Object { $_.Name -notlike "*local*"} | Sort-Object Name | get-view | %{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $row = "" | Select-Object Rec_ID, ScanDate, ScanTime, Infra, vCenter, Datacenter,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The following error message is something i get every time i try to utilize .extensiondata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Get-View : Cannot validate argument on parameter 'VIObject'. &lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;The argument is null or empty.&lt;/STRONG&gt; &lt;/SPAN&gt;Supply an argument that is not null or empty and then try the command again.&lt;BR /&gt;At scriptname.ps1&amp;lt;line #&amp;gt; char:&amp;lt;char#&amp;gt;&lt;BR /&gt;+&amp;nbsp;&amp;nbsp; $row.VMsHosted= [string]::Join("|",(Get-View &amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;nbsp; $dst.ExtensionData.VM | %{$_.Name}))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; + CategoryInfo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : InvalidData: (:) [Get-View], ParameterBindingValidationException&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; + FullyQualifiedErrorId : ParameterArgumentValidationError,VMware.VimAutom&lt;BR /&gt;&amp;nbsp;&amp;nbsp; ation.ViCore.Cmdlets.Commands.DotNetInterop.GetVIView&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And about LUN uuid:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i'm using this one but it's so slow. I was looking for something faster that might integrate with this script.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;function GetLunUUID([string]$vmhost,[string]$dsname) {&lt;BR /&gt; $ds = Get-View (Get-View (Get-VMHost -Name $vmhost).ID).ConfigManager.StorageSystem&lt;BR /&gt; foreach ($vol in $ds.FileSystemVolumeInfo.MountInfo) {&lt;BR /&gt;&amp;nbsp; if ($vol.Volume.Name -eq $dsname) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; # Write-host "DS Name:`t" $vol.Volume.Name&lt;BR /&gt;&amp;nbsp;&amp;nbsp; # Write-host "VMFS UUID:`t" $vol.Volume.Uuid&lt;BR /&gt;&amp;nbsp;&amp;nbsp; foreach ($volid in $vol.Volume.Extent) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach ($lun in $ds.StorageDeviceInfo.MultipathInfo.Lun){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ($lun.Id -eq $volid.DiskName) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; # Write-Host "LUN Name:`t" $lun.ID&lt;BR /&gt;&amp;nbsp; $mid = $lun.ID&lt;BR /&gt;&amp;nbsp; foreach ($id in $ds.StorageDeviceInfo.ScsiLun) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if ($id.CanonicalName -eq $mid) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $uuid = $id.Uuid&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Write-host "LUN UUID:`t" $uuid&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt; }&lt;BR /&gt; return $uuid&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;O;-), and i saw you script with datastores view at:&amp;nbsp; &lt;A href="http://www.lucd.info/2011/11/14/storage-views-datastores/"&gt;http://www.lucd.info/2011/11/14/storage-views-datastores/&lt;/A&gt;.&lt;/P&gt;&lt;P&gt;After this i will try to pick up some addtional properties that you offer in that script. Great!&lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://communities.vmware.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 27 Apr 2013 09:21:16 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/How-to-extend-optimize-this-multi-vc-datastore-inventory-script/m-p/437155#M9214</guid>
      <dc:creator>A_S</dc:creator>
      <dc:date>2013-04-27T09:21:16Z</dc:date>
    </item>
    <item>
      <title>Re: How to extend/optimize this multi vc datastore inventory script</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/How-to-extend-optimize-this-multi-vc-datastore-inventory-script/m-p/437156#M9215</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Lol, sleeping is a waste of time &lt;img id="smileywink" class="emoticon emoticon-smileywink" src="https://communities.vmware.com/i/smilies/16x16_smiley-wink.png" alt="Smiley Wink" title="Smiley Wink" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ok, didn't catch that you already did the Get-View on the Datastore object.&lt;/P&gt;&lt;P&gt;In that case, just remove the ExtensionData qualifier.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'll have a look if I can make the LUNUUID any faster.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 27 Apr 2013 10:12:30 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/How-to-extend-optimize-this-multi-vc-datastore-inventory-script/m-p/437156#M9215</guid>
      <dc:creator>LucD</dc:creator>
      <dc:date>2013-04-27T10:12:30Z</dc:date>
    </item>
    <item>
      <title>Re: How to extend/optimize this multi vc datastore inventory script</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/How-to-extend-optimize-this-multi-vc-datastore-inventory-script/m-p/437157#M9216</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Aha, indeed, it works now.:smileyblush:&lt;/P&gt;&lt;P&gt;There is one downside. The&amp;nbsp; execution time now takes 10 times longer. &lt;img id="smileysad" class="emoticon emoticon-smileysad" src="https://communities.vmware.com/i/smilies/16x16_smiley-sad.png" alt="Smiley Sad" title="Smiley Sad" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; $row.VMs=[int]$($_.vm.count)&lt;BR /&gt; &lt;SPAN style="color: #ff0000;"&gt;$row.VMsHosted= [string]::Join("|",(Get-View $_.VM| %{$_.Name}))&lt;/SPAN&gt;&lt;BR /&gt; &lt;/P&gt;&lt;P&gt;$row.Hosts=[int]$($_.host.count)&lt;BR /&gt;&lt;SPAN style="color: #ff0000;"&gt; $row.HostsConnected= [string]::Join("|",(Get-View ($_.Host | Select -ExpandProperty Key) | %{$_.Name.Split('.')[0]})) &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;It seems that these (red) lines retrieve all properties of VM resp. VMHost and than pass only the names back which slows down the total execution time of script. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;thanks in advance!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;&lt;CODE class="powershell plain"&gt;&lt;/CODE&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 27 Apr 2013 11:17:36 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/How-to-extend-optimize-this-multi-vc-datastore-inventory-script/m-p/437157#M9216</guid>
      <dc:creator>A_S</dc:creator>
      <dc:date>2013-04-27T11:17:36Z</dc:date>
    </item>
    <item>
      <title>Re: How to extend/optimize this multi vc datastore inventory script</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/How-to-extend-optimize-this-multi-vc-datastore-inventory-script/m-p/437158#M9217</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;See if this makes a difference in execution time&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;$row.VMs=[int]$($_.vm.count)&lt;BR /&gt; $row.VMsHosted= [string]::Join("|",(Get-View $_.VM &lt;SPAN style="color: #ff0000;"&gt;-Property Name&lt;/SPAN&gt;| %{$_.Name}))&lt;/P&gt;&lt;P&gt;$row.Hosts=[int]$($_.host.count)&lt;BR /&gt; $row.HostsConnected= [string]::Join("|",(Get-View ($_.Host | Select -ExpandProperty Key) &lt;SPAN style="color: #ff0000;"&gt; -Property Name&lt;/SPAN&gt; | %{$_.Name.Split('.')[0]}))&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 27 Apr 2013 13:23:21 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/How-to-extend-optimize-this-multi-vc-datastore-inventory-script/m-p/437158#M9217</guid>
      <dc:creator>LucD</dc:creator>
      <dc:date>2013-04-27T13:23:21Z</dc:date>
    </item>
    <item>
      <title>Re: How to extend/optimize this multi vc datastore inventory script</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/How-to-extend-optimize-this-multi-vc-datastore-inventory-script/m-p/437159#M9218</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It works (it's faster). I didn't expect that these 2 extra traversals would be so expensive.&lt;/P&gt;&lt;P&gt;Thank you for helping the community!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 27 Apr 2013 14:36:09 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/How-to-extend-optimize-this-multi-vc-datastore-inventory-script/m-p/437159#M9218</guid>
      <dc:creator>A_S</dc:creator>
      <dc:date>2013-04-27T14:36:09Z</dc:date>
    </item>
    <item>
      <title>Re: How to extend/optimize this multi vc datastore inventory script</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/How-to-extend-optimize-this-multi-vc-datastore-inventory-script/m-p/437160#M9219</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;For the LUN UUID you might try the following.&lt;/P&gt;&lt;P&gt;For each VMHost, compile a lookup table containing the datastorename and the datastore's UUID (VMFS only)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN style="color: #800080;"&gt;...&lt;BR /&gt;$VMHost&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #FF0000;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #800080;"&gt;$cluster&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0000FF;"&gt;|&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #5F9EA0;"&gt;Get-VMHost&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0000FF;"&gt;|&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0000FF;"&gt;select&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #5F9EA0;"&gt;-First&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;1&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;# Create DS-UUID lookup table
&lt;/SPAN&gt;&lt;SPAN style="color: #800080;"&gt;$lunUUIDTab&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #FF0000;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;@&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;{}
&lt;/SPAN&gt;&lt;SPAN style="color: #800080;"&gt;$storSys&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #FF0000;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #5F9EA0;"&gt;Get-View&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #800080;"&gt;$esx&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #8B4513;"&gt;ExtensionData&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #8B4513;"&gt;ConfigManager&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #8B4513;"&gt;StorageSystem&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #800080;"&gt;&lt;BR /&gt;$storSys&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #8B4513;"&gt;FileSystemVolumeInfo&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #8B4513;"&gt;MountInfo&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0000FF;"&gt;|&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0000FF;"&gt;where&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; {&lt;/SPAN&gt;&lt;SPAN style="color: #000080;"&gt;$_&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #8B4513;"&gt;Volume&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #8B4513;"&gt;Type&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #FF0000;"&gt;-eq&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #800000;"&gt;"VMFS"&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;} &lt;/SPAN&gt;&lt;SPAN style="color: #0000FF;"&gt;|&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #FF0000;"&gt;%&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;{
&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #800080;"&gt;$lunUUIDTab&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #8B4513;"&gt;Add&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #000080;"&gt;$_&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #8B4513;"&gt;Volume&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #8B4513;"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="color: #000080;"&gt;$_&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #8B4513;"&gt;Volume&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #8B4513;"&gt;Uuid&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)
}
&lt;BR /&gt;Later in the script fetch the UUID like this&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;# Fetch the UUID
&lt;/SPAN&gt;&lt;SPAN style="color: #800080;"&gt;$row&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #8B4513;"&gt;LUNUUID&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #FF0000;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #800080;"&gt;$lunUUIDTab&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;[&lt;/SPAN&gt;&lt;SPAN style="color: #000080;"&gt;$_&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #0000FF;"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;]&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 28 Apr 2013 09:34:00 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/How-to-extend-optimize-this-multi-vc-datastore-inventory-script/m-p/437160#M9219</guid>
      <dc:creator>LucD</dc:creator>
      <dc:date>2013-04-28T09:34:00Z</dc:date>
    </item>
    <item>
      <title>Re: How to extend/optimize this multi vc datastore inventory script</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/How-to-extend-optimize-this-multi-vc-datastore-inventory-script/m-p/437161#M9220</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It's working!:smileycool:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But it seems that my inventory script (or my approach to get this data) has to be redesigned. I need somehow faster inventory results (nightly scheduled) from customers infra (&amp;gt; 10 VCs, &amp;gt;2 DCs, &amp;gt;100 CLSs, &amp;gt; 600 hosts, &amp;gt; 1000 datastores, &amp;gt;10.000 VMs) and dump them into SQL DB.&lt;/P&gt;&lt;P&gt;The downside: If one of VCs is having problems then the script stops responding.&lt;/P&gt;&lt;P&gt;&lt;CODE&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE&gt;Every time i contruct something i take the following into consideration&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE&gt;Method 1: &lt;STRONG&gt;Loop through an array of Virtual Centers, one at a time&lt;/STRONG&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE&gt;$VCs= @(“vc_server1”,“vc_server2”)&lt;BR /&gt;Foreach ($VC in &lt;CODE&gt;$VCs&lt;/CODE&gt;) { `&lt;BR /&gt;Connect-viserver $VC&lt;BR /&gt;.script...&lt;BR /&gt;Disconnect-VIServer $VC –confirm:$false&lt;BR /&gt;}&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Method 2: &lt;STRONG&gt;Connect to an array of Virtual Centers, all at the same time (trying to achieve with script)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;# Set PowerCLI to MultipleMode&lt;BR /&gt;Set-PowerCLIConfiguration -DefaultVIServerMode Multiple -Confirm:$false&lt;BR /&gt;connect-VIServer -Server “vc_server1”,“vc_server2”&lt;BR /&gt;.script...&lt;BR /&gt;Disconnect-VIServer * –confirm:$false&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Its seems that i have to go for the third method (because both previous approaches take about 5 hours to get the needed info). Method 2 affects all get-view commands.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Method 3: &lt;STRONG&gt;Trigger every VC at certain scheduled time, let the Powercli script run locally against 'own' VC and dump the results to central SQL DB&lt;/STRONG&gt;.&amp;nbsp; i tested and within 1-1,5 hour the results are retrieved. But it's not 'agentless' data collection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I didn't test it with (4th method) powershell multithreaded option (Add-job). Would that be an alternative for 'agentless data collection' approach?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Anyhow i will (try to) combine this script with additional stuff from your article: &lt;A href="http://www.lucd.info/2011/11/14/storage-views-datastores/"&gt;http://www.lucd.info/2011/11/14/storage-views-datastores/&lt;/A&gt;&lt;/P&gt;&lt;P&gt;in order to get additional info per datastore: &lt;SPAN style="font-size: 10pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;[Size_Snapshot]&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp; &lt;SPAN style="color: #808080; font-size: 10pt; "&gt;,&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;[Size_vDisk]&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp; &lt;SPAN style="color: #808080; font-size: 10pt; "&gt;,&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;[Size_Swap]&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt; &lt;SPAN style="color: #808080; font-size: 10pt; "&gt;,&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;[Size_Other]&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt; &lt;SPAN style="color: #808080; font-size: 10pt; "&gt;,&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;[Size_Shared]&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt; &lt;SPAN style="color: #808080; font-size: 10pt; "&gt;,&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;[Multipathing]&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt; &lt;SPAN style="color: #808080; font-size: 10pt; "&gt;,&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;[ConnectivityStatus]. That would make the output complete for different internal usage purposes. &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;The Storage CapMan want's to have it very fast. For me a huge challenge to combine it without degrading in execution time.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for your help! You're my (and my friend's) Hero!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt; &lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 28 Apr 2013 12:11:23 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/How-to-extend-optimize-this-multi-vc-datastore-inventory-script/m-p/437161#M9220</guid>
      <dc:creator>A_S</dc:creator>
      <dc:date>2013-04-28T12:11:23Z</dc:date>
    </item>
    <item>
      <title>Re: How to extend/optimize this multi vc datastore inventory script</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/How-to-extend-optimize-this-multi-vc-datastore-inventory-script/m-p/437162#M9221</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;In &lt;STRONG&gt;method 1&lt;/STRONG&gt; you can avoid that the script stops when the VC is in trouble by adding the -ErrorAction SilentlyContinue parameter on the Connect-VIServer.&lt;/P&gt;&lt;P&gt;You will have to test yourself if the connected worked or not, and depending on the result retrieve the data or not.&lt;/P&gt;&lt;P&gt;Something like this&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN style="color: #800080;"&gt;$vcName&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #FF0000;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #800000;"&gt;"MyVC"&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #800080;"&gt;&lt;BR /&gt;&lt;BR /&gt;$vc&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #FF0000;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #5F9EA0;"&gt;Connect-VIServer&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #5F9EA0;"&gt;-Server&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #800080;"&gt;$vcName&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #5F9EA0;"&gt;-ErrorAction&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0000FF;"&gt;SilentlyContinue&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #0000FF;"&gt;if&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #800080;"&gt;$vc&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: #8B4513;"&gt;IsConnected&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;){
&lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;# Collect the date
&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;}
&lt;/SPAN&gt;&lt;SPAN style="color: #0000FF;"&gt;else&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;{
&lt;/SPAN&gt;&lt;SPAN style="color: #008000;"&gt;# Connection to VC failed, display error message
&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #5F9EA0;"&gt;Write-Error&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #800000;"&gt;"Connection to $($vcName) failed !"&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;&lt;BR /&gt;}&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Method 2&lt;/STRONG&gt; can indeed take a considerable time in a larger environment.&lt;/P&gt;&lt;P&gt;Here you can optimise the speed by using the Get-View cmdlet and by using the Property parameter.&lt;/P&gt;&lt;P&gt;Like this&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN style="color: #5F9EA0;"&gt;Get-View&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #5F9EA0;"&gt;-ViewType&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0000FF;"&gt;HostSystem&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #5F9EA0;"&gt;-Property&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #800000;"&gt;"Name"&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="color: #800000;"&gt;"VM"&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and limit the properties to only the ones you need in the script.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Method 4&lt;/STRONG&gt; would my personal choice, you run/schedule the inventory script from a single station and you use a PowerShell feature to "multi-thread".&lt;/P&gt;&lt;P&gt;But be aware that the Start-Job in combination with a PowerCLI script needs some specific coding in your script.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 28 Apr 2013 14:45:10 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/How-to-extend-optimize-this-multi-vc-datastore-inventory-script/m-p/437162#M9221</guid>
      <dc:creator>LucD</dc:creator>
      <dc:date>2013-04-28T14:45:10Z</dc:date>
    </item>
    <item>
      <title>Re: How to extend/optimize this multi vc datastore inventory script</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/How-to-extend-optimize-this-multi-vc-datastore-inventory-script/m-p/437163#M9222</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello LucD,&lt;/P&gt;&lt;P&gt;Hope you are doing good,&lt;/P&gt;&lt;P&gt;Its a very nice script, thanks to A S for making this great script.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can we make this in reverse direction, I mean based on VM in VC and their respective information like, Host, Datastore ,Cluster and rest properties which are there in script.&lt;/P&gt;&lt;P&gt;I am looking for multiple VCs, is it possible to pull such data from multiple VCs?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Oct 2014 10:22:30 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/How-to-extend-optimize-this-multi-vc-datastore-inventory-script/m-p/437163#M9222</guid>
      <dc:creator>AmolPatil</dc:creator>
      <dc:date>2014-10-01T10:22:30Z</dc:date>
    </item>
    <item>
      <title>Re: How to extend/optimize this multi vc datastore inventory script</title>
      <link>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/How-to-extend-optimize-this-multi-vc-datastore-inventory-script/m-p/437164#M9223</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello A S &amp;amp; LucD,&lt;/P&gt;&lt;P&gt;With help of your script I modified and build a new where it gives output based on VM and their respective information.&lt;/P&gt;&lt;P&gt;Please have a look and give your feedback if any thing needs to change.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Amol Patil&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Oct 2014 04:47:14 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/How-to-extend-optimize-this-multi-vc-datastore-inventory-script/m-p/437164#M9223</guid>
      <dc:creator>AmolPatil</dc:creator>
      <dc:date>2014-10-08T04:47:14Z</dc:date>
    </item>
  </channel>
</rss>

