PowerShell Studio をインストールしたばかりで、いくつかの VMware コマンドの結果をリッチテキスト ボックスに表示しようとしています。
たとえば、を実行するget-vm
と、データが正常に表示され (フォントを Lucida Console に変更しましたが、問題ないように見えます)、get-vm
リッチテキスト ボックスに通常の結果が表示されます。
Name : xxx
Cluster : xxx
ESX Host : esx6
Datastore : xxx
MemoryGB : 8
NumCpu : 2
ProvisionedSpace(GB) : 282
UsedSpace(GB) : 281
OS : Microsoft Windows Server 2008 R2 (64-bit)
しかし(get-vm).Guest.Disks
、リッチテキストボックスにうまく表示されないデータを実行しようとすると、次のようになります。
Capacity:192515403776,
FreeSpace:43895230464,
Path:E:\
Capacity:75053920256,
FreeSpace:12630409216,
Path:C:\
通常の PowerShell コンソールで実行すると、次のようになります。
Volume Capacity(GB) FreeSpace(GB) % FreeSpace
------ ------------ ------------- -----------
E:\ 120 13 11
C:\ 120 15 12
PowerShell のコマンド ラインは次のとおりです。
((Get-VM $vm).Guest.disks) | Format-Table @{N="Volume";E={$_.Path}},
@{N="Capacity(GB)";E={[System.Math]::Round($_.CapacityGB)};a="left"},
@{N="FreeSpace(GB)";E={[System.Math]::Round($_.FreeSpaceGB)};a="left"},
@{N="% FreeSpace";E={[math]::Round((100 * ($_.FreeSpacegb / $_.Capacitygb)),0)};a="left"} -auto |
Out-String
リッチテキスト ボックスのコマンド ラインは次のとおりです。
$richtextbox1.AppendText((Get-VM $text).Guest.disks) |
Format-Table @{N="Volume";E={$_.Path}},
@{N="Capacity(GB)";E={[System.Math]::Round($_.CapacityGB)};a="left"},
@{N="FreeSpace(GB)";E={[System.Math]::Round($_.FreeSpaceGB)};a="left"},
@{N="% FreeSpace";E={[math]::Round((100 * ($_.FreeSpacegb / $_.Capacitygb)),0)};a="left"} -auto |
Out-String
Richtextbox やその他のコントロールを使用して PowerShell コンソールに表示されるような結果を得るにはどうすればよいですか?