2016-09-28 118 views
0

我試圖找到一種方法來獲取數據存儲在集羣中可用的列表。 到目前爲止,我能走到今天:PowerCLI - 在數據存儲中查找數據存儲

$1 = get-view -viewtype ClusterComputeResource 
$1 | select name,datastore 

,將列出clasters和數據存儲,但名稱不匹配那些在vCenter Server中。 我可以看到這兩個名字,但沒有卡斯特信息運行這個時:

Get-Datastore | select id,name 

我如何獲得這些信息一起,所以我有集羣名稱(名稱 - 從第一個命令),數據存儲名稱(姓名 - 從第二命令)。

回答

0

右鍵我花了一段時間,但我發現,與使用加入-對象機能的研究從這裏做這件事的方式: https://blogs.msdn.microsoft.com/powershell/2012/07/13/join-object/

$cluster = get-cluster | select name | % {$counter = -1} {$counter++; $_ | Add-Member -Name Cluster_ID -Value $counter -MemberType NoteProperty -PassThru} 
$cluster | ft -auto 
$clusterid = read-host "select cluster" 
$VMCLUSTER = $cluster[$clusterid] 

# Select Datastore 
$1 = get-view -viewtype ClusterComputeResource | where name -like $vmcluster.name | select name,datastore 
$table1 = @() 
foreach ($datastore in $1.Datastore) { 
$table = " " | select datastore_ID,Cluster_Name 
$table.datastore_ID = $datastore 
$table.Cluster_name = $1.Name 
$table1 += $table 
} 

$datastores = Join-Object -Left $table1 -Right (Get-datastore | select id,name,FreeSpaceGB,CapacityGB) -Where { $args[0].datastore_ID -eq $args[1].id} -LeftProperties 'Cluster_Name' -RightProperties * -Type AllInLeft 
$datastores | % {$counter = -1} {$counter++; $_ | Add-Member -Name Datastore_ID -Value $counter -MemberType NoteProperty -PassThru} | select Datastore_ID,Cluster_Name,Name,FreeSpaceGB,CapacityGB | Sort-Object FreeSpaceGB -Descending | ft -AutoSize 
$datastoreid = read-host "Select Datastore (enter Datastore_ID)" 
$selected_datastore = $datastores[$datastoreid] 
0

這似乎做

(get-cluster).extensiondata | fl name,datastore 

編輯得到名稱,而不是ID

$clusters = get-cluster 
Foreach ($cluster in $clusters) 
{ 
    $cluster | get-datastore | % { 
    [pscustomobject] @{ 
    'cluster' = $cluster.name 
    'datastore' = $_.name 
    } 
    } 
} 
+0

NOP,這不是它 - 它給我的輸出相同我發佈的前兩行 – Paul

+0

添加了一個名稱而不是id的編輯...沒有看到任何更清晰的方式來做到這一點。希望你在PowerShell 3.0或更新版本中使用pscustomobject –

0
$datastore = Get-Datastore 
$datastore.extensionData 

這會給你的店鋪更detaile列表。這個很難。我想我可能需要通過API來完成。

+0

nop,那不是它 - 它給了我與我發佈的前兩行相同的輸出 – Paul